Гид по технологиям

Удаление пакетов в Linux с помощью Apt

5 min read Linux Обновлено 31 Dec 2025
Как удалить пакет в Linux с помощью Apt
Как удалить пакет в Linux с помощью Apt

Скриншот терминала с командой удаления пакета через apt

Быстрый обзор

Apt — инструмент управления пакетами в Debian-подобных дистрибутивах. Он оперирует тремя уровнями данных:

  • бинарные пакеты (архивы, загруженные в /var/cache/apt/archives),
  • установленные файлы пакета (в /usr и /etc),
  • пользовательские данные (обычно в домашней папке пользователя).

Понимание разницы помогает выбрать безопасную стратегию удаления.

Как удалить пакет с помощью Apt

Apt/apt-get имеют несколько команд для удаления. Ниже — проверенные команды и пояснения.

apt-get remove — удалить, но сохранить конфигурации

apt-get remove удаляет установленные файлы пакета, но оставляет системные файлы конфигурации (обычно в /etc). Это удобно, если вы планируете установить пакет снова и хотите сохранить настройки.

Примерный рабочий цикл:

dpkg --list

Найдите точное имя пакета в выводе (колонка Package). Для удаления:

sudo apt-get remove randompackage

Для удаления нескольких пакетов:

sudo apt-get remove package1 package2 package3

Подсказки:

  • Если вы не уверены, сначала симулируйте команду:
sudo apt-get -s remove randompackage
  • apt (современный интерфейс) эквивалентно:
sudo apt remove randompackage

Важно: команда запросит пароль и подтверждение (Y).

apt-get purge — удалить полностью вместе с конфигурациями

Если нужно удалить пакет вместе с системными конфигурациями, используйте purge:

sudo apt-get purge randompackage

Альтернатива через флаг:

sudo apt-get --purge remove randompackage

Purge удалит системные конфиги, но не тронет пользовательские файлы в домашней директории, если они хранятся там.

Очистка кеша и удаление неиспользуемых зависимостей

Установка пакета загружает .deb архивы в локальный кеш. Чтобы освободить место и убрать неиспользуемые зависимости, используйте:

sudo apt-get autoremove
sudo apt-get clean
sudo apt-get autoclean

Разница:

  • autoremove удаляет пакеты, которые были установлены как зависимости, но больше не нужны;
  • clean удаляет все сохранённые .deb файлы в /var/cache/apt/archives;
  • autoclean удаляет только устаревшие .deb файлы (более экономно).

Пример безопасного сценария очистки:

sudo apt-get autoremove --purge
sudo apt-get autoclean
sudo apt-get clean

Исправление сломанных пакетов

Если при удалении/установке возникают ошибки, сначала попробуйте:

sudo apt-get -f install
sudo dpkg --configure -a

Эти команды пытаются починить зависимости и завершить некорректные установки.

Альтернативные подходы

  • aptitude — текстовый менеджер пакетов с более «интеллектуальным» разрешением зависимостей:
sudo apt install aptitude
sudo aptitude remove randompackage
  • dpkg — удаляет пакет на уровне установки, без управления зависимостями:
sudo dpkg -r randompackage
sudo dpkg --purge randompackage
  • Snap/Flatpak — если приложение установлено через snap или flatpak, используйте их команды:
sudo snap remove snapname
flatpak uninstall --user appname

Когда команды не сработают — частые причины

  • Неправильное имя пакета. Проверьте dpkg –list или apt list –installed.
  • Пакет заблокирован (held). Просмотрите apt-mark showhold.
  • Пакет установлен через другой менеджер (snap/flatpak/manual). Тогда apt не управляет им.

Модель мышления: какие данные вы теряете

  • remove: теряются только бинарные файлы пакета; конфигурация в /etc остаётся;
  • purge: удаляются системные конфиги (/etc), но не данные пользователя в /home;
  • clean/autoclean: удаляются загруженные архивы, освобождается диск;
  • autoremove: удаляются зависимости, которые не нужны другим пакетам.

Используйте purge только если уверены, что системные конфигурации больше не нужны.

Мини‑методология безопасного удаления (SOP)

  1. Найти точное имя пакета: dpkg --list | grep -i <часть_имени>
  2. Смоделировать удаление: sudo apt-get -s remove package
  3. Сделать бэкап конфигураций: sudo cp -a /etc/package /root/backup/etc-package-YYYYMMDD
  4. Удалить: sudo apt-get remove package или sudo apt-get purge package
  5. Очистить кеш: sudo apt-get autoremove --purge && sudo apt-get autoclean && sudo apt-get clean
  6. Проверить статус: dpkg --list | grep package и apt list --installed | grep package

Checklists по ролям

Администратор сервера:

  • Проверить зависимости на production и staging;
  • Сделать конфигурационный бэкап;
  • Смоделировать удаление и проверить impact;
  • Применить в maintenance window.

Обычный пользователь:

  • Убедиться, что приложение не нужно;
  • Удалить через Software Center или sudo apt remove;
  • Проверить ~/.config и ~/Documents на данные приложения.

Критерии приёмки

  • Команда выполнения возвращает код 0 без ошибок;
  • Пакет не отображается в apt list --installed и dpkg --list;
  • Если применялся purge — системные конфигурации в /etc удалены;
  • В случае критичного приложения — в тестовом окружении подтверждена работоспособность других сервисов.

План восстановления и откат

Если после удаления что-то сломалось:

  1. Попробовать переустановить пакет:
sudo apt-get install package
  1. Восстановить конфигурации из бэкапа (если есть):
sudo cp -a /root/backup/etc-package-YYYYMMDD /etc/package
  1. Если зависимость отсутствует — выполнить sudo apt-get -f install.

Важно: если вы использовали purge и не сделали бэкап, некоторые системные конфиги могут быть утеряны навсегда.

Таблица‑шпаргалка по командам

ЦельКоманда
Удалить, сохранить конфигиsudo apt remove package
Удалить и удалить конфигиsudo apt purge package
Удалить неиспользуемые зависимостиsudo apt autoremove
Очистить кеш полностьюsudo apt clean
Очистить старые кешиsudo apt autoclean
Смоделировать операциюsudo apt -s remove package
Быстро починить зависимостиsudo apt -f install

Тесты и кейсы приёмки

  • Удаление простого пакета: пакет исчезает из списка установленных.
  • Удаление с флагом purge: каталоги конфигураций в /etc удалены.
  • autoremove не трогает пакеты, которые нужны другим установленным пакетам.
  • clean реально освобождает место в /var/cache/apt/archives.

Примеры краевых случаев и когда не использовать purge

  • Если на сервере хранятся кастомные настройки в /etc, не используйте purge без бэкапа.
  • Если пакет установлен как часть мета‑пакета, удаление одного пакета может привести к удалению других; внимательно читайте список, который apt предложит перед подтверждением.

Краткий глоссарий

  • Apt — интерфейс/утилита управления пакетами поверх dpkg.
  • apt-get — классический интерфейс командной строки для apt.
  • dpkg — низкоуровневый инструмент установки/удаления .deb пакетов.
  • purge — полное удаление пакета вместе с системными конфигурациями.
  • autoremove — удаление больше не нужных зависимостей.

Рекомендации по безопасности и конфиденциальности

  • purge удаляет системные конфигурации, но не личные файлы в домашней папке. Чтобы удалить пользовательские данные, их нужно удалять вручную.
  • Делайте бэкапы конфигов перед удалением важных служб (nginx, mysql, ssh и т.д.).

Decision tree для выбора команды

flowchart TD
  A[Нужно удалить пакет?] --> B{Сохранять конфиг?}
  B -- Да --> C[Использовать apt remove]
  B -- Нет --> D[Использовать apt purge]
  C --> E{Есть ненужные зависимости?}
  D --> E
  E -- Да --> F[Выполнить apt autoremove]
  E -- Нет --> G[Опционально: очистить кеш apt clean]

Заключение

Apt предоставляет полный набор инструментов для корректного удаления пакетов: remove для мягкого удаления, purge — для полного, autoremove и clean — для очистки зависимостей и кеша. Всегда сначала симулируйте действия и делайте бэкап важных конфигураций. Если сомневаетесь, используйте aptitude или тестовую среду.

Важно: удаление пакета не всегда эквивалентно удалению пользовательских данных — проверьте домашние каталоги и резервные копии.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Временный сайт: быстро и бесплатно
Веб-разработка

Временный сайт: быстро и бесплатно

Аппетитная еда: 11 советов для съёмки
Фотография еды

Аппетитная еда: 11 советов для съёмки

Кто просматривал ваш профиль в LinkedIn: руководство
Карьера

Кто просматривал ваш профиль в LinkedIn: руководство

Как заблокировать пользователя в LinkedIn
LinkedIn

Как заблокировать пользователя в LinkedIn

Как увеличить охват на LinkedIn
Социальные сети

Как увеличить охват на LinkedIn

LinkedIn Skill Assessments: подтвердите навыки
Карьера

LinkedIn Skill Assessments: подтвердите навыки