PQ
PQ.Hosting

Валюта

Как удалить пакет в Linux: apt, dnf, pacman, snap и flatpak

Автор
PQ
11 марта 2026
4 мин чтения
31 просмотров

Самая частая ошибка при удалении пакета — считать что работа закончена после одной команды. На диске остаются конфиги, кеш, зависимости которые больше никому не нужны. Через полгода такой «чистки» система пухнет от мусора. Разбираем как убирать по-настоящему.

Три уровня удаления в apt (Debian, Ubuntu, Mint)

У apt есть принципиальное разделение которое знают не все.

Первый уровень — убрать только исполняемые файлы, конфиги оставить:

sudo apt remove htop

Когда это нужно: собираетесь переустановить пакет позже и хотите сохранить настройки.

Второй уровень — убрать всё включая конфиги из /etc:

sudo apt purge htop

Домашняя директория при этом не трогается — ~/.config/htop останется. Это сделано намеренно: системные команды не должны лезть в личные файлы пользователей.

Третий уровень — найти и добить то что осталось от предыдущих удалений:

dpkg --list | grep '^rc'

Буквы rc в начале строки означают: пакет удалён (r = removed), конфиги живы (c = config-files). Бывает что таких записей накапливается несколько десятков. Очистить всё за один вызов:

sudo apt purge $(dpkg --list | grep '^rc' | awk '{print $2}')

Зависимости которые остались без хозяина

После удаления пакета его зависимости никуда не уходят — они просто перестают быть нужными. apt помечает их как «автоматически установленные» и предлагает убрать:

sudo apt autoremove

Привычка запускать autoremove после каждого remove или purge — это хорошая гигиена системы. На серверах которые живут годами без неё накапливается по несколько гигабайт ненужных пакетов.

Посмотреть что именно будет удалено до запуска:

sudo apt autoremove --dry-run

Кеш который растёт сам по себе

Каждый скачанный .deb остаётся в /var/cache/apt/archives/. На активно обновляемой системе папка вырастает до нескольких гигабайт.

Проверить размер:

du -sh /var/cache/apt/archives/

Удалить всё накопленное:

sudo apt clean

Удалить только устаревшие версии, оставить актуальные:

sudo apt autoclean

Red Hat-семейство: dnf умеет больше чем кажется

На RHEL 8+, Fedora, Rocky, AlmaLinux используется dnf. На CentOS 7 — yum. Синтаксис одинаковый.

Удалить пакет — dnf сам спросит про зависимости:

sudo dnf remove nginx

Без вопросов:

sudo dnf remove -y nginx

Отдельная очистка осиротевших зависимостей:

sudo dnf autoremove

Не знаете имя пакета, но знаете файл который он поставил:

rpm -qf /usr/sbin/nginx

Вернёт точное имя. Потом передаёте его в dnf remove.

Пакеты в Red Hat-системах объединяются в группы — «Development Tools», «Web Server» и так далее. Убрать группу целиком:

sudo dnf groupremove "Development Tools"

Arch Linux: три команды с нарастающей агрессивностью

-R — только сам пакет, зависимости не трогает:

sudo pacman -R firefox

-Rs — пакет плюс всё что установилось вместе с ним и больше нигде не используется:

sudo pacman -Rs firefox

-Rns — то же самое плюс системные конфиги. Максимально чистое удаление:

sudo pacman -Rns firefox

Осиротевшие пакеты в Arch накапливаются со временем. Найти и уничтожить всё лишнее:

sudo pacman -Qdtq | sudo pacman -Rns -

-Qdtq возвращает список пакетов без зависимых, пайп передаёт его прямо в команду удаления.

openSUSE: zypper с зависимостями

sudo zypper remove nginx

Убрать вместе с зависимостями которые стали ненужными:

sudo zypper remove --clean-deps nginx

Snap: невидимый мусор в ревизиях

У snap есть особенность о которой мало кто знает — он хранит несколько ревизий каждого пакета. Поставили обновление — старая версия осталась на диске. По умолчанию хранится две ревизии, и они занимают место.

Список всего установленного:

snap list

Удалить пакет:

sudo snap remove spotify

Посмотреть все ревизии включая отключённые:

snap list --all

Удалить конкретную ревизию:

sudo snap remove spotify --revision=123

Скрипт для удаления всех отключённых ревизий разом:

snap list --all | awk '/disabled/{print $1, $3}' | while read pkg rev; do
    sudo snap remove "$pkg" --revision="$rev"
done

Flatpak: не забыть про runtime

flatpak list

Удалить приложение:

sudo flatpak uninstall com.spotify.Client

Flatpak хранит runtime-окружения — общие библиотеки для нескольких приложений. После удаления программ они часто остаются висеть:

sudo flatpak uninstall --unused

Если нужно убрать и пользовательские данные вместе с приложением:

sudo flatpak uninstall --delete-data com.spotify.Client

Что занимает больше всего места: смотрим до чистки

Прежде чем начинать массовое удаление — полезно понять картину. Топ-15 самых тяжёлых пакетов в системе (Debian/Ubuntu):

dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -rn | head -15

Размер в килобайтах. Делите на 1024 чтобы получить мегабайты.

Шпаргалка

Система Удалить Удалить с конфигами Почистить хвосты
Debian/Ubuntu apt remove pkg apt purge pkg apt autoremove
RHEL/Fedora dnf remove pkg dnf autoremove
Arch pacman -R pkg pacman -Rns pkg pacman -Qdtq | pacman -Rns -
openSUSE zypper remove pkg zypper remove --clean-deps pkg
Snap snap remove pkg скрипт по ревизиям
Flatpak flatpak uninstall pkg flatpak uninstall --delete-data pkg flatpak uninstall --unused



Поделиться статьей

Похожие статьи