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.
Nenhum comentário foi encontrado.