Управление пакетами с помощью APT в Ubuntu

Введение
APT (Advanced Packaging Tool) — стандартный набор утилит для управления .deb-пакетами в Debian-подобных системах (Ubuntu 16.04–22.04 и др.). Он упрощает установку, удаление и обновление пакетов, а также позволяет обновлять систему целиком из командной строки.
Определение: APT — инструмент командной строки для работы с репозиториями, кэшем пакетов и зависимостями.
Требования:
- Сервер или рабочая станция под управлением Ubuntu Server или Desktop.
- root-доступ или sudo-привилегии.
Все команды в примерах выполняются от root-пользователя. Чтобы перейти в окружение root, используйте:
sudo -sАльтернатива — добавлять sudo перед каждой командой.
Обновление базы и обновление пакетов
APT хранит список доступных пакетов в локальной базе. Команда ниже загружает актуальные списки из репозиториев:
apt-get update -yЗатем можно обновить установленные пакеты:
apt-get upgrade -yДля более агрессивного обновления (разрешение конфликтов зависимостей и изменение наборов пакетов) используйте:
apt-get dist-upgrade -yВажно: dist-upgrade может добавить или удалить пакеты ради согласования зависимостей. Проверьте список изменений перед подтверждением.
Установка пакетов
Установка одного или нескольких пакетов:
apt-get install package1 package2Пример установки Nginx:
apt-get install nginxЕсли нужно только скачать .deb-файлы без установки:
apt-get install -d package1Файлы окажутся в /var/cache/apt/archives.
Для переустановки пакета с сохранением текущих настроек используйте:
apt-get install package1 --reinstallУдаление пакетов
Удаление пакета, при этом конфигурационные файлы остаются:
apt-get remove package1Полное удаление вместе с конфигурацией:
apt-get purge package1Очистка неиспользуемых пакетов и кэша:
apt-get autoremove
apt-get cleanПоиск и информация о пакетах
Команда apt-cache позволяет искать пакеты и получать сведения о них.
Поиск по описанию:
apt-cache search proftpdПоиск всех пакетов, начинающихся на proftpd:
apt-cache pkgnames proftpdПосмотреть подробную информацию о пакете (пример nano):
apt-cache show nanoПроверить зависимости пакета:
apt-cache showpkg htopУзнать, установлен ли пакет и из какого репозитория он пришёл:
apt-cache policy apache2(Выводы команд в справочных примерах в оригинале оставлены без изменений.)
Продвинутые возможности APT
Проверка целостности зависимости:
apt-get checkУстановка зависимостей для сборки пакета (пример vsftpd):
apt-get build-dep vsftpdЗагрузка исходников и подготовка к сборке:
apt-get --compile source htopПросмотр версии APT:
apt-get -vПоказать справку и список доступных команд:
apt-get -hБыстрый метод выполнения распространённых задач
Мини-методика: общая последовательность при работе с пакетами
- Обновить списки пакетов: apt-get update
- Проверить возможные обновления: apt-get upgrade или apt-get dist-upgrade
- Установить/удалить пакет: apt-get install / apt-get remove
- Очистить кэш: apt-get autoremove && apt-get clean
- При проблемах: apt-get check, dpkg –configure -a, apt-get -f install
Чек-лист для ролей
Чек-лист для системного администратора:
- Обновить списки репозиториев.
- Создать snapshot/backup перед масштабным dist-upgrade.
- Проверить важные службы после обновлений.
- Настроить автоматические обновления для критичных пакетов (unattended-upgrades).
Чек-лист для разработчика DevOps:
- Использовать apt-cache policy для фиксации версий.
- При необходимости — настроить apt pinning в /etc/apt/preferences.d/.
- Тестировать обновления на staging перед production.
Устранение неполадок и план отката
Быстрая диагностика:
- apt-get check — проверка зависимостей.
- dpkg –configure -a — завершение некорректной конфигурации пакетов.
- apt-get -f install — попытка исправить разорванные зависимости.
- Проверяйте логи /var/log/apt и /var/log/dpkg.log.
Простой план отката:
- Если у вас есть снапшот виртуальной машины — откатитесь к нему.
- Если снапшота нет — попытаться переустановить работоспособную версию пакета через apt-cache policy и apt-get install package=version.
- В крайнем случае — восстановление конфигурационных файлов из резервной копии.
Рекомендации по безопасности
- Используйте только доверенные репозитории и подписанные источники (apt-secure).
- Ограничьте честоту автоматических обновлений для критичных сервисов, тестируйте в staging.
- Настройте unattended-upgrades только для патчей безопасности, если вы уверены в обновлениях.
- Контролируйте доступ к sudo/root и логируйте действия по управлению пакетами.
Когда APT может не подойти
- Для контейнеров с минимальным образа́м иногда удобнее использовать статические бинáрики или пакеты snap/flatpak.
- Для сборки из исходников и специфичных патчей — исходники и сборка вручную более уместны.
Полезные примеры команд (шорт-лист)
- Обновить списки и обновить пакеты:
apt-get update && apt-get upgrade -y- Установить пакет и очистить кэш:
apt-get install htop -y && apt-get clean- Переустановить пакет:
apt-get install --reinstall package1 -y- Исправить зависимости:
apt-get -f installГлоссарий
- APT — Advanced Packaging Tool, система управления пакетами .deb.
- apt-get — низкоуровневая команда APT для управления пакетами.
- apt-cache — утилита для поиска и показа метаданных пакетов.
- dist-upgrade — обновление с учётом решений по зависимостям и возможным изменениям наборов пакетов.
FAQ
Как проверить, что пакет успешно установлен?
Выполните apt-cache policy package_name или dpkg -l package_name.
Как вернуть предыдущую версию пакета?
Найдите доступные версии через apt-cache policy package_name и установите нужную версию командой apt-get install package=version.
Что делать при ошибках зависимостей после обновления?
Выполните apt-get -f install, dpkg –configure -a, затем apt-get update и apt-get upgrade.
Критерии приёмки
- Пакеты обновлены без ошибок.
- Критичные сервисы запущены и работают после обновления.
- Логи обновлений проверены и заархивированы.
Короткое резюме
APT — основной инструмент для работы с пакетами в Ubuntu. Регулярно обновляйте списки пакетов, проверяйте зависимости и используйте резервные копии перед крупными обновлениями. Настройте политики безопасности и автоматических обновлений с осторожностью.
Важно: всегда проверяйте результаты dist-upgrade и имейте план отката перед применением изменений в production.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента