[Linux.wiki] Удаление программ/пакетов с сервера Ubuntu.

В процессе установки и работы с cacti на новом сервере с программой возникли большие проблемы. То графики не рисуются, то snmp не работает правильно.
Всё начилось с того, что я решил просто перенести БД сacti с одного сервера на другой =)
Некоторые проблемы я смог решить, но потом решил просто попробовать всё переустановить.

Устанавливается программа из репозитория с помощью:
sudo apt-get install cacti
Удаляется она с помощью:
sudo apt-get remove cacti

Но как выяснилось позже данная команда не удаляет всё и при последующей попытке установить cacti процесс шёл не так как в первый раз – система не хотела устанавливать программу, а предлагала, частично переустановить её.
Как следствие ничего не работало – cacti не запускался, БД создавалась через раз.

Из man по apt-get (похоже, что местами его писал КЭП):
remove – remove is identical to install except that packages are removed instead of installed. Note that removing a package leaves its configuration files on the system.

Т.е. выполняя “remove” я оставлял конфигурационные файлы и пакеты программ которые были установленны на мой сервер в качестве зависимостей. Зависимости – это те пакеты/программы которые устанавливаются на сервер в дополнении к устанавливаемой программе (в случае их отсутствия на устанавливаемом сервере) и необходимые для работы устанавливаемой программы.
Например, для работы cacti нужен веб сервер(для отображения графиков), если его не будет, что его предложат установить.

После чтения форума выяснилось, что для удаления всего и получения сервера похожего на то что было до установки нужно сделать следующее:

sudo apt-get --purge remove cacti
sudo apt-get --purge autoremove

Этими двумя командами я удалил cacti, конфигурационные файлы и все ненужные зависимости с их конфигурациями. После этого установка cacti прошла как в первый раз. Проблем не было.

Из man по apt-get:
purge – purge is identical to remove except that packages are removed and purged (any configuration files are deleted too).
autoremove – autoremove is used to remove packages that were automatically installed to satisfy dependencies for other packages and are now no longer needed.

PS:
Есть мнение (которое я разделяю) – в современной ситуации, когда сервера стоят совсем мало хорошим тоном будет использование сервера под одну задачу (почтовый сервер, веб-сервер, мониторинг и т.п). Всё это обеспечит более простую и менее проблемную работу с приложениями. Все зависимости будут работать более сглажено и обновление/удаление какого-либо софта не приведёт к сбою в другом сервисе.

Дополнительные материалы:
Удаление программ и зависимостей.