Você fez algumas perguntas diferentes aqui, espero poder pelo menos ajudar em uma ou duas.
Para listar todos os pacotes instalados, use dpkg
para saída em uma lista separada por campos
dpkg -l
Para obter apenas a lista de pacotes, sem campos extras, você pode canalizá-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 roda interativamente e passa pelo que você deseja, 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.
Após a execução, debfoster
você pode verificar quaisquer dependentes que um pacote também tenha,
debfoster -e $PACKAGE ## PACKAGE is the specific package.
Uma ótima maneira de listar 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.
Também gosto de limpar todos os pacotes 'órfãos', após uma nova instalação. Depois de remover pacotes específicos, você pode perder tudo apt-get autoremove --purge
com,
apt-get purge `deborphan`
Finalmente, às vezes você não o faz --purge
e acaba com as sobras do pacote, as versões mais recentes do apt-get
podem removê-las automaticamente. Para remover todas as sobras dos pacotes desinstalados, execute:
apt-get autoclean
Se você não possui a nova versão apt-get
, sempre pode removê-los com esses comandos. Eles cometem erros se não houver arquivos "restantes", parece que a limpeza automática pode perder alguns ocasionalmente, independentemente.
dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs dpkg --purge
apt-get --dry-run remove
parece basicamente correta. Pode perder alguns pacotes instalados automaticamente, necessários apenas para pacotes instalados automaticamente, necessários apenas pelo pacote que você remove. É por isso que você não considera uma resposta adequada?