Removendo pacotes não-essenciais no Fedora

Publicado por Davidson Rodrigues Paulo em 13/09/2007

[ Hits: 9.250 ]

Blog: http://davidsonpaulo.com/

 


Removendo pacotes não-essenciais no Fedora



Há alguns meses atrás, logo que comecei a fazer os testes de virtualização com o Xen, houve a necessidade de conseguir um sistema Fedora o mais enxuto possível, com o mínimo de pacotes instalados.

Após queimar a devida quantidade de fosfato, fiz um script que remove todos os pacotes não-essenciais do sistema, deixando apenas a base e aqueles que você quiser.

Segue o script:

#!/bin/bash

LOOP=1

while [ $LOOP -eq 1 ] ; do
  LOOP=0
  List=`rpm -qa | rev | cut -d'-' -f3- | rev`
  List=`echo "$List" | grep -v '^rpm$'`

  if [ -n "$*" ] ; then
    for Arg in $* ; do
      List=`echo "$List" | egrep -v "^${Arg}$"`
    done
  fi

  while read PKG ; do
    rpm -e $PKG 2> /dev/null &&
    LOOP=1 &&
    echo "Pacote $PKG removido"
  done < <(echo "$List")
done

Salve o script em /root/remove e dê permissão de execução:

# chmod u+x /root/remove

Sua sintaxe é:

# /root/remove [pacote1] [pacote2] ... [pacoteN]

Onde pacote1, pacote2 etc são os pacotes que você quer que sejam preservados no sistema além dos que formam a base. Assim, para remover todos os pacotes não-essenciais do sistema exceto yum, kernel e vim-minimal, execute:

# /root/remove yum kernel vim-minimal

Basicamente, o script funciona assim:
  • A variável List recebe todos os pacotes instalados no sistema, exceto o rpm e aqueles especificados na linha de comando;
  • O comando rpm -e é executado para cada pacote da lista. Se um pacote não for necessário por nenhum outro, ele é removido com sucesso e todo o processo é executado novamente;
  • Quando nenhum dos pacotes da lista puder ser removido, o processo chega ao fim.

Depois, se algum pacote estiver faltando, você poderá instalar usando rpm ou yum.

Esse procedimento funciona para qualquer distribuição Linux que utilize o rpm, incluindo Red Hat, CentOS, Mandriva e SUSE.
Outras dicas deste autor

Resolvendo problemas de dependências das bibliotecas do X

Como estudar melhor e aprender mais

Removendo vários pacotes no Slackware de forma rápida

Baixando todos os arquivos de uma URL com o wget

Coaching Gratuito em Linux

Leitura recomendada

Java JRE 7 - Instalação no GNU/Linux

Como configurar o terceiro botão do mouse serial no Slackware

Habilitando touchpad no LMDE

Atualização do SuSE sem internet em Notebooks DELL Latitude 100L

Possível correção para não funcionamento de Touchpad/Teclado no Linux Lite em laptops antigos

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts