Команда dnf

Команда dnf предназначена для работы с одноименной утилитой, которая используется для управлении пакетами программного обеспечения в дистрибутивах RHEL, CentOS, а также Fedora Workstation (в первых двух дистрибутивах она пока не используется по умолчанию). Данная утилита пришла на смену широко известной утилите yum из-за проблем с производительностью и потреблением памяти последней. На сегодняшний день утилита dnf обладает всеми возможностями утилиты yum и является ее полноценной заменой, менее требовательной к ресурсам системы.

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

  # dnf [параметры] [команда] имена-пакетов-или-групп
ПараметрОписание
–skip-brokenпропускать пакеты с проблемами зависимостей
–allowerasingудалять пакеты для разрешения зависимостей
–cacheonly (или -C)использовать кэшированные метаданные без их обновления
–assumeyes (или -y) и –assumenoавтоматически отвечать утвердительно или отрицательно на все вопросы утилиты
–enablerepo и –disablerepoактивировать и деактивировать указанный репозиторий
–exclude (или -x) исключить из рассмотрения пакет с указанным именем

Команды

КомандаОписание
installУстановка пакета с заданным именем
reinstallПереустановка пакета с заданным именем
update/upgradeОбновление пакета с заданным именем
remove/eraseУдаление пакета с заданным именем
autoremoveУдаление осиротевших пакетов
infoПолучение информации о пакете с заданным именем
providesПолучение имени пакета, в котором имеется файл с заданным именем
searchПоиск пакетов с заданным словом в имени
listВывод имен всех доступных и установленных пакетов
list installedВывод списка всех установленных пакетов
list availableВывод списка всех доступных пакетов
repolistВывод списка подключенных репозиториев
repolist allВывод списка всех репозиториев
clean allУдаление всех метаданных
historyВывод истории использования dnf
groupunstallУстановка всех пакетов из группы с заданным именем
groupupdateОбновление всех пакетов из группы с заданным именем
groupremoveУдаление всех пакетов из группы с заданным именем
grouplistВывод имен всех существующих групп пакетов

В дистрибутиве Fedora Workstation dnf используется также для автоматической загрузки обновлений системы. Если вам не нужна эта функция (например, вы привыкли устанавливать обновления вручную или используете сетевое соединение с ограничением по трафику), вы можете деактивировать ее следующим образом.

В первую очередь следует деактивировать соответствующие службу и таймер systemd:

  # systemctl disable dnf-makecache.service
  # systemctl disable dnf-makecache.timer

Далее нужно отключить механизм автоматической загрузки обновлений на уровне службы packagekitd:

  $ gsettings set org.gnome.software download-updates false

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