Removendo pacotes não-essenciais no Fedora

Publicado por Davidson Rodrigues Paulo em 13/09/2007

[ Hits: 7.951 ]

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

Como estudar melhor e aprender mais

Fazendo o rpm voltar a funcionar depois de remover o sqlite

Liberando NFS no firewall do Fedora

Compilando aBiblia Software para Linux Fedora 9 e Zenwalk 5.2

Liberando acessos ao ldconfig com SELinux enforced

Leitura recomendada

Usando VaAPI com a GMA500 no Ubuntu 9.10 em vídeos Full HD

Configurando alias em placa de rede

Configuração do xorg.conf para placas de vídeo VN800 (Notebook)

Mudando a cara do Ubuntu 9.04 Jaunty

Mudanças no DHCP3-Server no Debian 6

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário