Removendo pacotes não-essenciais no Fedora

Publicado por Davidson Rodrigues Paulo em 13/09/2007

[ Hits: 7.892 ]

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 desmontar um compartilhamento NFS travado

Usando vários mirrors no slackpkg

Desfazendo atualizações de software no Red Hat/Fedora/CentOS

Disquete no Linux sem precisar desmontar

Integrando o Yum ao Axel para downloads mais rápidos

Leitura recomendada

Resetando as configurações do mate-terminal

Facilitando a configuração do APT com autenticação em proxy

Trocando ícone do Gnome (pezinho) no Debian Lenny

squid - ERROR: "no running copy" [Resolvido]

Permissao 777 em compatilhamento do Samba

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts