Переходя между различными дистрибутивами Linux, системные администраторы и разработчики часто сталкиваются с проблемой различий в системах управления пакетами. Команды apt install в Ubuntu, dnf install в Fedora и уникальный синтаксис pacman в Arch могут показаться запутанными. Это руководство поможет вам разобраться в основных командах этих систем, чтобы установка и управление программным обеспечением стали интуитивно понятными.

Несмотря на многообразие дистрибутивов, логика работы пакетных менеджеров остается схожей: обновить списки пакетов, установить новые, удалить ненужные или найти конкретное программное обеспечение. Отличаются лишь сами команды.

🟢 Debian/Ubuntu и семейство (apt)

Семейство дистрибутивов Debian/Ubuntu, включая такие популярные ОС, как Mint и Astra Linux, использует пакеты формата .deb. Менеджер пакетов apt представляет собой высокоуровневую и удобную обертку над низкоуровневой утилитой dpkg.

Обновить список пакетов

sudo apt update

Обновить систему (установить новые версии)

sudo apt upgrade

Установить пакет

sudo apt install nginx

Удалить пакет

sudo apt remove nginx

Удалить пакет + конфиги

sudo apt purge nginx

Поиск пакета по имени

apt search web server

Показать информацию о пакете

apt show nginx

Удалить ненужные зависимости

sudo apt autoremove

🟢 Red Hat / Fedora / CentOS (dnf/yum)

В дистрибутивах, основанных на Red Hat, таких как Fedora, CentOS Stream, Rocky и Alma Linux, исторически использовался менеджер пакетов yum. Однако в современных версиях его заменил более быстрый и функциональный dnf. Эти системы работают с пакетами формата .rpm. Подробнее об управлении пакетами в RHEL и CentOS.

Обновить список и систему

sudo dnf update

Установить пакет

sudo dnf install nginx

Удалить пакет

sudo dnf remove nginx

Поиск

dnf search nginx

Информация о пакете

dnf info nginx

Очистить кэш

sudo dnf clean all

🟢 Arch Linux (pacman)

Arch Linux, известный своей моделью rolling release (непрерывное обновление), использует собственный менеджер пакетов pacman и пакеты формата .pkg.tar.zst. Его синтаксис заметно отличается от apt и dnf, но после привыкания становится весьма эффективным.

Обновить систему (включая список пакетов)

sudo pacman -Syu

Установить пакет

sudo pacman -S nginx

Удалить пакет (только сам пакет)

sudo pacman -R nginx

Удалить пакет с зависимостями (не нужными другим)

sudo pacman -Rs nginx

Поиск

pacman -Ss nginx

Информация о пакете

pacman -Qi nginx

🟢 openSUSE (zypper)

Дистрибутивы openSUSE также используют пакеты формата .rpm, но управляют ими с помощью собственного менеджера пакетов zypper, который обладает мощными возможностями по разрешению зависимостей.

Обновить список

sudo zypper refresh

Обновить систему

sudo zypper update

Установить

sudo zypper install nginx

Удалить

sudo zypper remove nginx

Поиск

zypper search nginx

Преимущества каждого подхода:

  • apt — самый распространённый, обладает огромными репозиториями и отличается простотой использования.
  • dnf — эффективно разрешает зависимости и поддерживает модули.
  • pacman — очень быстрый, имеет лаконичный синтаксис и идеально подходит для моделей rolling-обновлений.
  • zypper — предлагает мощные средства для поиска пакетов и разрешения сложных зависимостей.

Недостатки:

  • В каждом менеджере свой уникальный синтаксис, что может вызвать путаницу при переключении между дистрибутивами.
  • В некоторых дистрибутивах могут встречаться устаревшие версии пакетов (хотя это часто решается подключением сторонних репозиториев).
  • Приходится заново привыкать к командам при смене дистрибутива.

🟢 Полезные функции, которые пригодятся всем:

1. Поиск пакета, даже если не знаете точное имя

apt

apt search ^nginx

dnf

dnf whatprovides */nginx.conf

pacman (требуется пакет pkgfile)

pkgfile nginx.conf

2. История действий (что установил вчера?)

apt (просмотр логов)

grep " install " /var/log/dpkg.log

dnf

dnf history

pacman

cat /var/log/pacman.log | grep installed

3. Установка локального пакета (если скачали .deb/.rpm/.pkg.tar.zst)

Debian/Ubuntu

sudo dpkg -i package.deb

В случае ошибок зависимостей:

sudo apt install -f

Fedora/RHEL

sudo rpm -ivh package.rpm

или:

sudo dnf install ./package.rpm

Arch Linux

sudo pacman -U package.pkg.tar.zst

Когда что использовать?

  • apt — для Debian, Ubuntu, Mint, Astra Linux и всех их производных.
  • dnf — для Fedora, RHEL, CentOS Stream, Rocky, Alma Linux.
  • pacman — для Arch, Manjaro, EndeavourOS.
  • zypper — для openSUSE.

Лайфхак:

Если вы совсем запутались, помните, что существуют старые версии менеджеров, такие как apt-get и yum (который считается устаревшим). Однако рекомендуется сразу привыкать к современным оберткам, таким как apt и dnf, для более эффективной и актуальной работы с системой.