Como posso marcar todos os pacotes com dependentes instalados como "Instalados automaticamente"?

Como posso marcar todos os pacotes com dependentes instalados como "Instalados automaticamente"?

Existem algumas questões semelhantes, mas aqui está precisamente o que eu gostaria de alcançar e os pontos que estou tendo problemas para conectar:

  1. Consulte uma lista de pacotes "instalados manualmente" ( apt-mark showmanualfunciona)
  2. Verifique cada pacote parainstaladodependentes
  3. Marque cada pacote como "Instalado automaticamente" ( apt-mark auto <pkg ...>funciona)

Então acho que meu comando será algo como:

apt-mark showmanual | <esoteric apt/bash magic> | apt-mark auto -

Isso estaria correto?

Perguntas relacionadas

  1. Como descubro quais pacotes podem ser definidos como instalados automaticamente?
  2. Por que quase todos os pacotes são marcados como instalados manualmente?(Veja tambémhttps://bugs.launchpad.net/ubuntu/+source/livecd-rootfs/+bug/424643/comments/26)

Responder1

Você poderia usarwhyComando de aptidão:

for x in $(apt-mark showmanual)
do
  r="$(echo ${x} | sed -e 's/\([+.]\)/[\1]/g')"
  aptitude why ${x} | egrep -q "^i.* (Pre)?Depends +${r}( |$)" && apt-mark auto ${x}
done

Não testado, porque não é algo que eu queira (ter que des) fazer na minha máquina.

informação relacionada