DNF (менеджер пакетов): различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Спасено источников — 1, отмечено мёртвыми — 0. Сообщить об ошибке. См. FAQ. #IABot (v2.0beta10ehf1)
Нет описания правки
Строка 18: Строка 18:
'''DNF''' или '''Dandified YUM'''<ref>{{Cite web|url=https://fedoraproject.org/wiki/DNF|title=DNF|website=Fedora Project Wiki|accessdate=21 May 2018}}</ref><ref>{{Cite web|url=https://dnf.readthedocs.io/en/latest/user_faq.html#what-does-dnf-stand-for|title=What does DNF stand for|website=DNF User's FAQ|accessdate=21 May 2018}}</ref><ref>{{Cite web|url=https://github.com/rpm-software-management/dnf/blob/master/README.rst|title=README.rst · rpm-software-management/dnf · GitHub|website=Github DNF Repository, commit 8174427421b995265c6297ebd64024ded099ecf0|accessdate=21 May 2018}}</ref> — следующее поколение приложения [[Yellowdog Updater, Modified|Yellowdog Updater Modified]] ('''yum'''), [[Система управления пакетами|менеджер пакетов]] для дистрибутивов ОС Linux на основе [[RPM]]-пакетов. DNF разрабатывался с 2011 года<ref>Adam Saunders [https://lwn.net/Articles/603993/ Fedora and DNF], LWN July 2, 2014</ref> и был представлен в [[Fedora]] 18<ref name="DNF-Fedora">{{Cite web|url=http://www.linux-magazine.com/Online/Features/Will-DNF-Replace-Yum|date=2014|title=Will DNF Replace Yum?|first=Bruce|last=Byfield|website=[[Linux Magazine]]|accessdate=2015-05-28}}</ref> и используется как основная система управления пакетами начиная с версии Fedora 22.<ref name="F22_released">{{Cite web|url=http://www.webupd8.org/2015/05/fedora-22-released-see-whats-new.html|title=Fedora 22 Released, See What`s New [Workstation]|author=Andrew|last=Andrew|date=2015-05-26|publisher=WebUpd8|accessdate=2015-05-28}}</ref>
'''DNF''' или '''Dandified YUM'''<ref>{{Cite web|url=https://fedoraproject.org/wiki/DNF|title=DNF|website=Fedora Project Wiki|accessdate=21 May 2018}}</ref><ref>{{Cite web|url=https://dnf.readthedocs.io/en/latest/user_faq.html#what-does-dnf-stand-for|title=What does DNF stand for|website=DNF User's FAQ|accessdate=21 May 2018}}</ref><ref>{{Cite web|url=https://github.com/rpm-software-management/dnf/blob/master/README.rst|title=README.rst · rpm-software-management/dnf · GitHub|website=Github DNF Repository, commit 8174427421b995265c6297ebd64024ded099ecf0|accessdate=21 May 2018}}</ref> — следующее поколение приложения [[Yellowdog Updater, Modified|Yellowdog Updater Modified]] ('''yum'''), [[Система управления пакетами|менеджер пакетов]] для дистрибутивов ОС Linux на основе [[RPM]]-пакетов. DNF разрабатывался с 2011 года<ref>Adam Saunders [https://lwn.net/Articles/603993/ Fedora and DNF], LWN July 2, 2014</ref> и был представлен в [[Fedora]] 18<ref name="DNF-Fedora">{{Cite web|url=http://www.linux-magazine.com/Online/Features/Will-DNF-Replace-Yum|date=2014|title=Will DNF Replace Yum?|first=Bruce|last=Byfield|website=[[Linux Magazine]]|accessdate=2015-05-28}}</ref> и используется как основная система управления пакетами начиная с версии Fedora 22.<ref name="F22_released">{{Cite web|url=http://www.webupd8.org/2015/05/fedora-22-released-see-whats-new.html|title=Fedora 22 Released, See What`s New [Workstation]|author=Andrew|last=Andrew|date=2015-05-26|publisher=WebUpd8|accessdate=2015-05-28}}</ref>


Предыдущий YUM имел несколько недостатков, и DNF был призван их решить. Среди них: низкая производительность, высокое потребление памяти и низкая скорость итеративного [[Топологическая сортировка|разрешения зависимостей]].<ref name="lwn580223">{{Cite web|url=https://lwn.net/Articles/580223/|title=DNF and Yum in Fedora|first=Jake|last=Edge|date=2014-01-15|publisher=[[LWN.net]]|accessdate=2015-03-29}}</ref> DNF применил libsolv — внешний решатель зависимостей.
Предыдущий YUM имел несколько недостатков, и DNF был призван их решить. Среди них: низкая производительность, высокое потребление памяти и низкая скорость интеративного [[Топологическая сортировка|разрешения зависимостей]].<ref name="lwn580223">{{Cite web|url=https://lwn.net/Articles/580223/|title=DNF and Yum in Fedora|first=Jake|last=Edge|date=2014-01-15|publisher=[[LWN.net]]|accessdate=2015-03-29}}</ref> DNF применил libsolv — внешний решатель зависимостей.


DNF управляет зависимостями RPM-пакетов и использует ряд существующих библиотек для работы с ними. Изначально проект был реализован на [[Python|языке программирования Python]], но ведутся работы по его переносу на язык Си и C++<ref>[https://lwn.net/Articles/750238/ DNF 3: better performance and a move to C++] / LWN, March 28, 2018</ref><ref>[https://rpm-software-management.github.io/announcement/2018/03/22/dnf-3-announcement/ Announcing DNF 3 development]. Daniel Mach, Jaroslav Mracek, March 22, 2018</ref> и перемещение большинства функций из Python в новую библиотеку libdnf.<ref name="libdnfinitiative">{{Cite web|url=http://dnf.baseurl.org/2016/02/24/dnf-into-c-initiative-started/|title=DNF into C initiative started|first=Jan|last=Šilhan|website=DNF blog|date=2016-02-24|accessdate=2017-07-05|archiveurl=https://web.archive.org/web/20170702103537/http://dnf.baseurl.org/2016/02/24/dnf-into-c-initiative-started/|archivedate=2017-07-02|deadlink=yes}}</ref> libdnf уже используется в [[PackageKit]], системе интерфейсов пакетных менеджеров для произвольных [[дистрибутив Linux|дистрибутивов Linux]].<ref name="packagekitlibdnf">{{Cite web|url=https://ctrl.blog/entry/packagekit-dnf|title=Use DNF rather than PackageKit on Fedora|first=Daniel|last=Aleksandersen|website=Ctrl blog|date=2017-07-05|accessdate=2017-08-07}}</ref>
DNF управляет зависимостями RPM-пакетов и использует ряд существующих библиотек для работы с ними. Изначально проект был реализован на [[Python|языке программирования Python]], но ведутся работы по его переносу на язык Си и C++<ref>[https://lwn.net/Articles/750238/ DNF 3: better performance and a move to C++] / LWN, March 28, 2018</ref><ref>[https://rpm-software-management.github.io/announcement/2018/03/22/dnf-3-announcement/ Announcing DNF 3 development]. Daniel Mach, Jaroslav Mracek, March 22, 2018</ref> и перемещение большинства функций из Python в новую библиотеку libdnf.<ref name="libdnfinitiative">{{Cite web|url=http://dnf.baseurl.org/2016/02/24/dnf-into-c-initiative-started/|title=DNF into C initiative started|first=Jan|last=Šilhan|website=DNF blog|date=2016-02-24|accessdate=2017-07-05|archiveurl=https://web.archive.org/web/20170702103537/http://dnf.baseurl.org/2016/02/24/dnf-into-c-initiative-started/|archivedate=2017-07-02|deadlink=yes}}</ref> libdnf уже используется в [[PackageKit]], системе интерфейсов пакетных менеджеров для произвольных [[дистрибутив Linux|дистрибутивов Linux]].<ref name="packagekitlibdnf">{{Cite web|url=https://ctrl.blog/entry/packagekit-dnf|title=Use DNF rather than PackageKit on Fedora|first=Daniel|last=Aleksandersen|website=Ctrl blog|date=2017-07-05|accessdate=2017-08-07}}</ref>

Версия от 19:45, 23 июня 2019

Dandified Yum
Логотип программы Dandified Yum
Скриншот программы Dandified Yum
Работа DNF в дистрибутиве Fedora 26
Тип Система управления пакетами
Разработчик Red Hat
Написана на C, Python
Операционная система Linux
Языки интерфейса English
Первый выпуск 11 мая 2015
Последняя версия 3.2.0 (7 августа 2018; 6 лет назад (2018-08-07)[1])
Репозиторий github.com/rpm-software-…
github.com/rpm-software-…
Лицензия GPL v2
Сайт rpm-software-management.github.io
Логотип Викисклада Медиафайлы на Викискладе

DNF или Dandified YUM[2][3][4] — следующее поколение приложения Yellowdog Updater Modified (yum), менеджер пакетов для дистрибутивов ОС Linux на основе RPM-пакетов. DNF разрабатывался с 2011 года[5] и был представлен в Fedora 18[6] и используется как основная система управления пакетами начиная с версии Fedora 22.[7]

Предыдущий YUM имел несколько недостатков, и DNF был призван их решить. Среди них: низкая производительность, высокое потребление памяти и низкая скорость интеративного разрешения зависимостей.[8] DNF применил libsolv — внешний решатель зависимостей.

DNF управляет зависимостями RPM-пакетов и использует ряд существующих библиотек для работы с ними. Изначально проект был реализован на языке программирования Python, но ведутся работы по его переносу на язык Си и C++[9][10] и перемещение большинства функций из Python в новую библиотеку libdnf.[11] libdnf уже используется в PackageKit, системе интерфейсов пакетных менеджеров для произвольных дистрибутивов Linux.[12]

Использование

DNF стал менеджером пакетов по умолчанию в Fedora начиная с версии 22 от мая 2015 года. Библиотека libdnf используется в проекте PackageKit. DNF является альтернативным менеджером пакетов в Mageia Linux начиная с версии 6, и может стать основным в будущем.[13]

Часть возможностей DNF были перенесены в версию YUM 4 от 2017 года, в том числе, ускоренное разрешение зависимостей[14][15].

Зависимости

libdnf

  • Предоставляет API высокого уровня для DNF и базовых библиотек
  • Си, лицензия LGPLv2+

libsolv

  • Бесплатный решатель зависимостей с использованием алгоритма SAT
  • Служит для решения зависимостей и чтения списков пакетов из репозиториев
  • Си, новая лицензия BSD

librepo

  • Библиотека предоставляет интерфейсы С и Python (по аналогии с libcurl) для скачивания метаданных пакетного репозитория Linux и самих пакетов
  • Си, лицензия LGPLv2+

libcomps

  • Libcomps является альтернативой для библиотеки «yum.comps». Реализована на языке Си, имеет интерфейсы для python2 и python3.
  • Си, лицензия GPLv2+

Примечания

  1. Releases · rpm-software-management/dnf · GitHub. GitHub DNF Repository (7 августа 2018). Дата обращения: 7 августа 2018.
  2. DNF. Fedora Project Wiki. Дата обращения: 21 мая 2018.
  3. What does DNF stand for. DNF User's FAQ. Дата обращения: 21 мая 2018.
  4. README.rst · rpm-software-management/dnf · GitHub. Github DNF Repository, commit 8174427421b995265c6297ebd64024ded099ecf0. Дата обращения: 21 мая 2018.
  5. Adam Saunders Fedora and DNF, LWN July 2, 2014
  6. Byfield, Bruce Will DNF Replace Yum? Linux Magazine (2014). Дата обращения: 28 мая 2015.
  7. Andrew Fedora 22 Released, See What`s New [Workstation]. WebUpd8 (26 мая 2015). Дата обращения: 28 мая 2015.
  8. Edge, Jake DNF and Yum in Fedora. LWN.net (15 января 2014). Дата обращения: 29 марта 2015.
  9. DNF 3: better performance and a move to C++ / LWN, March 28, 2018
  10. Announcing DNF 3 development. Daniel Mach, Jaroslav Mracek, March 22, 2018
  11. Šilhan, Jan DNF into C initiative started. DNF blog (24 февраля 2016). Дата обращения: 5 июля 2017. Архивировано из оригинала 2 июля 2017 года.
  12. Aleksandersen, Daniel Use DNF rather than PackageKit on Fedora. Ctrl blog (5 июля 2017). Дата обращения: 7 августа 2017.
  13. Larabel, Michael Mageia To Offer DNF, But Will Keep Using URPMI By Default. Phoronix (5 сентября 2016). Дата обращения: 4 декабря 2017.
  14. YUM 4 is available for testing – Blog.CentOS.org
  15. OpenNews: Началось тестирование пакетного менеджера YUM 4

Ссылки