Команда 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
После этого система не будет самостоятельно проверять наличие, загружать и предлагать устанавливать обновления. Не стоит отключать данный механизм без весомых оснований!