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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
м checkwiki fixes (1, 2, 9, 17, 22, 26, 38, 48, 50, 52, 54, 64, 65, 66, 76, 81, 86, 88, 89, 101)
 
(не показаны 2 промежуточные версии 2 участников)
Строка 6: Строка 6:
| тип = [[Система управления пакетами]]
| тип = [[Система управления пакетами]]
| разработчик = [[Red Hat]]
| разработчик = [[Red Hat]]
| написана на = [[C (язык программирования)|C]], [[Python|Python]]
| написана на = [[C (язык программирования)|C]], [[Python]]
| интерфейс = CLI
| интерфейс = CLI
| операционные системы = [[Linux]]
| операционные системы = [[Linux]]
| языки интерфейса = English
| языки интерфейса = English
| первый выпуск = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
| первый выпуск = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
| состояние = microDNF станет заменой DNF, активное на данный монет
| состояние = microDNF станет заменой DNF, активное на данный момент
| лицензия = [[GNU General Public License#Version 2|GPL v2]]
| лицензия = [[GNU General Public License#Version 2|GPL v2]]
| сайт = {{URL|https://rpm-software-management.github.io/}}
| сайт = {{URL|https://rpm-software-management.github.io/}}
| дата тестовой версии = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
| дата тестовой версии = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
}}
}}
'''DNF''' или '''Dandified YUM'''<ref>{{Cite web|url=https://fedoraproject.org/wiki/DNF|title=DNF|website=Fedora Project Wiki|accessdate=21 May 2018|archive-date=2018-10-14|archive-url=https://web.archive.org/web/20181014204047/https://fedoraproject.org/wiki/DNF|deadlink=no}}</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|archive-date=2018-10-14|archive-url=https://web.archive.org/web/20181014204116/https://dnf.readthedocs.io/en/latest/user_faq.html#what-does-dnf-stand-for|deadlink=no}}</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|archive-date=2020-06-05|archive-url=https://web.archive.org/web/20200605112751/https://github.com/rpm-software-management/dnf/blob/master/README.rst|deadlink=no}}</ref> — следующее поколение приложения [[Yum]], [[Система управления пакетами|менеджер пакетов]] для дистрибутивов ОС Linux на основе [[RPM]]-пакетов. DNF разрабатывался с 2011 года<ref>Adam Saunders [https://lwn.net/Articles/603993/ Fedora and DNF] {{Wayback|url=https://lwn.net/Articles/603993/ |date=20181014204308 }}, 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|archive-date=2015-09-26|archive-url=https://web.archive.org/web/20150926071643/http://www.linux-magazine.com/Online/Features/Will-DNF-Replace-Yum|deadlink=no}}</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|archive-date=2015-09-25|archive-url=https://web.archive.org/web/20150925093141/http://www.webupd8.org/2015/05/fedora-22-released-see-whats-new.html|deadlink=no}}</ref>
'''DNF''' или '''Dandified YUM'''<ref>{{Cite web|url=https://fedoraproject.org/wiki/DNF|title=DNF|website=Fedora Project Wiki|accessdate=2018-05-21|archive-date=2018-10-14|archive-url=https://web.archive.org/web/20181014204047/https://fedoraproject.org/wiki/DNF|deadlink=no}}</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=2018-05-21|archive-date=2018-10-14|archive-url=https://web.archive.org/web/20181014204116/https://dnf.readthedocs.io/en/latest/user_faq.html#what-does-dnf-stand-for|deadlink=no}}</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=2018-05-21|archive-date=2020-06-05|archive-url=https://web.archive.org/web/20200605112751/https://github.com/rpm-software-management/dnf/blob/master/README.rst|deadlink=no}}</ref> — следующее поколение приложения [[Yum]], [[Система управления пакетами|менеджер пакетов]] для дистрибутивов ОС Linux на основе [[RPM]]-пакетов. DNF разрабатывался с 2011 года<ref>Adam Saunders [https://lwn.net/Articles/603993/ Fedora and DNF] {{Wayback|url=https://lwn.net/Articles/603993/ |date=20181014204308 }}, 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|archive-date=2015-09-26|archive-url=https://web.archive.org/web/20150926071643/http://www.linux-magazine.com/Online/Features/Will-DNF-Replace-Yum|deadlink=no}}</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|archive-date=2015-09-25|archive-url=https://web.archive.org/web/20150925093141/http://www.webupd8.org/2015/05/fedora-22-released-see-whats-new.html|deadlink=no}}</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|archive-date=2015-09-30|archive-url=https://web.archive.org/web/20150930225233/https://lwn.net/Articles/580223/|deadlink=no}}</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|archive-date=2015-09-30|archive-url=https://web.archive.org/web/20150930225233/https://lwn.net/Articles/580223/|deadlink=no}}</ref> DNF применил libsolv — внешний решатель зависимостей.

Текущая версия от 11:14, 14 сентября 2024

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

DNF или Dandified YUM[2][3][4] — следующее поколение приложения 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].

Зависимости

[править | править код]
  • Предоставляет API высокого уровня для DNF и базовых библиотек
  • Язык Си, лицензия LGPLv2+
  • Бесплатный решатель зависимостей с использованием алгоритма SAT
  • Служит для решения зависимостей и чтения списков пакетов из репозиториев
  • Язык Си, новая лицензия BSD
  • Библиотека предоставляет интерфейсы С и Python (по аналогии с libcurl) для скачивания метаданных пакетного репозитория Linux и самих пакетов
  • Язык Си, лицензия LGPLv2+
  • Libcomps является альтернативой для библиотеки «yum.comps». Реализована на языке Си, имеет интерфейсы для python2 и python3.
  • Язык Си, лицензия GPLv2+

Примечания

[править | править код]
  1. Release 5.2.8.1 — 2024.
  2. DNF. Fedora Project Wiki. Дата обращения: 21 мая 2018. Архивировано 14 октября 2018 года.
  3. What does DNF stand for. DNF User's FAQ. Дата обращения: 21 мая 2018. Архивировано 14 октября 2018 года.
  4. README.rst · rpm-software-management/dnf · GitHub. Github DNF Repository, commit 8174427421b995265c6297ebd64024ded099ecf0. Дата обращения: 21 мая 2018. Архивировано 5 июня 2020 года.
  5. Adam Saunders Fedora and DNF Архивная копия от 14 октября 2018 на Wayback Machine, LWN July 2, 2014
  6. Byfield, Bruce Will DNF Replace Yum? Linux Magazine (2014). Дата обращения: 28 мая 2015. Архивировано 26 сентября 2015 года.
  7. Andrew Fedora 22 Released, See What`s New [Workstation]. WebUpd8 (26 мая 2015). Дата обращения: 28 мая 2015. Архивировано 25 сентября 2015 года.
  8. Edge, Jake DNF and Yum in Fedora. LWN.net (15 января 2014). Дата обращения: 29 марта 2015. Архивировано 30 сентября 2015 года.
  9. DNF 3: better performance and a move to C++ Архивная копия от 14 октября 2018 на Wayback Machine / LWN, March 28, 2018
  10. Announcing DNF 3 development Архивная копия от 18 сентября 2018 на Wayback Machine. 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. Архивировано 7 августа 2017 года.
  13. Larabel, Michael Mageia To Offer DNF, But Will Keep Using URPMI By Default. Phoronix (5 сентября 2016). Дата обращения: 4 декабря 2017. Архивировано 6 декабря 2017 года.
  14. YUM 4 is available for testing – Blog.CentOS.org. Дата обращения: 21 октября 2018. Архивировано 21 октября 2018 года.
  15. OpenNews: Началось тестирование пакетного менеджера YUM 4. Дата обращения: 21 октября 2018. Архивировано 21 октября 2018 года.