Como remover as dependências de um pacote desinstalado?
48
Eu quero instalar um pacote (DigiKam), mas ele tem muitas dependências. Se eu decidir que não preciso mais deste software e desinstalá-lo, as dependências agora desnecessárias serão removidas?
Caso contrário, como posso fazer isso manualmente?
Você pode usar o comando apt-get autoremove. Ele removerá os pacotes instalados como dependências automáticas, mas que não são mais dependentes.
apt-getpossui um sinalizador --auto-removeque pode ser usado para remover automaticamente os pacotes instalados automaticamente ao remover um pacote instalado manualmente:
apt-get remove --auto-remove packagename
Certas outras ferramentas também são capazes de fazer isso, por exemplo aptitude, sugerem automaticamente que você remova os pacotes que ficaram órfãos.
O rastreamento de pacotes instalado automaticamente é incorporado ao apt, para que o rastreamento funcione independentemente da ferramenta usada para instalar os pacotes.
Então, a resposta seria que NÃO é feito automaticamente na remoção do pacote "pai", certo?
jfoucher
Depende do método usado para remover o pacote pai. Por exemplo, o aptitude sugere que esses pacotes sejam removidos quando você desinstala o pacote pai. Mas nem todas as ferramentas fazem isso.
Ressu
Você pode remover um pacote e todas as suas dependências agora não mais necessárias em uma etapa sudo apt-get remove --auto-remove package.
Marius Gedminas
a diferença entre autoremove e --auto-remove não é clara. Posso combiná-los?
johny why
@johnywhy o sinalizador deve ser um parâmetro para o comando remove, enquanto o comando de remoção automática é autônomo. Duvido que você possa combiná-los, mas não posso verificar para ter certeza no momento.
deborphanlista pacotes que não são usados ou não dependem. Então você pode desinstalá-los com segurança. Eu costumo usar purgecomo opção aptitudeporque remove também arquivos de configuração e outras coisas.
Ao usar o deborphan, muitas vezes é necessário executá-lo algumas vezes seguidas, ou pelo menos na minha experiência com ele. Parecia continuar a encontrar coisas novas.
Mfisch 30/07/10
Sim, está certo. Alguém escreveu uma melhoria para o deborphan. Mas isso nunca chegou ao Debian. O algoritmo foi melhor e você teve que executar apenas uma vez. Talvez eu pergunte ao autor se ele deseja adicioná-lo novamente aos repositórios Debian / Ubuntu.
QBI
Talvez eu não possa usá-lo, mas o deborphan geralmente deseja remover muitos aplicativos que eu realmente uso, além de alguns pacotes importantes do sistema.
Rafał Cieślak
1
aptitude purge <pkgname>é muito útil para eliminar completamente os pacotes que tiveram uma desinstalação com falha / parcialmente bem-sucedida. O status deles pode ser listado dpkg -L <pkgname>como, deinstallmas o uso aptitudeos removerá completamente do banco de dados do aptitude, e os arquivos remanescentes não removidos pela instalação com falha também pareciam ser removidos.
KomodoDave 12/03
5
O Zelador do computador, no menu do sistema, também pode fazer isso.
sudo apt-get remove --auto-remove package
.deborphan
lista pacotes que não são usados ou não dependem. Então você pode desinstalá-los com segurança. Eu costumo usarpurge
como opçãoaptitude
porque remove também arquivos de configuração e outras coisas.fonte
aptitude purge <pkgname>
é muito útil para eliminar completamente os pacotes que tiveram uma desinstalação com falha / parcialmente bem-sucedida. O status deles pode ser listadodpkg -L <pkgname>
como,deinstall
mas o usoaptitude
os removerá completamente do banco de dados do aptitude, e os arquivos remanescentes não removidos pela instalação com falha também pareciam ser removidos.O Zelador do computador, no menu do sistema, também pode fazer isso.
fonte
Eu uso o ubuntu tweak , ele tem um utilitário de limpeza de aplicativos muito eficiente que nunca removeu mais do que deveria.
fonte
Apenas execute isso.
Instale o BleachBit no Centro de Software. Quando você limpa o sistema, o BleachBit executa automaticamente esse comando para limpar o cache do apt.
fonte
Eu tive o mesmo problema. Aqui está o que eu fiz:
Este comando fornecerá o nome das dependências. Por exemplo, meu sistema tinha
chromium-browser-l10n
.Em seguida, insira o seguinte comando
Ele removerá completamente as dependências do seu sistema
fonte