Acabei de perceber que não tenho certeza de como realizar uma limpeza com o Apt, que também eliminará todas as dependências. Estou lendo aqui e ali e ainda não tenho certeza se tenho esses candidatos:
apt purge --auto-remove <packagename>
e (depois de limpar alguns pacotes primeiro):
apt autoremove --purge
Eles estão corretos? Equivalente? Existe uma maneira melhor?
Responder1
Ambos estão corretos, mas não são exatamente equivalentes.
apt purge --auto-remove <packagename>
purges packagename
e quaisquer pacotes que se tornem desnecessários por sua remoção, bem como quaisquer outros pacotes que não sejam necessários.
apt autoremove --purge
limpa todos os pacotes que não são necessários (marcados como “instalados automaticamente” e sem pacotes dependentes).
A primeira forma é a que você usaria ao manipular pacotes individuais; a última é uma operação de limpeza em todos os pacotes.
Você também pode ativar APT::Get::AutomaticRemove
em sua apt
configuração para apt
sempre remover automaticamente (ou usar aptitude
o que se comporta assim por padrão).
Responder2
Os comandos sugeridos pelo OP e oresposta existenteestão corretos, principalmente de acordo com a página de manual, mas acontece que apt
o comportamento de é um pouco mais flexível do que a documentação sugere.
Para tornar a linha de comando mais concisa ao remover um pacote e suas dependências instaladas automaticamente, vocêpodeforneça um nome de pacote ao comando autoremove, como em apt autoremove <pkg>
, e nesse caso ele se comporta como apt remove --autoremove <pkg>
. Assim, apt autoremove --purge <pkg>
e apt purge --autoremove <pkg>
ambos produzem o mesmo resultado.
Indo além, apt autopurge <pkg>
comporta-se da mesma maneira que a forma canônica apt remove --purge --autoremove <pkg>
e parece ser a maneira mais concisa de obter a purga recursiva.
Documentar ou não esse comportamento aparentementetem sido controversoentre os desenvolvedores.