Was ist der Unterschied zwischen "Löschen" und "Entfernen - Löschen"?

19

Was ist der Unterschied zwischen sudo apt-get purgeund sudo apt get remove --purge?

Es muss einen Unterschied geben, oder beide sollten nicht existieren.

Alvar
quelle

Antworten:

17

Ob sie beide existieren sollten oder nicht, ist vielleicht ein Diskussionspunkt.

Sie sind jedoch absolut identisch.

Aus der Manpage von apt-get

--reinigen
           Verwenden Sie für alle Objekte, die entfernt werden sollen, die Option "Löschen" anstelle von "Entfernen". Ein
           Das Sternchen ("*") wird neben den Paketen angezeigt, bei denen es sich um handelt
           geplant, um gelöscht zu werden. remove --purge entspricht der Bereinigung
           Befehl. Konfigurationselement: APT :: Get :: Purge.

Der Hauptbestandteil ist --purge entspricht dem Befehl purge

Was den Grund angeht - ich würde vermuten, dass dies historisch ist -

apt-get --purge remove kam vor apt-get purge

In der alten apt- Dokumentation wird auf die ältere Version des Befehls verwiesen. Die neuere Dokumentation enthält das aptitude& apt-get purgeBeispiel.

Aus Gründen der Konsistenz - es ist eine gute Idee, alte Schnittstellen nicht zu entfernen - wenn Sie ein altes Skript haben, funktioniert es auch heute noch, da die Schnittstellenbefehle noch vorhanden sind.

Wohlgemerkt, das hält Gnome nicht davon ab, Apis zu missbrauchen - aber das ist eine andere Geschichte ...

fossfreedom
quelle
1
Wenn ich hinzufügen darf, ist der --purgeSchalter nützlich, wenn Sie den autoremoveBefehl verwenden. Es gibt keine andere Möglichkeit, apt-getKonfigurationsdateien von Paketen zu löschen, die automatisch entfernt werden.
Igor Zinov'yev
1
Es ist eine schöne Sache, beides zu haben, indem man --purge mit kombiniert apt-get autoremove.
Ian Santopietro
1

Soweit ich weiß, gibt es keine, sie machen genau das Gleiche, entfernen Pakete und versuchen, Konfigurationsdateien zu entfernen, die von diesen Paketen erstellt wurden.

Grundsätzlich apt-get purgewurde nach implementiert, apt-get remove --purgeaber die alte Option gestaltete Bereinigung blieb bestehen.

Bruno Pereira
quelle
1

Sie sind die gleichen, wie es in der offiziellen Manpage heißt: remove --purge is equivalent to the purge command.Siehe man aptund die Ubuntu-Manpages online . Ich denke die Nutzung hat sich weiterentwickelt und beide Befehle sind geblieben; Wie in anderen Programmen auch, ändert sich die Verwendung und eine Form (dh sudo apt-get purge) wird der anderen vorgezogen. Ich bin jedoch immer noch auf der Suche nach einer Referenz für diese und der Erforschung der Verwendungsgeschichte, obwohl es nützliche Kapitel zur Paketverwaltung im Debian-Handbuch und Artikel zu apt-get auf Raphael Hertzogs Blog gibt .

Am Beispiel des Entfernens von vlc (wenn auch mit dem -sSimulate-Flag) können wir sehen, dass die Befehle identische Ergebnisse haben. Alle anderen von VLC verwendeten Dateien müssen sudo apt-get autoremovein beiden Fällen mit entfernt werden.

1) sudo apt-get remove --purge

sudo apt-get -s remove --purge vlc
[sudo] password for mike: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libdc1394-22 libxcb-keysyms1 libzvbi0 libxcb-xv0 libtar0 libass4 libdvbpsi7
  libvlc5 vlc-nox libupnp3 libzvbi-common libxcb-randr0 libxcb-composite0
  libiso9660-8 libkate1 vlc-plugin-notify vlc-plugin-pulse vlc-data
  libdirac-encoder0 libvlccore5 libvcdinfo0 libebml3 libmatroska5
  libsdl-image1.2
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED
  vlc*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
Purg vlc [2.0.3-0ubuntu0.12.04.1]

2) sudo apt-get purge

sudo apt-get -s purge vlc
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libdc1394-22 libxcb-keysyms1 libzvbi0 libxcb-xv0 libtar0 libass4 libdvbpsi7
  libvlc5 vlc-nox libupnp3 libzvbi-common libxcb-randr0 libxcb-composite0
  libiso9660-8 libkate1 vlc-plugin-notify vlc-plugin-pulse vlc-data
  libdirac-encoder0 libvlccore5 libvcdinfo0 libebml3 libmatroska5
  libsdl-image1.2
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED
  vlc*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
Purg vlc [2.0.3-0ubuntu0.12.04.1]

quelle
1

Wie in früheren Antworten festgestellt wurde, sind die beiden in der Tat gleichwertig.

Ein triftiger Grund für das Fortbestehen beider Formen ist jedoch:

  • apt-get purge ist eine nützliche Abkürzung, die später hinzugefügt wird, um bestimmte Pakete vollständig zu entfernen
  • Das --purgeFlag ermöglicht die Änderung anderer apt-get-Aufrufe, um Konfigurationsdateien ebenso wie in zu löschenapt-get autoremove --purge

Als regelmäßiger Experimentator mit neuer Software habe ich selbst wesentlich weniger alte Konfigurationsdateien im Umlauf gehabt, seit ich gelernt habe, wie man Aufrufe zum automatischen Entfernen ändert!

Latex
quelle