Как правильно удалить программу в Ubuntu: команды apt purge и apt autoremove
После удаления программы в Ubuntu с помощью стандартной команды apt remove на сервере остаются старые конфигурационные файлы, которые мешают новой установке, а также остаются неиспользуемые зависимые пакеты и старые ядра, забивающие диск.
В чем разница между `apt remove` и `apt purge`?
- apt remove — удаляет только сам исполняемый бинарник программы. Все файлы настроек и конфигурации в каталоге
/etcостаются на месте. - apt purge — удаляет программу полностью под ноль, включая все ее конфигурационные файлы, логи и пользовательские параметры.
Шаг 1. Полное удаление программы со всеми настройками
Чтобы удалить ненужный пакет (например, веб-сервер Apache2 или Nginx) без следов в системе, выполните:
sudo apt purge apache2 -yШаг 2. Удаление ненужных «хвостов» и зависимостей (autoremove)
Когда вы устанавливали программу, вместе с ней автоматически поставились десятки вспомогательных библиотек (зависимостей). После удаления главной программы эти библиотеки больше никому не нужны. Удалите их командой:
sudo apt autoremove --purge -yЭта команда безопасно удалит весь оставшийся софтверный мусор и освободит место на диске.
Шаг 3. Очистка кэша скачанных deb-инсталляторов
Каждый раз при установке программ Ubuntu сохраняет скачанные установочные файлы в папке /var/cache/apt/archives/. Очистите этот склад командой:
sudo apt cleanШаг 4. Проверка и удаление забытых файлов конфигурации
Если раньше вы удаляли программы через обычный remove, найдите оставшиеся «хвосты» конфигураций:
dpkg -l | grep '^rc' | awk '{print $2}' | xargs sudo dpkg -P 2>/dev/null Частые вопросы (FAQ)
Удалит ли команда apt purge пользовательские файлы и базы данных?
Команда purge удаляет глобальные системные конфигурации из папки /etc. Однако данные пользователей в /home/username/ или базы данных в /var/lib/ (в зависимости от пакета) могут остаться в целях безопасности.
Что означает статус 'rc' в выводе команды dpkg -l?
'r' (removed) означает, что пакет удален, а 'c' (config-files) означает, что его конфигурационные файлы все еще остались в системе.
Безопасно ли запускать команду apt autoremove?
Да, эта команда удаляет только те пакеты, которые ставились автоматически как зависимости и на данный момент не требуются ни одной установленной в системе программе.
Как узнать точное название пакета перед его удалением?
Используйте поиск по установленным пакетам: dpkg -l | grep имя_программы.