Come rimuovere il flag "installato manualmente" e ripristinare "installato automaticamente" con apt-get?


103

Per compilare qualcosa, avevo bisogno del zlib1g-devpacchetto da installare, quindi ho lanciato un apt-get install zlib1g-dev.

apt-get mi ha informato bene che il pacchetto era già installato automaticamente a causa di un altro pacchetto e che capisce che lo voglio installato esplicitamente ora:

# apt-get install zlib1g-dev
zlib1g-dev is already the newest version.
zlib1g-dev set to manually installed.

Completata la compilazione, non mi serve più esplicitamente, quindi desidero ripristinare il suo stato precedente: autoinstallato. In questo modo verrà potata automaticamente quando non sarà più necessario con un semplice apt-get autoremove.

Non posso farlo apt-get remove zlib1g-devpoiché alcuni pacchetti dipendono ancora da esso.

Quindi, come posso ripristinare lo zlib1g-devstato di installazione del pacchetto in autoinstallato ?

So che potrei modificare /var/lib/apt/extended_statesa mano da

Package: zlib1g-dev
Auto-Installed: 0

per

Package: zlib1g-dev
Auto-Installed: 1

... ma non sembra giusto.

Risposte:


81

Aptitude può aiutarti quando installi inizialmente il pacchetto:

aptitude install "zlib1g-dev&M"

Oppure, dopo aver installato il pacchetto:

aptitude markauto "zlib1g"

Modifica: se non hai attitudine, puoi usare

apt-mark auto zlib1g-dev

4
Buona risposta, ma I + 1 è la risposta di @ ArvindSing utilizzando apt-markperché non richiede l'installazione aptitude. apt-markviene fornito con un aptpacchetto che tutti dovrebbero già avere.
Christopher Schultz,

106

apt-mark può aiutarti:

apt-mark auto zlib1g-dev

Per la versione 11.04 o precedente, utilizzare "markauto" anziché "auto"


8

Questo è quello che stai cercando.

sudo apt-get markauto first-package second-package etc-package

Fonte:

apt-get --help

12
Si noti che questo è deprecato ora a favore di apt-mark
Joril
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.