Gymterview
junior

Что такое менеджеры пакетов в Linux? Чем apt отличается от yum/dnf?

Менеджер пакетов — инструмент для автоматизации установки, обновления, настройки и удаления программного обеспечения. Пакет — архив с файлами программы, метаданными и информацией о зависимостях.

Аналогия из жизни: менеджер пакетов — это магазин приложений (App Store/Google Play) для Linux. Вы ищете программу, устанавливаете одной командой, а менеджер сам скачивает всё необходимое и следит за обновлениями.

Менеджеры пакетов в Debian/Ubuntu

Инструмент Описание
dpkg Низкоуровневый менеджер пакетов. Работает с .deb-файлами напрямую. Не разрешает зависимости автоматически.
apt-get Надстройка над dpkg. Автоматически разрешает зависимости, скачивает пакеты из репозиториев.
apt Современная единая утилита, объединяющая apt-get и apt-cache. Рекомендуется для интерактивного использования.
snap Менеджер от Canonical. Пакеты содержат приложение со всеми зависимостями, изолированы через песочницу.

Менеджеры пакетов в Red Hat/CentOS/Fedora

Инструмент Описание
rpm Низкоуровневый менеджер (аналог dpkg). Работает с .rpm-файлами.
yum Надстройка над rpm (аналог apt-get). Используется в CentOS 7 и ранее.
dnf Замена yum в Fedora и RHEL 8+. Быстрее, лучше разрешает зависимости.

Сравнение команд apt и dnf

Действие Ubuntu (apt) RHEL/Fedora (dnf)
Обновить список пакетов apt update dnf check-update
Установить пакет apt install nginx dnf install nginx
Удалить пакет apt remove nginx dnf remove nginx
Поиск пакета apt search nginx dnf search nginx
Информация о пакете apt show nginx dnf info nginx
Обновить все пакеты apt upgrade dnf upgrade

Другие менеджеры пакетов

Менеджер Дистрибутив Формат пакетов
apk Alpine Linux .apk
pacman Arch Linux .pkg.tar.zst
zypper openSUSE .rpm

На собеседовании: интервьюер хочет убедиться, что вы умеете устанавливать ПО на сервере. Достаточно знать apt и понимать, что в RHEL используется dnf. Частая ошибка — путать apt update (обновление списка пакетов) и apt upgrade (обновление самих пакетов).