Jaka jest różnica między `apt-get purge` a` apt-get remove`?

195

Czy jest jakaś różnica między

sudo apt-get purge <package-name>

i

sudo apt-get remove <package-name>  

?

Często widzę, że ludzie polecają jedno lub drugie.

Innymi słowy, czego nie apt-get purgeusuwa apt-get remove?

Seth
źródło
Powiązane (ponieważ aptjest podobne, ale alternatywa dla, apt-get): askubuntu.com/questions/936810/apt-remove-vs-purge
Michael

Odpowiedzi:

199

Jak mówi man apt-getstrona :

remove - remove jest identyczny z instalatorem, tyle że pakiety są usuwane zamiast instalowane. Pamiętaj, że usunięcie pakietu pozostawia pliki konfiguracyjne w systemie . Jeśli do nazwy pakietu zostanie dołączony znak plus (bez spacji), zidentyfikowany pakiet zostanie zainstalowany zamiast usunięty.

purge - purge jest identyczne z usuwaniem, z wyjątkiem tego, że pakiety są usuwane i usuwane ( usuwane są również wszystkie pliki konfiguracyjne ).

Nie dotyczy to oczywiście pakietów, które przechowują pliki konfiguracyjne w folderze domowym użytkownika (np . /home/SexyNoJutsuUser:), pliki te nie zostaną dotknięte ( Dlaczego „Czyść” nie usuwa wszystkiego związanego z aplikacją? )

Na przykład, jeśli chcesz usunąć Chrome, Firefox, XBMC lub inny, który przechowuje niektóre pliki konfiguracyjne w twoim /homefolderze, pliki te pozostaną tam.

Z drugiej strony, jeśli chcesz zainstalować apache, kałamarnicę, mysql lub inne podobne usługi, które zapisują ich pliki /etc, te pliki konfiguracyjne zostaną usunięte, jeśli z nich skorzystasz purge.

Luis Alvarado
źródło
Czyszczenia można użyć w pakiecie meta, aby go usunąć, pozostawiając nienaruszony pakiet podstawowy. Jeśli chcesz zaktualizować system podstawowy bez wpływu na postgres, możesz apt-get wyczyścić pakiet meta postgres, a następnie uaktualnienie z Debiana 7- Debian 8 pozostawi swoją wersję postgres nietkniętą.
Boatcoder
30

Fragment mojej odpowiedzi na inne pytanie:

  • apt-get remove packagename
    usunie pliki binarne, ale nie pliki konfiguracyjne ani pliki pakietu packagename.
  • apt-get purge packagename, lub
    apt-get remove --purge packagename
    usunie wszystko, co dotyczy pakietu packagename, [...]
    Szczególnie przydatne, gdy chcesz „zacząć wszystko od nowa” w aplikacji, ponieważ popsułeś konfigurację.
gertvdijk
źródło
12

apt-get purgeusuwa pliki konfiguracyjne, podczas gdy apt-get removenie.

moon.musick
źródło