Удаление бывает двух видов: с сохранением настроек и полное.
sudo dpkg -r (или sudo apt remove) удаляет файлы пакета и оставляет его conffile. Запись в базе остаётся: dpkg -s пишет Status: deinstall ok config-files, dpkg -l — rc. Поставишь пакет снова — он возьмёт сохранённую настройку.
sudo dpkg -P (или sudo apt purge) удаляет и conffile, и запись: после него dpkg -s напечатает, что о пакете ничего не известно. Данные, которые программа писала сама, и файлы в домашних каталогах не трогает и purge.
Пакет, от которого зависит другой установленный пакет, dpkg удалить откажется и напишет dependency problems prevent removal: иначе зависимый пакет остался бы без того, что ему нужно.
Программа отчётов этому серверу больше не нужна, её настройка тоже. Какая команда уберёт и то, и другое?
-
Файлы исчезнут мимо dpkg, а запись в базе останется
install ok installed— пакет без программы, как в уроке о файлах пакета. -
remove оставит conffile
/etc/lab-pkg-report.confи записьdeinstall ok config-files. Настройку убирает purge.
purge удаляет файлы пакета, его conffile и запись в базе. После него dpkg -s lab-pkg-report печатает, что о пакете ничего не известно.
Главное в шаге
-
remove удаляет файлы пакета, conffile и запись остаются (
config-files). - purge удаляет и conffile, и запись о пакете.
- dpkg не удалит пакет, пока от него зависит другой установленный пакет.