Existem algumas rotinas, contos de antigas esposas, para encontrar e depois limpar pacotes desnecessários, além do já sugerido debnoster.
(primeiro) mas, por que esse pacote está instalado?
Uma ferramenta que você desejará usar enquanto estiver limpando pacotes é aptitude why pkg-name
da página de manual do aptitude:
$ aptitude why kdepim
i nautilus-data Recommends nautilus
i A nautilus Recommends desktop-base (>= 0.2)
i A desktop-base Suggests gnome | kde | xfce4 | wmaker
p kde Depends kdepim (>= 4:3.4.3)
Isso só imprime a mais strong cadeia de dependências, mas responderá a muitas perguntas rapidamente. Há também why-not
, que não é tão relevante para remover pacotes.
pacote removido, arquivos de configuração restantes
Você pode encontrar pacotes que não são mais usados por você, mas que ainda possuem arquivos de configuração e outros semelhantes. Para fazer isso, abra um terminal e digite
dpkg-query -l '*' | grep ^rc | awk '{print $2}' |xargs > my_ apt_rc_removeList.lst
A lista gerada é de todos os arquivos no estado 'rc' - removidos, mas os arquivos de configuração restantes. Esses arquivos que você removeu agora serão removidos, mas primeiro examine os arquivos listados no arquivo my_apt_rc_removeList.lst, para verificar se deseja que tudo isso seja removido. Agora digite
aptitude purge 'cat apt_rc_removeList.lst'
e toda essa sujeira será removida.
gtkorphan
Outro aplicativo que você pode usar para encontrar pacotes restantes é Gtkorphan. Da descrição do gtkorphan no sistema apt:
GtkOrphan is a graphical tool which scans your Debian system, looking for orphaned libraries. It implements a GUI front-end to deborphan, but adds the package removal capability. A detailed documentation on the program can be found at: http://www.marzocca.net/linux/gtkorphan.html.
Você pode usar isso para ajudar a limpar os pacotes em outras seções (além de 'libs') também.
marca pacotes desinteressantes como dependências: remova o mais cedo possível
No aptitude, em uma subcategoria de seus "Pacotes Instalados", digite l
(a letra 'el') e, em seguida, na caixa exibida, insira ?not(?automatic)
. Isso mostrará apenas pacotes que não são dependências de outros pacotes. Agora, role sobre cada um deles, e em um pacote que não lhe interessa diretamente, pressione a tecla M
. Isso não removerá nenhum pacote, mas marcará cada pacote como "somente aqui porque, e enquanto, algo depende dele"
Agora, percorra as seções uma por uma. A maioria dos pacotes 'somente como dependências' estará na seção libs.
marque todos os pacotes correspondentes a 'padrão' como 'automático': remova o mais rápido possível
Todos os pacotes '-dev' podem ser marcados para remoção-se-não-exigida por
aptitude markauto ~i~n"\-dev$"
limpe toda a categoria
Uma categoria inteira ("CATEGORY_NAME") pode ser eliminada com
aptitude purge '~sCATEGORY_NAME ! ~exceptThisApp