Dovrei usare "apt-get remove" o "apt-get purge"?


51

Per disinstallare un'app (o pacchetto) devo usare apt-get remove package-nameo apt-get purge package-name?

Qual è il vantaggio di uno di essi rispetto all'altro?

Risposte:


43

Se il pacchetto / software è stato personalizzato, modificando direttamente i file di configurazione o tramite una GUI, è possibile mantenere le personalizzazioni. Solitamente nei sistemi Unix / Linux, le configurazioni vengono salvate in file di testo, anche se la configurazione / personalizzazione viene eseguita tramite la GUI.

Ogni pacchetto deb binario Debian ha un elenco di file che identifica come file di configurazione. dpkge quindi aptonorare questa identificazione durante la rimozione dei pacchetti e anche sugli aggiornamenti. Per impostazione predefinita apt/dpkg, i file di configurazione non verranno rimossi durante la rimozione del pacchetto. Devi richiedere una purga. All'aggiornamento ti chiederà di scegliere tra la versione corrente e la nuova versione (se differiscono) prima di sovrascrivere i file di configurazione. Anche in quel caso, salva una copia del file originale. Qui Debian sta cercando di aiutarti, in base al presupposto che i tuoi file di configurazione possano contenere informazioni preziose.

Quindi, se non hai configurato il pacchetto o non vuoi conservare le tue configurazioni, puoi usare apt-get purge.

Se mantenete i file di configurazione, quindi se / quando reinstallate il pacchetto, Debian tenterà di riutilizzare le informazioni di configurazione salvate. Se la versione del pacchetto che si sta tentando di (reinstallare) ha file di configurazione in conflitto con i file di configurazione già installati, verrà richiesto nuovamente prima di sovrascrivere, come avviene per l'aggiornamento.

Commento secondario: se il pacchetto è stato rimosso e in seguito si desidera rimuovere i file di configurazione, era il caso che aptnon rimuoveva i file di configurazione se il pacchetto non fosse installato. Tuttavia, da alcuni anni, l'esecuzione apt-get purgerimuoverà i file di configurazione anche se il pacchetto non è più installato.

Questo problema è stato risolto nella 0.8.0~pre1versione di apt, rilasciata venerdì 13 agosto 2010, o forse nella 0.8.15~exp1versione di apt, rilasciata venerdì 10 giugno 2011. Vedi Debian Bug Report: apt-get --purge non funziona come previsto , datato 24 giugno 2002.


1
Sono equivalenti: apt-get remove --purge APPVS apt-get purge APP?
mini,

1
@mini: Sì. Citazione dalla pagina man apt-get, "remove --purge è equivalente al comando purge".
Faheem Mitha,

if you have removed the package and later want to remove the config files, you will need to call dpkg directly, because apt will not remove the config files if the package is no longer installed.Significa che apt-get purgenon rimuoverà i file di configurazione dopo che apt-get removeè stata eseguita?
Anmol Singh Jaggi,

@AnmolSinghJaggi Questa parte è in realtà errata e obsoleta. Volevo cambiarlo prima. Lo sto cambiando ora.
Faheem Mitha,

@FaheemMitha Okay!
Anmol Singh Jaggi,

28

Dalla pagina man di apt-get:

   remove
        remove is identical to install except that packages are removed 
        instead of installed. Note that removing a package leaves its 
        configuration files on the system. If a plus sign is appended to the 
        package name (with no intervening space), the identified package 
        will be installed instead of removed.

   purge
        purge is identical to remove except that packages are removed and 
        purged (any configuration files are deleted too).

Tenderei a usarlo purgese tendi a non voler conservare alcun file di configurazione.


4

eliminare la rimozione configuration files dei pacchetti, ma rimuovere mantenere configuration filesil pacchetto.

Ma vantaggi o svantaggi: è legato al tuo sistema, ai tuoi pacchetti, alla tua macchina, installalo o no, e così via.

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.