dnf и yum, а также включённые репозитории пакетов. Затем устанавливайте пакет командой dnf install <пакет>, смотрите обновления через dnf check-update, применяйте их через dnf upgrade и удаляйте через dnf remove <пакет>. Перед подтверждением обязательно прочитайте рассчитанный план транзакции, а после операции проверьте не только версию пакета, но и нужную функцию приложения или службы.DNF — менеджер пакетов для RPM-систем. Он получает индекс пакетов из включённых репозиториев, выбирает совместимые версии и зависимости пакетов, а затем передаёт изменения RPM-стеку в виде одной пакетной транзакции. О самом различии RPM, DEB, APT, YUM и DNF — в статье «Пакеты Linux: DEB, RPM, APT, YUM и DNF».
Не подтверждайте транзакцию автоматически
Определите ОС, DNF, YUM и доступные репозитории
Первичная проверка пакетного окружения
Команды просмотра не меняют состав установленной системы. Для установки, обновления и удаления обычно требуются права суперпользователя через sudo.
- 1Узнайте дистрибутив и основной релизПрочитайте
/etc/os-release. ПоляID,VERSION_IDиPRETTY_NAMEпомогут не переносить команды между разными выпусками. - 2Проверьте наличие DNF и YUMПроверьте обе команды через
command -v. Наличиеyumне доказывает, что это старый самостоятельный YUM: в части выпусков это совместимый интерфейс к DNF. - 3Посмотрите включённые репозиторииВыполните
dnf repolist --enabled. Список показывает источники, из которых DNF может выбирать пакеты и обновления.
cat /etc/os-release && uname -rcommand -v dnf; command -v yum; dnf --versiondnf repolist --enabledПоколение DNF и статус команды yum в охваченных основных релизах
| Основной релиз | Основной интерфейс | Поколение DNF | Команда yum |
|---|---|---|---|
| RHEL 8 и RHEL 9 | dnf | DNF 4 | Поставляется как совместимый интерфейс на базе DNF. |
| RHEL 10 | dnf | DNF 4 | Штатная команда не поставляется; используйте dnf. |
| Rocky Linux 8 и 9 | dnf | DNF 4 | Поставляется как совместимый интерфейс к DNF. |
| Rocky Linux 10 | dnf | DNF 4 | Штатная команда не поставляется; используйте dnf. |
| AlmaLinux 8 и 9 | dnf | DNF 4 | Поставляется как совместимый интерфейс к DNF. |
| AlmaLinux 10 | dnf | DNF 4 | Штатная команда не поставляется; используйте dnf. |
| CentOS Stream 9 | dnf | DNF 4 | Поставляется как совместимый интерфейс к DNF. |
| CentOS Stream 10 | dnf | DNF 4 | Штатная команда не поставляется; используйте dnf. |
Статус CentOS
Для RHEL доступ к штатному контенту зависит от регистрации, подписки или принятого в организации режима управления контентом через Red Hat Subscription Management. Если штатные репозитории не видны, сначала проверьте регистрацию и назначенный контент, а не подключайте сторонние источники. Начальная настройка RHEL описана в инструкции по установке и регистрации RHEL.
Обновите метаданные и найдите пакет
Получение метаданных, поиск и обновление системы — разные действия. dnf makecache загружает или обновляет локальные метаданные репозиториев, но не устанавливает и не обновляет пакеты. Поиск и просмотр сведений также не меняют систему.
sudo dnf makecachednf search <строка-поиска>dnf info <пакет>dnf list --available <пакет>; dnf list --installed <пакет>Установите пакет через dnf install и проверьте план
Установка пакета из репозитория
- 1Уточните имя и источникДо установки проверьте пакет командами
dnf info <пакет>илиdnf list --available <пакет>. Убедитесь, что пакет предлагается ожидаемым включённым репозиторием. - 2Рассчитайте транзакцию без выполненияЗапустите
sudo dnf install --assumeno <пакет>. DNF разрешит зависимости и выведет план, но откажется от выполнения вместо интерактивного подтверждения. - 3Прочитайте список измененийПроверьте разделы с устанавливаемыми, обновляемыми и удаляемыми пакетами, размер загрузки и зависимости. Не продолжайте, если состав транзакции не соответствует задаче.
- 4Выполните установкуЗапустите
sudo dnf install <пакет>и подтвердите только проверенный план. После завершения проверьте пакет и функцию приложения.
sudo dnf install --assumeno <пакет>sudo dnf install <пакет>Локальный RPM-пакет можно передать DNF так: sudo dnf install /путь/к/<файл>.rpm. DNF обработает зависимости через доступные репозитории, если для них есть совместимые пакеты. Используйте только RPM доверенного происхождения; настройка сторонних репозиториев, ключей и политики проверки подписей относится к разделу безопасности.
Проверьте обновления и примените dnf upgrade
Что делают похожие команды DNF
| Команда | Результат | Меняет установленные пакеты |
|---|---|---|
dnf makecache | Загружает или обновляет метаданные репозиториев. | Нет |
dnf check-update | Сравнивает установленные версии с доступными и выводит обновления. | Нет |
dnf upgrade <пакет> | Обновляет указанный пакет и необходимые зависимости по рассчитанной транзакции. | Да, после подтверждения |
dnf upgrade | Обновляет все подходящие установленные пакеты. | Да, после подтверждения |
dnf update | В DNF 4 и DNF 5 обычно документирован как алиас upgrade; сверяйте справку целевого выпуска. | Да, после подтверждения |
dnf check-updatesudo dnf upgrade --assumeno <пакет>sudo dnf upgrade --assumenoПолное обновление требует отдельного планирования
dnf upgrade может затронуть библиотеки, службы и ядро. Пакетная транзакция успешно завершилась — это ещё не подтверждение, что сервер не нуждается в перезагрузке и что приложение продолжит работать. Планирование окна, обновление ядра, проверка перезагрузки и реалистичный откат разобраны в статье об обновлении Linux-сервера.Удалите пакет, ненужные зависимости и кэш
Удаление пакета через DNF
- 1Проверьте, что удаляете нужный пакетПосмотрите установленный экземпляр:
dnf list --installed <пакет>илиrpm -q <пакет>. Не путайте имя пакета с именем службы. - 2Просмотрите план удаленияВыполните
sudo dnf remove --assumeno <пакет>. Внимательно прочитайте список удаляемых пакетов и зависимостей. - 3Подтвердите удалениеЕсли план ожидаемый, выполните
sudo dnf remove <пакет>и подтвердите транзакцию. - 4При необходимости удалите осиротевшие зависимостиКоманда
sudo dnf autoremoveпредлагает автоматически установленные пакет ы, которые больше не нужны зависимостям. Её план также нужно прочитать до подтверждения.
sudo dnf remove --assumeno <пакет>sudo dnf autoremoveУдаление RPM не гарантирует удаления конфигурации, пользовательских файлов, баз данных и других данных приложения вне состава пакета. Также не следует считать, что remove всегда одинаково обрабатывает автоматически установленные зависимости: это зависит от конфигурации DNF и конкретной транзакции.
sudo dnf clean allПроверьте пакет и работоспособность приложения
dnf list --installed <пакет>; rpm -q <пакет>rpm -qi <пакет>Наличие пакета не равно работоспособности приложения. После установки или обновления проверьте профильную функцию: например, состояние нужной systemd-службы, её журнал, открытый порт либо прикладной запрос. Для служб используйте инструкцию по systemd и systemctl; если служба не запускается — порядок диагностики systemd-службы.
Посмотрите историю DNF и осторожно используйте undo или rollback
dnf historydnf history info <ID>sudo dnf history undo <ID>sudo dnf history rollback <ID>История DNF не гарантирует полный откат
dnf history undo и dnf history rollback формируют новую транзакцию на основе текущего состояния и доступных репозиториев. Операция может не выполниться, если прежние версии пакетов уже недоступны, изменились зависимости или сторонние пакеты. Она не возвращает изменения в конфигурациях, пользовательских данных, базах данных и файлах, которые изменялись вне пакетной транзакции.Не смешивайте пакеты и репозитории разных основных выпусков или разных дистрибутивов без документированной совместимости. Даже если DNF сумел рассчитать транзакцию, её результат может создать конфликтующие или неподдерживаемые зависимости. Для сообщения «ошибка зависимостей dnf» сначала проверяйте выпуск ОС, включённые источники, доступные версии и план транзакции; подробный порядок разбора приведён в статье «Не устанавливаются пакеты в Linux: блокировки, зависимости и ошибки APT/DNF».
Термины в статье
- Зависимость пакета
- Зависимость пакета — требование пакета к другому пакету или его версии, без выполнения которого установка, запуск либо корректное обновление ПО невозможны или ограничены.
- Индекс пакетов
- Индекс пакетов — набор метаданных репозитория, содержащий сведения о версиях, зависимостях, архитектурах и расположении доступных пакетов.
- Кэш пакетов
- Кэш пакетов — локально сохранённые менеджером пакетов архивы пакетов и, в зависимости от реализации, метаданные репозиториев для повторного использования.
- Менеджер пакетов
- Менеджер пакетов — средство установки, обновления, удаления и учёта программных пакетов; высокоуровневые менеджеры также работают с репозиториями и разрешают зависимости.
- Пакетная транзакция
- Пакетная транзакция — согласованный набор действий по установке, обновлению, удалению и настройке пакетов, формируемый менеджером пакетов в рамках одной команды или зад ания.
- Репозиторий пакетов
- Репозиторий пакетов — структурированный источник пакетов и метаданных, из которого менеджер пакетов получает версии ПО, зависимости, обновления и информацию о подписях.
- Системная служба
- Системная служба — программный компонент, которым ОС управляет как логической единицей для фонового выполнения задач или предоставления функций программам и пользователям.
- Удержание пакета
- Удержание пакета — состояние пакета, запрещающее менеджеру пакетов автоматически устанавливать, обновлять, удалять или менять его версию.
- AlmaLinux
- AlmaLinux — корпоративный дистрибутив Linux, поддерживаемый сообществом и AlmaLinux OS Foundation, ориентированный на совместимость с интерфейсами и экосистемой RHEL.
- APT
- APT — система управления пакетами в Debian-подобных Linux, которая получает пакеты из репозиториев, разрешает зависимости и передаёт установку низкоуровневому менеджеру dpkg.
- CentOS Linux
- CentOS Linux — п рекращённый свободно доступный дистрибутив Linux, создававшийся из исходных пакетов RHEL и ориентированный на бинарную совместимость с соответствующим выпуском RHEL.
- CentOS Stream
- CentOS Stream — дистрибутив Linux с непрерывной поставкой пакетов, формирующих следующую минорную версию Red Hat Enterprise Linux; он расположен между Fedora и RHEL.
- DEB-пакет
- DEB-пакет — архивный формат распространения ПО в Debian-совместимых Linux, содержащий файлы программы, метаданные и сведения о зависимостях.
- DNF
- DNF — менеджер пакетов для RPM-дистрибутивов, разрешающий зависимости и выполняющий операции с репозиториями; в современных системах он заменил классический YUM.
- EOL
- EOL — установленная поставщиком дата или стадия завершения жизненного цикла версии ПО либо модели оборудования; её последствия определяются политикой поставщика.
- Red Hat Subscription Management
- Red Hat Subscription Management — служба и набор средств Red Hat для регистрации RHEL-систем в организации и управления их доступом к репозиториям и контенту по её подпискам.
- RHEL
- RHEL — корпоративный дистрибутив Linux от Red Hat с фиксированными основными версиями, сертификационной экосистемой и моделью сопровождения, зависящей от подписки.
- Rocky Linux
- Rocky Linux — корпоративный дистрибутив Linux, создаваемый из исходных пакетов экосистемы RHEL и ориентированный на совместимость с RHEL без использования его товарных знаков.
- RPM-пакет
- RPM-пакет — файл формата RPM для распространения бинарного ПО или исходного кода. Он содержит метаданные и обычно полезную нагрузку; зависимости и сценарии необязательны.
- YUM
- YUM — менеджер пакетов для RPM-дистрибутивов Linux, который устанавливает, обновляет и удаляет ПО, автоматически разрешая зависимости из репозиториев.
