Você fez algumas perguntas diferentes aqui, espero poder pelo menos ajudar em uma ou duas.
Para listar todos os pacotes instalados, use dpkg
para produzir em uma lista separada por campos
dpkg -l
Para obter apenas a lista de pacotes, sem campos extras, você pode enviá-la para outro lugar.
dpkg -l | awk '{print $2 }' # Pipe to grep after the awk, or glob from dpkg
Por exemplo, se eu quiser remover um kernel antigo,
apt-get purge 'dpkg -l linux* | awk '{print $2}' | grep 3.0.0-12'
A maneira mais fácil de passar por todas as dependências desnecessárias é com debfoster
. Ele é executado de forma interativa e passa pelo que você quer, por suas dependências e pode remover ou listar o que não é uma dependência recursiva.
Para listar todas as dependências recursivas de um pacote específico,
debfoster -d $PACKAGE ## PACKAGE is the specific package.
Depois de executar debfoster
, você pode verificar qualquer dependência que um pacote tenha também
debfoster -e $PACKAGE ## PACKAGE is the specific package.
Uma ótima maneira de listar os pacotes "órfãos" é com deborphan
. Execute deborphan
sem opções e listará todos os pacotes "órfãos". Um 'órfão' é um pacote do qual nada depende e você não instalou explicitamente.
Eu também gosto de limpar qualquer pacote 'órfão', após uma nova instalação. Depois de ter removido pacotes específicos, você pode obter qualquer coisa perdida por apt-get autoremove --purge
com
apt-get purge 'deborphan'
Finalmente, às vezes você não usa --purge
e acaba com o pacote 'sobras', as versões mais recentes do apt-get
podem removê-las automaticamente. Para remover todas as "sobras" dos pacotes desinstalados,
apt-get autoclean
Se você não tiver a nova versão de apt-get
, poderá removê-los com esses comandos. Eles cometerão erros se nenhum arquivo de "sobras" existir, parece que o autoclean pode perder alguns ocasionalmente, independentemente disso.
dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs dpkg --purge