Что такое пакетный менеджер в Linux?

«Что такое пакетный менеджер в Linux?» — вопрос из категории Linux, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

В DevOps пакетные менеджеры используются для:

  • Provisioning: Настройки базовых образов (Docker, VM).
  • Конфигурационного управления: В связке с Ansible, Chef, Puppet.
  • Сборки артефактов: Установки зависимостей для приложений.

Основные семейства и команды:

Дистрибутив Менеджер Основные команды
Debian/Ubuntu APT apt update, apt install <package>, apt upgrade, apt remove
RHEL/CentOS/Fedora YUM/DNF dnf install <package>, dnf update, dnf remove
Arch Pacman pacman -S <package>, pacman -Syu, pacman -R

Пример рабочего процесса для обновления системы и установки пакета (Debian/Ubuntu):

# Обновить локальный кэш списков пакетов из репозиториев
sudo apt update

# Установить пакет (например, инструмент мониторинга htop)
sudo apt install -y htop

# Обновить все установленные пакеты до последних версий
sudo apt upgrade -y

Ключевые концепции для DevOps:

  • Репозитории: Источники пакетов (официальные, сторонние). Конфигурация в /etc/apt/sources.list или /etc/yum.repos.d/.
  • Подписи пакетов (GPG): Гарантия целостности и происхождения.
  • Менеджеры пакетов низкого уровня: dpkg (Debian) и rpm (RHEL) — работают с отдельными .deb/.rpm файлами.