Какие пакетные менеджеры используются в Ubuntu?

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

Ответ

В экосистеме Ubuntu и Debian-подобных систем используется несколько пакетных менеджеров, каждый для своих задач:

  1. APT (Advanced Package Tool) — основной высокоуровневый инструмент для управления пакетами из репозиториев. Он автоматически разрешает зависимости.

    sudo apt update          # Обновить список пакетов
    sudo apt install nginx   # Установить пакет
    sudo apt upgrade         # Обновить установленные пакеты
  2. dpkg — низкоуровневая утилита для установки, удаления и проверки отдельных .deb-пакетов. APT использует dpkg «под капотом».

    sudo dpkg -i package.deb  # Установить пакет вручную
    sudo dpkg -l | grep nginx # Найти установленный пакет
  3. Snap — система для установки изолированных, самодостаточных пакетов (снапов). Пакеты обновляются автоматически и работают в песочнице.

    sudo snap install chromium  # Установить приложение как snap
    sudo snap refresh chromium  # Обновить snap
  4. Flatpak — кроссплатформенная альтернатива Snap, также предоставляет изолированные среды для десктопных приложений.

В DevOps-практике: APT — основной инструмент для подготовки базовых образов и управления системными пакетами. Snap/Flatpak реже используются на серверах, но могут применяться для специфичного софта. Для управления зависимостями приложений чаще используются языковые менеджеры (pip, npm) или контейнеризация (Docker).