apt (Advanced Package Tool) — высокоуровневый менеджер пакетов для Debian и производных (Ubuntu, Linux Mint, Kali и другие). Скачивает пакеты из настроенных репозиториев (/etc/apt/sources.list), разрешает зависимости и устанавливает через dpkg. Ключевое преимущество над dpkg: автоматическое разрешение и установка всех зависимостей пакета.
Основные команды
# Обновить список пакетов из репозиториев
apt update
# Установить пакет
apt install nginx
apt install nginx php8.2-fpm mysql-server
# Обновить все установленные пакеты
apt upgrade
apt full-upgrade # с удалением конфликтующих
# Удалить пакет
apt remove nginx
apt purge nginx # с конфигурационными файлами
# Поиск
apt search nginx
apt show nginx # детали пакета
apt vs apt-get
apt-get — оригинальный инструмент, стабильный API. apt — более современный интерфейс с прогресс-баром, выводом цветом и объединёнными командами. Для скриптов рекомендуется apt-get (стабильный вывод), для интерактивного использования — apt.
История
APT разработан Джейсоном Гарнэттом и Брайаном Белендорфом в Debian Project в 1997 году. Первая версия — Debian 2.1 (1999). apt как отдельная команда (в отличие от apt-get) появилась в Ubuntu 14.04 (2014). dnf/yum — аналоги для Red Hat/Fedora.
Связь с хостингом
На Ubuntu Server apt — основной инструмент установки и обновления серверного ПО: apt install nginx php8.2-fpm mariadb-server. Добавление официальных репозиториев (nginx mainline, PostgreSQL 16) позволяет устанавливать актуальные версии вместо устаревших из стандартных Ubuntu-репозиториев. Автоматические обновления безопасности через unattended-upgrades — обязательная практика для серверов.
История APT
APT (Advanced Package Tool) создан командой Debian в 1998 году как надстройка над dpkg. Версия 1.0 с поддержкой HTTPS-репозиториев вышла в 2014 году. APT автоматически разрешает зависимости — революционная функция по меркам 1998 года. В Ubuntu 16.04 появился унифицированный CLI apt вместо связки apt-get + apt-cache. Формат пакетов .deb использует AR-архив с метаданными и содержимым.
Основные команды APT
apt update # обновить индексы репозиториев
apt upgrade # обновить установленные пакеты
apt install nginx # установить пакет
apt remove nginx # удалить пакет (сохранить конфиги)
apt purge nginx # удалить пакет и конфиги
apt autoremove # удалить ненужные зависимости
apt search php # поиск пакета
apt show php8.1 # информация о пакете
APT vs Snap vs pip
APT устанавливает системные пакеты, интегрированные с ОС. Snap изолирует приложения в контейнеры — проще обновлять, но больше места. pip — менеджер пакетов Python, не заменяет APT. На VPS рекомендуется устанавливать серверное ПО (Nginx, MySQL) через APT для получения обновлений безопасности.
Типичные ошибки
- Добавление сторонних PPA без проверки подписи:
apt-keyустарел, используйте/etc/apt/keyrings/. - Запуск
apt upgradeбезapt update— устанавливаются старые версии из кеша. apt-get dist-upgradeна продакшне без тестирования — может удалить пакеты с конфликтующими зависимостями.