Como desinstalar completamente um pacote (incluindo todos os arquivos extras que o acompanham) usando o yum (ou rpm)?

18

Quando o faço yum remove, às vezes mantém os arquivos de configuração de um pacote.

Existe alguma maneira de remover um pacote completamente, sem manter nenhum arquivo que pertencia ao pacote?

Estou executando o CentOS.

Howard
fonte
Você pode fornecer um exemplo de arquivos de configuração deixados após a remoção do yum?
Zaster
1
~ / .mozilla deixado pelo firefox, por exemplo
Howard
2
~ / .mozilla é criado apenas quando você executa o programa firefox. Não é criado pelo pacote firefox. Execute o comando rpm -qf ~/.mozillae ele relatará que esse arquivo não faz parte de nenhum pacote.
ZaSter
@ZaSter: Quando removi o pacote quagga, ele mantinha todos os seus arquivos de configuração em / etc / quagga (arquivos como zebra.conf, ospfd.conf, bgpd.conf) que deveriam ter sido removidos junto com o próprio pacote. Se for por design mantê-los, forneça um comando que também removerá os arquivos de configuração.
TusharG
@TusharG Isso está correto. Para pacotes RPM que contêm arquivos de configuração declarados, yum removenão os remove.
ZaSter

Respostas:

14

Verifique a Deleting packages with yumseção em COMO

Diz lá:

De qualquer forma, a sintaxe do comando para remoção de pacotes é:

   # yum remove package1 [package2 package3...]

Como observado acima, ele remove o pacote1 e todos os pacotes na árvore de dependências que dependem do pacote1, possivelmente irreversivelmente no que diz respeito aos dados de configuração.

Como uma maneira rápida, você pode tentar:

yum remove package
yum install package

Também aqui é um interessante for. E a pergunta pode ajudá-lo.

O que mantém as configurações em um backup é rpm -e

O que você pode fazer é descobrir o que está em um rpm usando:

 rpm -ql packagename

ou

rpm -qlp packagename if the package is not yet installed.

então, você pode fazer manualmente as modificações desejadas.

Espero que isto ajude!

AAlvz
fonte
2
Eu acho que é provavelmente impossível remover todos os arquivos que já vieram com um pacote ... mas ainda assim sua recomendação é útil.
827 Howard Howard
não funciona no RHEL7. /etc/sysconfig/<package>arquivo ainda está lá.
22418 erikbwork
1
rpm -e xxx.rpm && rpm -ivh --replacefiles xxx.rpm

Isso, na verdade, substitui as configurações antigas mantidas após "apagar". Deve ser uma maneira de fazer isso com yum e dnf

Neil
fonte