Установка пакетов в RPM-дистрибутивах: yum и dnf без лишней теории

Чтобы установить программу через yum/dnf, обычно достаточно команды sudo dnf install имя_пакета (или sudo yum install имя_пакета). Если пакет не находится — проверьте репозитории и обновите кэш метаданных.

Yum или DNF: что использовать

  • Fedora, RHEL 8/9, Rocky/Alma 8/9: основной инструмент — dnf. Команда yum часто работает как совместимая оболочка, но лучше привыкать к dnf.
  • CentOS 7 и старые системы: чаще встречается классический yum.

Проверить, что у вас установлено:

dnf --version
yum --version

Установка, поиск и обновление пакетов

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

sudo dnf install имя_пакета
# или
sudo yum install имя_пакета

Примеры:

sudo dnf install htop
sudo dnf install nginx

Найти пакет и уточнить имя

dnf search ключевое_слово
dnf info имя_пакета
dnf list --available | grep -i часть_имени

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

sudo dnf upgrade
# в yum чаще используют:
sudo yum update

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

sudo dnf remove имя_пакета
sudo dnf autoremove

Перед подтверждением remove/autoremove внимательно смотрите список пакетов на удаление — на сервере легко снести лишнее, если зависимость была общей.

Локальный RPM, группы и репозитории

Установить локальный .rpm (с зависимостями)

sudo dnf install ./package.rpm
# или
sudo yum localinstall ./package.rpm

Ставьте локальные RPM через dnf/yum, а не через rpm -i: пакетный менеджер подтянет зависимости из репозиториев автоматически (если они доступны).

Установить “группу” пакетов (например, инструменты разработки)

sudo dnf group list
sudo dnf group install "Development Tools"

Репозитории: посмотреть, включить, обновить кэш

Список репозиториев:

dnf repolist
dnf repolist --all

Обновить кэш метаданных (часто решает “не найден пакет”):

sudo dnf clean all
sudo dnf makecache

Добавление репозитория зависит от версии dnf (в некоторых системах синтаксис config-manager отличается). Если ваша команда не принимается, сначала установите плагин и проверьте справку:

sudo dnf install dnf-plugins-core
dnf config-manager --help

Частые ошибки при установке и быстрые решения

Пакет не найден: No match for argument

  1. Очистите и пересоберите кэш:
sudo dnf clean all
sudo dnf makecache
  1. Проверьте, что нужный репозиторий включён:
dnf repolist --all
  1. Уточните название через поиск:
dnf search часть_названия

Конфликты и зависимости: conflicts, cannot install

Иногда помогают опции:

sudo dnf install имя_пакета --allowerasing
sudo dnf install имя_пакета --nobest
sudo dnf install имя_пакета --skip-broken

Не используйте эти флаги “по привычке” на продакшене: они могут заменить/удалить важные пакеты. Сначала посмотрите, какие именно зависимости конфликтуют (dnf обычно печатает список).

Шпаргалка: основные команды yum и dnf

ЗадачаDNFYUM
Установить пакетdnf install pkgyum install pkg
Удалить пакетdnf remove pkgyum remove pkg
Обновить пакетыdnf upgradeyum update
Найти пакетdnf search termyum search term
Инфо о пакетеdnf info pkgyum info pkg
“Кому принадлежит файл”dnf provides /pathyum provides /path
Список репозиториевdnf repolistyum repolist
Очистить кэшdnf clean allyum clean all