Respostas:
Parece que meus poderes no Google estavam enfraquecidos: esse é um bug conhecido (concentre-se nos comentários de Colin Watson) e está por aí por algum tempo, sem nenhuma correção à vista:
Citando Colin Watson :
[...] Deixar todos os pacotes como instalados manualmente é desagradável, mas as conseqüências desse bug geralmente são limitadas a não conseguir ser inteligente o suficiente para remover pacotes que não são mais necessários. Uma falha na direção inversa seria muito pior, porque poderia fazer com que os pacotes fossem removidos quando ainda são necessários. Dado que não parece haver uma correção claramente correta disponível, é melhor ir ao ar com cautela. [...]
Ok, agora esta é a primeira coisa que faço logo após a instalação. Marquei (quase) todos os pacotes como instalados automaticamente e eles permanecem como dependências de ubuntu-desktop
:
apt-mark showmanual | xargs sudo apt-mark auto
sudo apt-mark unmarkauto ubuntu-desktop
Idealmente, isso seria suficiente. Mas, segundo Colin Watson , o mundo não é tão perfeito e precisamos de mais polimento. Iterar:
apt-get autoremove --simulate
# ...
# output of what's to be autoremoved
sudo apt-mark unmarkauto <package>
onde <package>
para mim acaba por, pelo menos, cada um ubuntu-standard
, ubuntu-minimal
, ubuntu-restricted-addons
. Também alguns pacotes de idiomas.
Também vale a pena notar aptitude
que, com sua TUI, pode ajudar no processo.
Feito isso, os relatórios do gerenciador de pacotes do meu sistema parecem muito mais agradáveis e compreensíveis:
$ apt-mark showmanual
aptitude
dkms
git
subversion
ubuntu-desktop
ubuntu-minimal
ubuntu-restricted-addons
ubuntu-standard
vim
zsh
Voila!
apt-get install
que fiz. Gerenciamento de dependência bastante limpo, eu diria.
autoremove --simulate
seguida por unmarkauto
de pacotes de guarda-chuva escolhidos a dedo? Essa é a chave. Você não deve remover e instalar de volta os pacotes. Todas as alterações feitas no sistema consistem em marcar os pacotes como instalados manualmente ou automaticamente - como uma dependência (geralmente indireta) de algum outro pacote instalado manualmente.