- Что такое dnf в linux
- Автоматическая загрузка обновлений
- Примеры использования
- Установка пакета программного обеспечения
- Удаление пакета программного обеспечения
- Поиск пакета программного обеспечения
- Обновление пакетов программного обеспечения
- Using the DNF software package manager
- Usage
- Automatic Updates
- System Upgrades
- Language Support Using DNF
- Plugins
- Excluding Packages From Transactions
- Using the DNF Versionlock plugin
- References
Что такое dnf в linux
Команда dnf предназначена для работы с одноименной утилитой, которая используется для управлении пакетами программного обеспечения в дистрибутивах RHEL, CentOS, а также Fedora Workstation (в первых двух дистрибутивах она пока не используется по умолчанию). Данная утилита пришла на смену широко известной утилите yum из-за проблем с производительностью и потреблением памяти последней. На сегодняшний день утилита dnf обладает всеми возможностями утилиты yum и является ее полноценной заменой, менее требовательной к ресурсам системы.
Вы можете использовать dnf для установки и удаления пакетов программного обеспечения из вашей системы (группами или по одному), а также обновления системных списков пакетов программного обеспечения из подключенных на данный момент репозиториев.
Базовый синтаксис команды выглядит следующим образом:
# dnf [параметры] [команда] имена-пакетов-или-групп
Утилита поддерживает большое количество команд и параметров. Чаще всего используются такие параметры, как параметр —skip-broken, позволяющий пропускать пакеты с проблемами зависимостей, параметр —allowerasing, позволяющий удалять пакеты для разрешения зависимостей, параметр —cacheonly (или -C), позволяющий использовать кэшированные метаданные без их обновления, параметры —assumeyes (или -y) и —assumeno, позволяющие автоматически отвечать утвердительно или отрицательно на все вопросы утилиты, параметры —enablerepo и —disablerepo, позволяющие активировать и деактивировать указанный репозиторий, а также параметр —exclude (или -x), позволяющий исключить из рассмотрения пакет с указанным именем. Основными командами являются:
Автоматическая загрузка обновлений
В дистрибутиве Fedora Workstation dnf используется также для автоматической загрузки обновлений системы. Если вам не нужна эта функция (например, вы привыкли устанавливать обновления вручную или используете сетевое соединение с ограничением по трафику), вы можете деактивировать ее следующим образом.
В первую очередь следует деактивировать соответствующие службу и таймер systemd:
# systemctl disable dnf-makecache.service
# systemctl disable dnf-makecache.timer
Далее нужно отключить механизм автоматической загрузки обновлений на уровне службы packagekitd:
$ gsettings set org.gnome.software download-updates false
После этого система не будет самостоятельно проверять наличие, загружать и предлагать устанавливать обновления. Не стоит отключать данный механизм без весомых оснований!
Примеры использования
Установка пакета программного обеспечения
Для установки пакета программного обеспечения достаточно просто использовать команду install:
# dnf install midori Последняя проверка окончания срока действия метаданных: 1:17:29 назад, Пн 31 июл 2017 17:36:45. Зависимости разрешены. ================================================================================ Пакет Архитектура Версия Репозиторий Размер ================================================================================ Установка: midori x86_64 0.5.12-0.2.fc26 fedora 1.3 M Результат транзакции ================================================================================ Установка 1 Пакет Объем загрузки: 1.3 M Объем изменений: 6.2 M Продолжить? [д/Н]: y Загрузка пакетов: midori-0.5.12-0.2.fc26.x86_64.rpm 621 kB/s | 1.3 MB 00:02 -------------------------------------------------------------------------------- Общий размер 277 kB/s | 1.3 MB 00:04 Проверка транзакции Проверка транзакции успешно завершена. Идет проверка транзакции Тест транзакции проведен успешно Выполнение транзакции Подготовка : 1/1 Установка : midori-0.5.12-0.2.fc26.x86_64 1/1 Запуск скриплета: midori-0.5.12-0.2.fc26.x86_64 1/1 Проверка : midori-0.5.12-0.2.fc26.x86_64 1/1 Установлено: midori.x86_64 0.5.12-0.2.fc26 Выполнено!
Удаление пакета программного обеспечения
Удаление пакета программного обеспечения осуществляется с помощью команды remove:
# dnf remove midori Зависимости разрешены. ================================================================================ Пакет Архитектура Версия Репозиторий Размер ================================================================================ Удаление: midori x86_64 0.5.12-0.2.fc26 @fedora 6.2 M Результат транзакции ================================================================================ Удаление 1 Пакет Освобожденное место: 6.2 M Продолжить? [д/Н]: y Проверка транзакции Проверка транзакции успешно завершена. Идет проверка транзакции Тест транзакции проведен успешно Выполнение транзакции Подготовка : 1/1 Удаление : midori-0.5.12-0.2.fc26.x86_64 1/1 Запуск скриплета: midori-0.5.12-0.2.fc26.x86_64 1/1 Проверка : midori-0.5.12-0.2.fc26.x86_64 1/1 Удален: midori.x86_64 0.5.12-0.2.fc26 Выполнено!
Поиск пакета программного обеспечения
Поиск пакета программного обеспечения осуществляется с помощью команды search. Также вместе с ней может использоваться параметр -C для отказа от обновления метаданных:
# dnf -C search midori Последняя проверка окончания срока действия метаданных: 1:09:54 назад, Пн 31 июл 2017 17:36:45. ========================= Имя Exactly Matched: midori ========================== midori.x86_64 : A lightweight GTK+ web browser midori.i686 : A lightweight GTK+ web browser
Обновление пакетов программного обеспечения
Для установки всех обновлений системы достаточно использовать команду update:
# dnf update Последняя проверка окончания срока действия метаданных: 1:24:50 назад, Пн 31 июл 2017 17:36:45. Зависимости разрешены. Отсутствуют действия для выполнения Выполнено!
Using the DNF software package manager
DNF is a software package manager that installs, updates, and removes packages on Fedora and is the successor to YUM (Yellow-Dog Updater Modified). DNF makes it easy to maintain packages by automatically checking for dependencies and determines the actions required to install packages. This method eliminates the need to manually install or update the package, and its dependencies, using the rpm command. DNF is now the default software package management tool in Fedora.
Usage
dnf can be used exactly as yum to search, install or remove packages.
To search the repositories for a package type:
Other common DNF commands include:
- autoremove — removes packages installed as dependencies that are no longer required by currently installed programs.
- check-update — checks for updates, but does not download or install the packages.
- downgrade — reverts to the previous version of a package.
- info — provides basic information about the package including name, version, release, and description.
- reinstall — reinstalls the currently installed package.
- upgrade — checks the repositories for newer packages and updates them.
- exclude — exclude a package from the transaction.
For more DNF commands refer to the man pages by typing man dnf at the command-line, or DNF Read The Docs
Automatic Updates
The dnf-automatic package is a component that allows automatic download and installation of updates. It can automatically monitor and report, via e-mail, the availability of updates or send a log about downloaded packages and installed updates.
For more information, refer to the Read the Docs: DNF-Automatic page.
System Upgrades
The Fedora system can be upgraded directly with DNF, or with the DNF system upgrade plugin. Refer to the DNF System Upgrade document for more details.
Language Support Using DNF
DNF can be used to install or remove Language Support. A detailed description with a list of available languages can be found on Language Support Using Dnf page.
Plugins
The core DNF functionality can be extended with plugins. There are officially supported Core DNF plugins and also third-party Extras DNF Plugins. To install them, run
# dnf install dnf-plugins-core-PLUGIN_NAME
# dnf install dnf-plugins-extras-PLUGIN_NAME
Excluding Packages From Transactions
Sometimes it is useful to ignore specific packages from transactions, such as updates. One such case, for example, could be when an update includes a regression or a bug. DNF allows you to exclude a package from the transaction:
sudo dnf upgrade --exclude=packagename
You can add a line to /etc/dnf/dnf.conf to exclude packages:
This can also be added to the specific repository configuration files in /etc/yum.repos.d/ . Globs may be used here to list multiple packages, and each specification must be separated by a comma. If you have used this configuration, you can disable it in individual DNF commands using using the —disableexcludes command line switch.
If you use a GUI update application which does not allow you to specify packages to exclude when they run, this method can be used.
Using the DNF Versionlock plugin
You can also use the DNF versionlock plugin to limit the packages that are included in a transaction. It allows you to list what versions of particular packages should be considered in a transaction. All other versions of the specified packages will be ignored. The plugin is part of dnf-plugins-core package and can be installed using the command below:
sudo dnf install 'dnf-command(versionlock)'
To lock the currently installed version of a package, use:
sudo dnf versionlock add package
To remove the version lock, use:
sudo dnf versionlock delete package
The list command can be used to list all locked packages, while the clear command will delete all locked entries.
References
All Fedora Documentation content available under CC BY-SA 4.0 or, when specifically noted, under another accepted free and open content license.
Last build: 2023-07-13 13:50:17 UTC | Last content update: 2022-10-15