Коротко о главном
APT управляет пакетами в Debian, Ubuntu, Mint и производных дистрибутивах. Он разрешает зависимости, проверяет подписи и ведёт базу установленного через dpkg. Понимание apt помогает не только ставить программы, но и диагностировать конфликты и откатывать изменения. Разберём источники, обновление, поиск, закрепление версий и обслуживание.
APT даёт предсказуемый способ установки ПО из проверенных репозиториев. Он умеет разрешать зависимости и объяснять, что будет изменено до подтверждения. Журнал операций позволяет понять, когда и почему изменилась система. Эти навыки нужны каждому, кто администрирует Debian-подобные машины.
Надёжная работа APT в продакшене — это не только установка, но и контроль изменений, права доступа и наблюдаемость. Ниже — практический чек-лист.
Что меняется в рабочей среде
В тестовой среде достаточно, чтобы APT запускался. В продакшене добавляются требования к доступности, безопасности и восстановлению. Чем раньше вы зафиксируете эти требования, тем меньше придётся переделывать.
Базовая установка
Установка
В Debian, Ubuntu и Linux Mint используется пакетный менеджер APT:
sudo apt update && sudo apt install apt
В Fedora и RHEL-совместимых системах пакет ставится через DNF:
sudo dnf install apt
В Arch Linux и производных пакет доступен в официальных репозиториях:
sudo pacman -S pacman
# apt в Arch не используется, ближайший аналог — pacman
Настройка и проверка
1. Update, upgrade и full-upgrade
apt update обновляет индекс пакетов, но не ставит их. apt upgrade устанавливает новые версии, не удаляя пакеты, а full-upgrade может разрешать более сложные изменения. Выбирайте команду осознанно, особенно на сервере.
sudo apt update
apt list --upgradable
sudo apt full-upgrade
2. Источники пакетов
Список репозиториев хранится в /etc/apt/sources.list и каталоге sources.list.d. Современный формат deb822 описывает источник в отдельном файле. После правки всегда выполняйте apt update.
ls /etc/apt/sources.list.d/
cat /etc/apt/sources.list.d/*.sources
sudo apt update
3. Поиск и информация о пакете
apt search ищет по имени и описанию, apt show выводит зависимости и версию. apt policy показывает доступные версии и приоритеты источников. Эти команды помогают понять, откуда придёт пакет.
apt search image editor
apt show gimp
apt policy firefox
4. Закрепление версий
Pinning позволяет выбрать версию пакета из конкретного репозитория. Правила задаются в файле preferences в каталоге apt.conf.d или preferences.d. Это полезно, когда нужна версия из backports, но не вся ветка.
sudo tee /etc/apt/preferences.d/pin.pref > /dev/null <<'EOF'
Package: *
Pin: release a=bookworm-backports
Pin-Priority: 100
EOF
apt policy gimp
5. Очистка и удаление
autoremove удаляет зависимости, которые больше не нужны, а purge — вместе с конфигурацией. apt clean освобождает кэш скачанных пакетов. Перед очисткой проверьте список удаляемого.
sudo apt autoremove --purge
sudo apt clean
sudo du -sh /var/cache/apt/archives
Конфигурация для повторяемого развёртывания
Начните с минимального рабочего варианта. Не копируйте большой конфиг целиком: добавляйте параметры по одному и проверяйте результат после каждого изменения.
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
APT::Install-Recommends "1";
APT::Install-Suggests "0";
Безопасность и наблюдаемость
Ограничьте доступ к административным интерфейсам, включите логирование и проверяйте, что изменения конфигурации применяются автоматически. Ручные правки на сервере должны быть исключением, а не нормой.
Чек-лист
- Версии пакетов и конфигурация хранятся в репозитории или системе управления.
- Есть резервная копия данных и проверенный сценарий восстановления.
- Административный доступ ограничен по сети и снабжён отдельными учётными записями.
- Логи и метрики собираются, а оповещения настроены на реальные пороги.
- Изменения проходят проверку на тестовом стенде до выката.
- Есть план отката и ответственный за его выполнение.
Практические советы
Эти рекомендации проверены на повседневных задачах. Начните с тех, которые закрывают вашу текущую боль, а не со всего списка сразу.
Совет 1. Читайте список изменений перед подтверждением: apt показывает, что буд
Читайте список изменений перед подтверждением: apt показывает, что будет удалено.
Совет 2. Используйте apt, а не apt-get, в интерактивной работе: вывод удобнее.
Используйте apt, а не apt-get, в интерактивной работе: вывод удобнее.
Совет 3. Для скриптов предпочтительнее apt-get с явными флагами.
Для скриптов предпочтительнее apt-get с явными флагами.
Совет 4. Проверяйте источники через apt policy, если версия пакета не совпадает
Проверяйте источники через apt policy, если версия пакета не совпадает с ожидаемой.
Совет 5. Не смешивайте репозитории разных выпусков без pinning: это частая прич
Не смешивайте репозитории разных выпусков без pinning: это частая причина поломок.
Типичные ошибки
Ниже — сбои, которые встречаются чаще всего. Перед исправлением сохраните текущие конфиги и запишите, какие изменения вносите: так проще откатиться.
1. dpkg был прерван и требует настройки
Выполните sudo dpkg —configure -a, затем sudo apt —fix-broken install. Если ошибка повторяется, изучите вывод конкретного пакета.
2. Неразрешённые зависимости после удаления пакета
Запустите sudo apt —fix-broken install и проверьте, не отключён ли нужный репозиторий. При необходимости верните пакет командой apt install.
3. Репозиторий сообщает об истёкшем ключе
Обновите ключ по инструкции проекта и проверьте срок действия. Не отключайте проверку подписей ради обхода ошибки.
4. Пакет не обновляется, хотя новая версия есть
Проверьте apt-mark showhold и apt policy. Удержание или низкий приоритет источника могут блокировать обновление.
Итог
В рабочей среде APT должен быть предсказуемым: версии зафиксированы, изменения проходят проверку, резервные копии существуют, а сбои видны в мониторинге. Чек-лист выше — минимальная отправная точка.