Removendo pacotes não-essenciais no Fedora

Publicado por Davidson Rodrigues Paulo em 13/09/2007

[ Hits: 8.638 ]

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

Criando backup tar multi-volume usando FIFO

Traduzido o guia PHP-Nuke for Idiots

urlmenor.com: acabe com as URL's quilométricas

Como estudar melhor e aprender mais

Livro Squid, solução definitiva

Leitura recomendada

Proxy transparente fácil com BrazilFW

Rodando jogos do Windows no Linux

DNS permantente no Ubuntu

Aumentando a resolução de vídeo no Lubuntu rodando no VirtualBox

Compartilhando link de internet no Debian

  

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