Differenza tra spurgo e dpkg -P?


9

Ho dovuto disinstallare phpmyadmin dal server di produzione e cercarlo su Google e ho usato questo:

sudo dpkg -P phpmyadmin

Bene, ha funzionato bene, ma sembra che tutti gli altri su Ubuntu stiano usando una purga

sudo apt-get purge phpmyadmin 

Ho fatto qualcosa di sbagliato? Qualche conseguenza di cui dovrei essere a conoscenza (dopo tutto è il mio server di produzione) Tutti i bit di phpmyadmin sono davvero disinstallati tramite dpkg -P?


Dalla pagina man di dpkg, dice "-P, --purge package", quindi -P sta per 'purge', quindi, a mio avviso, dovrebbe essere la stessa cosa. Personalmente uso "apt-get purge"
hytromo il

Risposte:


5

dpkge apt-getsono 2 modi diversi per installare il software. Fondamentalmente apt-get, aptitude e synaptic sono basati sul programma di gestione dei pacchetti dpkg di debian. Tutti svolgono la stessa funzione di base: la gestione dei pacchetti, ma hanno alcune funzionalità extra. Una delle funzionalità extra di apt-get è che installerà dipendenze e dpkg no.

Riguardo a -p / purge ...

La -Pin dpkgmezzo --purgee rimuoverà tutto, compreso setttings e file di configurazione. Dal manuale:

-r, --remove, -P, --purge package...|-a|--pending

          Remove  an  installed  package. -r or --remove remove everything
          except conffiles. This may avoid having to reconfigure the pack‐
          age  if  it  is  reinstalled later. (Conffiles are configuration
          files that are listed in the DEBIAN/conffiles control file).  -P
          or  --purge  removes  everything,  including conffiles. If -a or
          --pending is given instead of a package name, then all  packages
          unpacked,   but   marked   to  be  removed  or  purged  in  file
          /var/lib/dpkg/status, are removed or purged, respectively. Note:
          some  configuration  files might be unknown to dpkg because they
          are created and handled  separately  through  the  configuration
          scripts. In that case, dpkg won't remove them by itself, but the
          package's postrm script (which is called by dpkg), has  to  take
          care of their removal during purge. Of course, this only applies
          to files in system directories, not configuration files  written
          to individual users' home directories.

          Removing of a package consists of the following steps:

          1. Run prerm script

          2. Remove the installed files

          3. Run postrm script

Lo stesso vale per purgein apt-get.

 remove
       remove is identical to install except that packages are removed
       instead of installed. Note the removing a package leaves its
       configuration files in 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).

Fondamentalmente è la stessa opzione. Intendiamoci: la rimozione delle dipendenze non avviene con dpkg. apt-get rimuove le dipendenze

Documentazione dal commento di Lekensteyn:


+1 stava per scrivere una risposta simile. Documentazione: debian.org/doc/manuals/debian-faq/ch-pkgtools.en.html . La cosa della dipendenza dovrebbe essere evidenziata. Esempio: la rimozione php5causerà anche la phpmyadminrimozione (presupponendo che non vi siano altre SAPI PHP). aptpuò gestire questo, dpkgnon può farlo da solo.
Lekensteyn,

Lekensteyn eccellente. Stavo ancora cercando (perché la cosa delle dipendenze mi stava assillando). Aggiunto in :) Sentiti libero di modificare la mia risposta se ne hai di più: D
Rinzwind

Va bene :) Se qualcuno colpisce il problema della dipendenza dopo averlo usato dpkgdirettamente, può risolverlo con sudo apt-get install -f(come suggerito da dpkg)
Lekensteyn

Grazie a tutti per i vostri consigli. Quindi faccio un sudo apt-get install -f phpmyadmincaso nel mio caso per assicurarmi che le dipendenze vengano eliminate? Cosa succede se le dipendenze sono condivise?
Houman,

Le dipendenze @Kave non installate manualmente verranno rimosse quando nessun pacchetto installato dipende da esse.
nanofarad,
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.