что такое dnf fedora

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:

To install the package:

To remove a package:

Other common DNF commands include:

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

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:

using the command line

using its configuration files

You can add a line to /etc/dnf/dnf.conf to exclude packages:

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:

To lock the currently installed version of a package, use:

Источник

Что такое dnf fedora

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

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

Базовый синтаксис команды выглядит следующим образом:

# dnf [параметры] [команда] имена-пакетов-или-групп

Утилита поддерживает большое количество команд и параметров. Чаще всего используются такие параметры, как параметр —skip-broken, позволяющий пропускать пакеты с проблемами зависимостей, параметр —allowerasing, позволяющий удалять пакеты для разрешения зависимостей, параметр —cacheonly (или -C), позволяющий использовать кэшированные метаданные без их обновления, параметры —assumeyes (или -y) и —assumeno, позволяющие автоматически отвечать утвердительно или отрицательно на все вопросы утилиты, параметры —enablerepo и —disablerepo, позволяющие активировать и деактивировать указанный репозиторий, а также параметр —exclude (или -x), позволяющий исключить из рассмотрения пакет с указанным именем. Основными командами являются:

Команда Назначение
install Установка пакета с заданным именем
reinstall Переустановка пакета с заданным именем
Удаление пакета с заданным именем
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

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

Примеры использования

Установка пакета программного обеспечения

Для установки пакета программного обеспечения достаточно просто использовать команду install:

Удаление пакета программного обеспечения

Удаление пакета программного обеспечения осуществляется с помощью команды remove:

Поиск пакета программного обеспечения

Поиск пакета программного обеспечения осуществляется с помощью команды search. Также вместе с ней может использоваться параметр -C для отказа от обновления метаданных:

Обновление пакетов программного обеспечения

Для установки всех обновлений системы достаточно использовать команду update:

Источник

DNF — Утилита управления пакетами нового поколения для дистрибутивов на основе RPM

DNF была создана на замену утилиты управления пакетами «YUM» в дистрибутивах на основе Red Hat, а именно RHEL, CentOS и Fedora и т. д., то есть всех тех, которые используют менеджер пакетов RPM.

YUM (сокращение от Yellowdog Updater, Modified) — это бесплатная утилита с открытым исходным кодом на основе командной строки, выпущенная под лицензией GNU General Public License и в основном написанная на языке программирования Python. YUM был разработан для управления и обновления RedHat Linux в Университете Дьюка, позже он получил широкое признание и стал менеджером пакетов RedHat Enterprise Linux, Fedora, CentOS и других дистрибутивов Linux на основе RPM. Его часто называют «Your Package Manager» («вашим менеджером пакетов»), что неофициально часто используют профессионалы Linux.

Идея заменить Yum на DNF

Алеш Козумплик, разработчик проекта DNF, является сотрудником RedHat. Он говорит:

«Впервые в 2009 году, работая над «Anaconda» — установщиком системы, он получил представление о работе с Linux. Он хотел работать над совершенно другим проектом, который позволил бы ему изучить инструмент для работы с пакетами в Fedora».

Недостатки Yum, которые привели к основанию DNF:

Алеш Козумплик говорит, что у него нет другого выбора, кроме как разветвить YUM и разработать DNF. Сопровождающий пакета YUM не был готов реализовать эти изменения. YUM имеет около 59000 LOC, тогда как DNF имеет 29000 LOC (строк кода).

DNF впервые показала своё присутствие в Fedora 18. Fedora 20 была первым дистрибутивом Linux, который предлагал пользователям использовать функциональность DNF вместо YUM.

Расположение файла конфигурации dnf по умолчанию: /etc/dnf/dnf.conf.

1. Как проверить версию DNF

Чтобы проверить версию DNF, установленную в вашей системе, выполните команду:

2. Список включённых репозиториев DNF

Параметр «repolist» с помощью команды dnf отобразит все включённые репозитории в вашей системе.

3. Как вывести все включённые и отключённые репозитории DNF

Параметр «repolist all» распечатает все включённые и отключённые репозитории в вашей системе.

4. Как вывести все доступные и установленные пакеты с помощью DNF

Команда «dnf list» выведет список всех доступных пакетов из всех репозиториев и установленных пакетов в вашей системе Linux.

5. Как узнать все установленные пакеты с помощью DNF

А команда «dnf list» показывает все доступные/установленные пакеты из всех репозиториев. Однако у вас есть возможность вывести список только установленных пакетов с помощью опции «list installed», как показано ниже.

6. Как узнать все доступные пакеты с помощью DNF

Точно так же опция «list available» отобразит все пакеты, доступные для установки из всех включённых репозиториев.

7. Как найти пакет с помощью DNF

Если вы не знаете точное имя пакета, который вы хотите установить, в такой ситуации вы можете использовать опцию «search» с командой dnf для поиска пакета, который соответствует слову или строке (скажем, nano).

8. Как узнать, какому пакету принадлежит файл?

Параметр dnf «provides» находит имя пакета, который содержит конкретный файл или подпакет. Например, если вы хотите узнать, какой пакет в вашей системе создал файл /bin/bash:

9. Как получить подробную информацию о пакете с помощью DNF

Предположим, вы хотите узнать информацию о пакете перед его установкой в систему. Вы можете использовать переключатель «info», чтобы получить подробную информацию о пакете (например, nano), как показано ниже.

10. Как установить пакет с DNF

Чтобы установить пакет, просто запустите приведённую ниже команду, она автоматически разрешит и установит все необходимые зависимости для указанного пакета:

11. Как обновить пакет с помощью DNF

Вы можете обновить только определённый пакет (например, systemd) и оставить всё остальное в системе нетронутым.

12. Как проверить наличие обновлений системы с помощью DNF

Чтобы проверить обновления для всех пакетов программ, установленных в системе, выполните следующую команду

13. Как обновить все системные пакеты программ с помощью DNF

Вы можете обновить всю систему, включая все установленные пакеты, с помощью следующих команд.

14. Как удалить пакет с помощью DNF

Чтобы удалить или стереть любой нежелательный пакет (например, nano), вы можете использовать переключатель «remove» или «erase» с командой dnf, примеры команд:

15. Как удалить ненужные пакеты с помощью DNF

Те пакеты, которые были установлены для удовлетворения зависимости, могут оказаться бесполезными, если не будут использоваться другими приложениями. Чтобы удалить эти сиротские пакеты, выполните следующую команду.

16. Как удалить кэшированные пакеты с помощью DNF

Часто мы сталкиваемся с устаревшими заголовками и незавершёнными транзакциями, что приводит к ошибке при выполнении dnf. Мы можем очистить все кэшированные пакеты и заголовки, содержащие информацию об удалённых пакетах, просто выполнив:

17. Как получить справку по конкретной команде DNF

Вы можете получить помощь по любой конкретной команде dnf (скажем, clean), просто выполнив приведённую ниже команду.

18. Как узнать все команды и параметры DNF

Чтобы вывести справку по всем доступным командам и параметрам dnf, просто введите:

19. Как посмотреть историю команд DNF

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

20. Как вывести все групповые пакеты

Команда «dnf grouplist» распечатает все доступные или установленные пакеты, если ничего не упомянуто (не названа имя группы), отобразятся все известные группы.

21. Как установить групповой пакет с помощью DNF

Чтобы установить группу пакетов, объединённых вместе в виде группового пакета (скажем, Сетевые серверы), выполните следующую команду:

22. Обновление группового пакета

Давайте обновим групповой пакет (скажем, Сетевые серверы), выполнив следующую команду.

23. Удаление группового пакета

Мы можем удалить групповой пакет (скажем, Сетевые серверы) следующим образом:

24. Как установить пакет из определённого репозитория

DNF позволяет установить любой конкретный пакет (скажем, phpmyadmin) из репозитория (epel) для этого достаточно выполнить следующую команду:

25. Синхронизация установленных пакетов со стабильной версией

Команда «dnf distro-syncc» предоставит необходимые параметры для синхронизации всех установленных пакетов с самой последней стабильной версией, доступной из любого включённого репозитория. Если пакет не выбран, все установленные пакеты синхронизируются.

26. Как переустановить пакет

Команда «dnf переустановить nano» переустановит уже установленный пакет (скажем, nano).

27. Понижение версии пакета

Параметр «downgrade» понижает версию указанного пакета (скажем, acpid) до более низкой версии, если это возможно.

Источник

Основы управления пакетами: apt, yum, dnf, pkg

Самые современные Unix-подобные операционные системы предлагают централизованные механизмы для поиска и установки пакетов. Программное обеспечение, как правило, распространяется в виде пакетов, которые хранятся в репозиториях. Пакеты содержат основные компоненты операционной системы, а также общие библиотеки, приложения, услуги и документацию.

Система управления пакетами, помимо установки программного обеспечения, предоставляет множество других функций и инструментов для модернизации уже установленных пакетов. Репозитории пакетов гарантируют, что код прошел необходимую проверку для использования в системе, и что установленные версии программного обеспечения были одобрены разработчиками.

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

Управление пакетами является жизненно важным навыком для системных администраторов и разработчиков.

Это руководство охватывает основы управления пакетами: поиск, установку и обновление пакетов для различных дистрибутивов.

Системы управления пакетами: краткий обзор

Большинство систем управления пакетами строятся на наборах файлов пакетов. Файл пакета – это, как правило, архив, который содержит скомпилированные бинарные файлы, скрипты установки и другие ресурсы, составляющие программу. Также пакеты содержат ценные метаданные, в том числе их зависимости (список пакетов, необходимых для запуска программы).

Системой бинарных файлов FreeBSD управляет команда pkg. Кроме того, FreeBSD предоставляет коллекцию портов, локальную структуру каталогов и инструментов, которые позволяют извлекать, компилировать и устанавливать пакеты из исходного кода с помощью make-файлов. Обычно удобнее пользоваться менеджером pkg, но иногда предварительно скомпилированные пакеты недоступны.

Обновление списка пакетов

Большинство систем содержит локальную базу данных пакетов, доступных в удаленных репозиториях. Перед установкой или обновлением пакета рекомендуется обновить эту базу данных. Частичным исключением из этого шаблона являются yum и DNF, которые проверяют наличие обновлений пакетов перед выполнением некоторых операций.

Операционная система Команда
Debian / Ubuntu sudo apt-get update
CentOS yum check-update
Fedora dnf check-update
FreeBSD Packages sudo pkg update
FreeBSD Ports sudo portsnap fetch update

Обновление установленных пакетов

Поддержка установленного программного обеспечения в актуальном состоянии без помощи системы управления пакетами – довольно трудоёмкое задание. Вам придется самостоятельно отслеживать обновления пакетов и извещения безопасности для сотен разных пакетов. Конечно, пакетный менеджер не решит всех проблем, которые могут возникнуть при обновлении программного обеспечения, но он поможет поддерживать большинство компонентов системы в актуальном состоянии при помощи всего нескольких команд.

В системе FreeBSD обновление установленных портов может потребовать ручной настройки. Прежде чем обновлять portmaster, рекомендуется ознакомиться с /usr/ports/UPDATING.

Поиск пакетов

Большинство дистрибутивов предоставляет графический или управляемый в режиме меню интерфейс для наборов пакетов. Он позволяет просматривать категории и искать новое программное обеспечение. Однако чаще всего самым быстрым и самым эффективным способом поиска пакетов является поиск с помощью инструментов командной строки.

Информация о пакетах

Принимая решение, как пакет установить, обратитесь за помощью к подробному описанию пакетов. Этот удобочитаемый текст часто содержит полезные метаданные: номера версий, список зависимостей и т.п.

Установка пакетов из репозиториев

Зная имя необходимого пакета, его можно очень быстро установить при помощи одной команды. Также в одной команде можно перечислить все пакеты, которые нужно установить.

Установка пакета из локальной файловой системы

Иногда разработчики или поставщики предлагают пакетные файлы для скачивания, даже если приложение официально не упаковано для данной операционной системы.

Как правило, такие пакеты можно загрузить при помощи веб-браузера или утилиты curl в командной строке. После загрузки пакета его можно установить с помощью одной команды.

В Debian-подобных системах индивидуальными файлами пакетов управляет dpkg. Если пакет имеет зависимости, которых не установлены в системе, gdebi может загрузить их из официального репозитория.

В системах CentOS и Fedora для установки отдельных файлов и обработки необходимых зависимостей используется yum и dnf.

Удаление пакетов

Менеджер пакетов знает, какие именно файлы предоставляет каждый конкретный пакет, потому с его помощью можно легко удалить все ненужные программы.

Система Команда
Debian / Ubuntu sudo apt-get remove package
sudo apt-get autoremove
CentOS sudo yum remove package
Fedora sudo dnf erase package
FreeBSD (пакеты) sudo pkg delete package
sudo pkg autoremove
FreeBSD (порты) sudo pkg delete package
cd /usr/ports/path_to_port && make deinstall

Получение справки

Кроме веб-документации системы Unix предоставляют удобный справочник, в котором можно найти информацию о большинстве команд оболочки. Чтобы открыть мануал, введите:

В справочнике можно перемещаться при помощи кнопок со стрелками. Нажмите /, чтобы искать по тексту страницы, и q, чтобы выйти.

Система Команда Примечания
Debian / Ubuntu man apt-get Обновление локальной базы данных пакетов и работа с пакетами.
man apt-cache Запрос локальной базы данных пакетов.
man dpkg Управление индивидуальными файлами пакетов и запрос установленных пакетов.
CentOS man yum
Fedora man dnf
FreeBSD пакеты man pkg Управление предварительно скомпилированными файлами пакетов.
FreeBSD порты man ports Управление коллекцией портов.

Дополнительные ссылки

Данное руководство знакомит с основами управления пакетами в Unix-подобных системах. Более подробную информацию по этой довольно сложной теме можно найти по следующим ссылкам:

Источник

Управление пакетами программного обеспечения с помощью утилиты DNF в дистрибутиве Fedora

Оригинал: Managing packages on Fedora with DNF
Автор: Ankur Sinha «FranciscoD»
Дата публикации: 15 сентября 2015 г.
Перевод: А.Панин
Дата перевода: 8 октября 2015 г.

В версии 22 дистрибутива Fedora было внесено значительное изменение в низкоуровневый инструментарий администрирования системы: был представлен менеджер пакетов программного обеспечения DNF (DaNdiFied YUM). Данное изменение видимо лишь тем пользователям, которые использовали менеджер пакетов программного обеспечения YUM для работы с пакетами программного обеспечения из репозиториев дистрибутива Fedora. Пользователи, работающие с различными инструментами с графическим интерфейсом, такими, как Центр приложений GNOME и Apper, не должны заметить каких-либо изменений.

Основные команды остались теми же

В процессе проектирования нового менеджера пакетов программного обеспечения разработчики DNF пытались сделать переход с YUM на DNF максимально простым для пользователей. Они решили использовать в своем менеджере пакетов синтаксис команд, максимально повторяющий синтаксис соответствующих команд YUM. Таким образом, основные команды остались теми же, что и в YUM. При работе с YUM, к примеру, для установки пакета программного обеспечения, а именно, nano, могла быть использована следующая команда.

В случае работы с DNF для этой цели может использоваться следующая команда:

По аналогии для поиска пакета программного обеспечения в случае работы с YUM могла использоваться следующая команда:

В случае работы с DNF для этой цели может использоваться аналогичная команда:

Плагины DNF для выполнения более сложных задач

Опытные пользователи могли заметить, что в данной статье пока не затрагивались команды, реализованные в рамках сценариев из пакета yum-utils, такие, как команды для установки пакетов с отладочной информацией для приложений или команды для загрузки пакетов RPM с исходным кодом приложений из репозиториев. Для реализации таких специфических функций в DNF используются различные плагины, которые упакованы в различные пакеты программного обеспечения из репозитория дистрибутива Fedora. В приведенной ниже таблице документируются некоторые из этих плагинов:

Команда Yum Команда DNF Реализация в пакете
debuginfo-install dnf debuginfo-install dnf-plugins-core
repoquery dnf repoquery dnf-plugins-core
yum-builddep dnf builddep dnf-plugins-core
yum-config-manager dnf config-manager dnf-plugins-core
yumdownloader dnf download dnf-plugins-core
repo-graph dnf repograph dnf-plugins-extras-repograph

DNF в будущем

Источник

Читайте также:  что значит в фейсбуке новый рекомендуемый друг
Строительный портал