Как полностью удалить программу в Ubuntu: apt purge и apt autoremove
Разница между простым удалением и полной очисткой
Многие начинающие пользователи Linux думают, что команда sudo apt remove имя_пакета полностью стирает программу. Однако в семействе Debian/Ubuntu команда remove оставляет на диске все конфигурационные файлы программы, пользовательские базы и системные службы. Если программа была настроена с ошибкой, повторная установка не поможет — баг останется из-за старого конфига.
Сравнение команд очистки пакетов в apt
| Команда | Что удаляет | Что остается на диске |
|---|---|---|
apt remove | Только исполняемые бинарные файлы программы. | Все конфиги в /etc/ и логи остаются нетронутыми. |
apt purge | Исполняемые файлы И ВСЕ конфигурационные файлы приложения под ноль. | Только файлы, созданные вручную пользователем в /home. |
apt autoremove | Ненужные библиотеки и старые ядра Linux, которые ставились как зависимости. | Ничего лишнего не остается. |
Пошаговый регламент правильного удаления программ в Ubuntu
Шаг 1: Полное удаление программы с конфигами (apt purge)
Чтобы удалить приложение (например, сломанный веб-сервер Nginx или Apache) без остатка хвостов, выполните:
sudo apt purge nginx nginx-common -yФлаг purge сотрет все настройки из директории /etc/nginx/.
Шаг 2: Удаление забытых зависимостей (apt autoremove)
Когда вы ставили программу, она подтянула за собой десятки вспомогательных библиотек. После удаления самой программы эти библиотеки остаются мертвым грузом. Очистите их командой:
sudo apt autoremove --purge -yШаг 3: Очистка кэша скачанных установочных пакетов
Менеджер APT сохраняет все скачанные .deb файлы в папку /var/cache/apt/archives/, забивая диск. Очистите кэш:
sudo apt cleanШаг 4: Удаление зависших конфигураций от давно удаленных программ
Найдите и сотрите остатки пакетов, находящихся в состоянии «rc» (удален, но конфиг сохранен):
dpkg -l | grep '^rc' | awk '{print $2}' | xargs sudo dpkg --purgeТиповые ошибки администраторов
- Слепое согласие на apt autoremove: Всегда внимательно смотрите на список пакетов перед нажатием 'Y'. Иногда при удалении одного компонента менеджер APT может ошибочно посчитать важный графический интерфейс (ubuntu-desktop) или сетевой демон ненужной зависимостью и снести его.
- Попытка удалить системные утилиты: Удаление базовых пакетов вроде
python3илиsystemdсломает операционную систему без возможности загрузки.
Инженеры ITSTM проведут комплексный аудит системы, очистят диск от программного мусора и оптимизируют ядро под ваши рабочие нагрузки.
Частые вопросы (FAQ)
Удалит ли команда apt purge пользовательские данные и базы MySQL?
Команда purge удаляет конфигурационные файлы из /etc. Однако базы данных (например, файлы таблиц в /var/lib/mysql) часто остаются для безопасности. Их нужно удалять вручную при необходимости.
В чем разница между командами apt clean и apt autoclean?
apt clean полностью очищает весь локальный репозиторий кэша deb-пакетов. apt autoclean удаляет только те пакеты из кэша, которые устарели и больше не могут быть скачаны из репозиториев.
Как узнать точное системное имя установленного пакета для удаления?
Используйте поиск по установленным пакетам: dpkg -l | grep имя_программы или apt list --installed | grep имя.
Удаляет ли apt autoremove старые неиспользуемые ядра Linux?
Да, современные версии Ubuntu автоматически включают старые неактивные версии ядер (linux-image-*) в список на удаление при выполнении autoremove, освобождая раздел /boot.