Dnf
Введение
В дистрибутиве ROSA платформы 2021.1 и новее используется пакетный менеджер dnf. В этой статье даётся краткое описание его основных функций.
Приведённые команды запускать от root или через sudo:
sudo dnf <...>
DNF и RPM
Управление программными пакетами осуществляется с помощью утилит командной строки rpm и dnf. RPM является "низкоуровневым" пакетным менеджером, производящим установку, удаление и обновление пакетов, DNF "высокоуровневым" пакетным менеджером, в задачи которого входит разрешение зависимостей между пакетами, их скачивание и установка с использованием "низкоуровневого" RPM.
DNF
Основные операции с пакетами
Синтаксис консольной утилиты dnf имеет следующий вид:
dnf <опции> <команда> <пакет>
Команда | Описание |
install | Установка пакета |
reinstall | Переустановка пакета |
check-update | Проверка наличия обновлений |
update | Обновление пакета |
remove | Удаление пакета |
list | Вывод имен всех доступных и установленных пакетов |
search | Поиск пакета |
info | Вывод информации о пакете |
groupinstall | Установка группы пакетов |
groupupdate | Обновление группы пакетов |
groupremove | Удаление группы пакетов |
grouplist | Вывод информации о группах |
repolist | Вывод списка включённых репозиториев |
repolist all | Вывод списка всех подключённых репозиториев |
history | Дает информацию о выполненных командах, о датах и времени их выполнения, о числе затронутых пакетов, о том, были ли эти транзакции успешными или же были прерваны, и была ли изменена база данных RPM в промежуток между транзакциями. |
Пример установки пакета mc:
dnf install mc
Подробнее о работе dnf можно узнать во встроенной справке:
dnf --help
И в расширенной документации:
man dnf
Регулярные выражения
Регулярные выражения (regexp или regex) — это механизм поиска и замены с помощью шаблонов-символов. Все команды DNF предоставляют возможность поиска и фильтрации результата с помощью добавления одного или нескольких шаблонов выражений в качестве аргумента.
Шаблоны выражений содержат один или несколько символов подстановки — символ « * » расширяет поиск до соответствия любому поднабору знаков, а « ? » до соответствия любому одиночному символу.
dnf repoquery gea*
Покажет все доступные в репозитории пакеты имена которых начинаются на "gea":
- geany-0:1.38-1.x86_64
...............................
- geany-plugins-0:1.38-4.x86_64
dnf repoquery gea??
Покажет все пакеты имена которых начинаются на "gea" плюс ещё любых два символа:
- geany-0:1.38-1.x86_64
- geary-0:40.0-10.x86_64