В чем разница между `apt-get purge` и` apt-get remove`?

196

Есть ли разница между

sudo apt-get purge <package-name>

а также

sudo apt-get remove <package-name>  

?

Я часто вижу, как люди рекомендуют одно или другое.

Другими словами, что apt-get purgeудаляет то , что не apt-get removeделает?

Сет
источник
Связанный (так aptкак похож, но альтернатива, apt-get): askubuntu.com/questions/936810/apt-remove-vs-purge
Майкл

Ответы:

200

Как говорится на man apt-getстранице :

удалить - удалить идентичен для установки, за исключением того, что пакеты удаляются вместо установленных. Обратите внимание, что удаление пакета оставляет его файлы конфигурации в системе . Если к имени пакета добавлен знак плюс (без пробела), указанный пакет будет установлен, а не удален.

purge - purge идентичен для удаления, за исключением того, что пакеты удаляются и удаляются (также удаляются любые файлы конфигурации ).

Это, конечно, не относится к пакетам, которые содержат файлы конфигурации внутри домашней папки пользователя (например,:) /home/SexyNoJutsuUser, к этим файлам не будут обращаться ( почему «Очистка» не удаляет все, что связано с приложением? )

Так, например, если вы удалите Chrome, Firefox, XBMC или любой другой файл, содержащий некоторые файлы конфигурации внутри вашей /homeпапки, эти файлы останутся там.

С другой стороны, если вам нужно установить apache, squid, mysql или любые другие подобные сервисы, которые сохраняют свои файлы /etc, эти файлы конфигурации будут удалены при использовании purge.

Луис Альварадо
источник
Очистка может использоваться для метапакета, чтобы удалить его, оставляя базовый пакет без изменений. Если вы хотите обновить базовую систему, не затрагивая postgres, вы можете apt-get очистить метапакет postgres, а затем обновление с Debian 7 - Debian 8 оставит вашу версию postgres без изменений.
Боцкодер
30

Отрывок из моего ответа на другой вопрос:

  • apt-get remove packagename
    удалит двоичные файлы, но не файлы конфигурации или данных пакета packagename.
  • apt-get purge packagenameили
    apt-get remove --purge packagename
    удалит все, что касается пакета packagename, [...]
    Особенно полезно, когда вы хотите «начать все сначала» с приложением, потому что вы испортили конфигурацию.
gertvdijk
источник
12

apt-get purgeудаляет файлы конфигурации, пока apt-get removeнет.

moon.musick
источник