LinuxRuLinux без лишней теории
Управление пакетами

Как удалить программу в Linux полностью и без хвостов

Редакция LinuxRu6 мин чтенияИнструкции

Как удалить программу в Linux, зависит от того, откуда она установлена: пакет из репозитория удаляется через sudo apt purge, dnf remove или pacman -Rns, приложение Flatpak через flatpak uninstall --delete-data, Snap через snap remove --purge, а AppImage достаточно стереть. Настройки в домашнем каталоге после этого остаются, их удаляют вручную.

Как удалить программу в Linux полностью и без хвостов
Фото: Lautre, GPL, Wikimedia Commons
Содержание
  1. Откуда программа
  2. Debian и Ubuntu
  3. Fedora
  4. Arch Linux
  5. Flatpak
  6. Snap
  7. AppImage и архивы
  8. Остатки в home
  9. Если удалили лишнее
  10. Частые вопросы

Сначала узнайте, откуда установлена программа

В Linux нет одной кнопки "Удалить", потому что программы приходят из разных источников: системный репозиторий, Flatpak, Snap, AppImage, архив с сайта. Удалять нужно тем же инструментом, которым ставили. Если не помните, начните с поиска:

type -a firefox                      # где лежит исполняемый файл
dpkg -S "$(command -v firefox)"      # какой deb-пакет владеет файлом
rpm -qf "$(command -v firefox)"      # то же для Fedora
pacman -Qo "$(command -v firefox)"   # то же для Arch
flatpak list --app | grep -i firefox
snap list | grep -i firefox

Путь /usr/bin обычно означает пакет из репозитория, /snap/bin - Snap, /var/lib/flatpak или ~/.local/share/flatpak - Flatpak. Файл в ~/Applications, ~/Загрузки или /opt чаще всего AppImage или распакованный архив.

ИсточникУдалитьВместе с настройкамиХвосты
apt (Debian, Ubuntu, Mint)sudo apt remove pkgsudo apt purge pkgsudo apt autoremove --purge
dnf (Fedora)sudo dnf remove pkgконфиги в /etc сохраняются как .rpmsavesudo dnf autoremove
pacman (Arch)sudo pacman -R pkgsudo pacman -Rns pkgpacman -Qdtq | sudo pacman -Rns -
Flatpakflatpak uninstall app.idflatpak uninstall --delete-data app.idflatpak uninstall --unused
Snapsudo snap remove pkgsudo snap remove --purge pkgsnap saved, sudo snap forget N
AppImageудалить файлвручную в ~/.configярлык .desktop и иконки

Ubuntu и Debian: apt remove, purge и autoremove

Имя пакета не всегда совпадает с названием программы. Найдите его среди установленных:

apt list --installed 2>/dev/null | grep -i telegram

Дальше выбор между двумя командами:

  • sudo apt remove pkg убирает программу, но оставляет системные конфиги в /etc. Если поставите пакет снова, прежние настройки вернутся.
  • sudo apt purge pkg удаляет и конфиги. Это и есть "удалить полностью" в понимании apt.
sudo apt purge vlc
sudo apt autoremove --purge   # зависимости, которые больше никому не нужны

Перед подтверждением читайте список "Следующие пакеты будут УДАЛЕНЫ". Если там появились ubuntu-desktop, gnome-shell или network-manager, отвечайте "n": вы удаляете то, от чего зависит рабочий стол.

Пакеты, от которых остались только конфиги

После старых apt remove в системе копятся пакеты в состоянии rc (removed, config remains). В apt 3, который стоит в Debian 13 и Ubuntu 26.04, их можно вычистить шаблоном:

dpkg -l | grep '^rc'          # посмотреть список
sudo apt purge '~c'           # удалить все такие остатки

Шаблон ~c (полная форма ?config-files) описан в man apt-patterns. Deb-файл, поставленный вручную через apt install ./file.deb, удаляется так же, по имени пакета. Остальные команды apt собраны в отдельной шпаргалке по apt.

Fedora: dnf remove и откат через историю

В Fedora 44 работает dnf5, синтаксис привычный:

dnf list --installed | grep -i vlc
sudo dnf remove vlc
sudo dnf autoremove

Отдельной команды purge в dnf нет. Конфиги, которые вы правили в /etc, при удалении сохраняются рядом с расширением .rpmsave, их можно удалить руками. Неизменённые конфиги уходят вместе с пакетом.

Сильная сторона dnf - история транзакций. Если поставили программу, а она притянула полсотни зависимостей, удобнее отменить всю установку целиком:

dnf history list
dnf history info 42
sudo dnf history undo 42

Не используйте rpm -e --nodeps: он удаляет пакет, игнорируя зависимости, и легко оставляет систему с битыми библиотеками. Подробнее о менеджере пакетов Fedora - в статье про команды dnf.

Arch Linux: pacman -R, -Rs и -Rns

У pacman три уровня удаления:

  • pacman -R pkg - только сам пакет;
  • pacman -Rs pkg - пакет и его зависимости, которые не нужны другим пакетам и не ставились явно;
  • pacman -Rns pkg - то же плюс без сохранения конфигов как .pacsave.
sudo pacman -Rns gimp
pacman -Qdtq                      # сироты: зависимости, которые больше не нужны
pacman -Qdtq | sudo pacman -Rns - # удалить их

Если pacman -Qdtq ничего не выводит, команда удаления выдаст ошибку о пустом списке, это нормально. Пакеты из AUR удаляются тем же pacman или помощником: yay -Rns pkg. Остальные ключи разобраны в статье про pacman.

Flatpak: удаление приложения и его данных

Flatpak хранит данные приложения отдельно, в ~/.var/app/ID. Обычный uninstall их не трогает, и после переустановки программа вспомнит все настройки.

flatpak list --app --columns=application,name
flatpak uninstall org.telegram.desktop
flatpak uninstall --delete-data org.telegram.desktop   # вместе с ~/.var/app
flatpak uninstall --unused                            # неиспользуемые рантаймы

Рантаймы GNOME и KDE весят по несколько сотен мегабайт, и после удаления последнего приложения они остаются на диске. --unused находит именно их. Если приложение ставилось в пользовательскую установку, добавьте --user.

Snap: remove, --purge и автоматические снимки

При обычном snap remove snapd делает снимок данных программы и хранит его 31 день. Это страховка, но и место на диске: снимок большого приложения может занимать гигабайты.

snap list
sudo snap remove --purge chromium   # без снимка
snap saved                          # какие снимки уже есть
sudo snap forget 7                  # удалить снимок с номером 7

В Ubuntu часть программ поставлена как snap изначально (Firefox, магазин приложений). Удалить Firefox-snap можно, но заранее поставьте браузер из другого источника, иначе останетесь без браузера. Пользовательские данные snap-пакетов лежат в ~/snap/имя, после удаления каталог можно стереть.

AppImage, архивы и make install

AppImage

AppImage - один файл, удаление сводится к rm. Но если программа сама "интегрировалась" в систему или вы ставили её через Gear Lever, остаются ярлык и иконки:

rm ~/Applications/Obsidian.AppImage
ls ~/.local/share/applications/ | grep -i obsidian
rm ~/.local/share/applications/appimagekit_*obsidian*.desktop
update-desktop-database ~/.local/share/applications

Про риски и проверку AppImage есть отдельная заметка: AppImage и безопасность.

Архив в /opt и сборка из исходников

Программы из tar-архива (JetBrains IDE, некоторые игры) удаляются вместе с каталогом в /opt или в домашней папке, плюс ссылка в /usr/local/bin, если создавали. Для собранного через make install сначала попробуйте sudo make uninstall в каталоге исходников. Если такой цели нет, придётся смотреть, что разложено по /usr/local. На будущее собирайте в отдельный префикс или упаковывайте в пакет.

Что остаётся в домашнем каталоге

Ни apt purge, ни pacman -Rns не заглядывают в ваш домашний каталог. Пользовательские настройки, кэш и данные приложения остаются, и это сделано специально: у системы может быть несколько пользователей.

Обычные места:

  • ~/.config/имя - настройки;
  • ~/.local/share/имя - данные, базы, история;
  • ~/.cache/имя - кэш, удаляется без последствий;
  • ~/.имя - старые программы хранят всё в скрытом каталоге прямо в home.
find ~ -maxdepth 3 -iname '*vlc*' 2>/dev/null
rm -r ~/.config/vlc ~/.cache/vlc

Прежде чем стирать найденное, перечитайте пути. find по короткому имени цепляет чужие каталоги, а данные браузера или почтового клиента (профили, письма) в ~/.local/share и ~/.mozilla лучше сначала скопировать. Сколько места освободилось, проверит du -sh, а остальные способы почистить диск собраны в статье про освобождение места.

Если вместе с программой удалилось лишнее

Самая частая история - удаление пакета, от которого зависел метапакет окружения, например ubuntu-desktop. Системе от этого не хуже, но при следующем autoremove она предложит снести половину рабочего стола. Верните метапакет:

sudo apt install ubuntu-desktop       # или kubuntu-desktop, xubuntu-desktop
grep -A3 'Remove' /var/log/apt/history.log | tail -n 20   # что удалялось

В Fedora откатите транзакцию через sudo dnf history undo N, в Arch список удалённого есть в /var/log/pacman.log, пакеты возвращаются обычным pacman -S. Если рабочий стол не стартует, войдите в текстовую консоль Ctrl+Alt+F3 и поставьте метапакет оттуда. Как установить программу обратно из нужного источника, описано в статье про установку программ в Linux.

Частые вопросы

Чем apt remove отличается от apt purge?

remove удаляет файлы программы, но оставляет её системные конфиги в /etc. purge удаляет и конфиги. Пользовательские настройки в домашнем каталоге не удаляет ни одна из команд.

Безопасно ли запускать apt autoremove?

Обычно да: команда удаляет пакеты, которые ставились как зависимости и больше никому не нужны. Перед подтверждением прочитайте список. Если в нём есть пакеты рабочего стола, сначала верните удалённый метапакет вроде ubuntu-desktop.

Как удалить программу, если не знаю имя пакета?

Найдите исполняемый файл командой command -v программа, а затем владельца: dpkg -S путь в Debian и Ubuntu, rpm -qf путь в Fedora, pacman -Qo путь в Arch. Для Flatpak и Snap смотрите flatpak list и snap list.

Почему после удаления Snap место на диске не освободилось?

snapd сохраняет снимок данных удалённой программы на 31 день. Посмотрите их командой snap saved и удалите через sudo snap forget номер. В следующий раз удаляйте с ключом --purge.

Можно ли удалить программу через Центр приложений?

Да, GNOME Software, KDE Discover и Менеджер программ Mint удаляют пакеты, Flatpak и Snap. Но остатки конфигов и неиспользуемые зависимости они чистят не всегда, для этого всё равно нужен терминал.

Документация и источники

Читайте также

Команды проверены на актуальных версиях дистрибутивов на момент обновления. Перед изменением системных настроек сделайте резервную копию.