Поиск по сайту:

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


Недавние новости привлекли внимание многих пользователей Linux, специалистов и учащихся о том, что «DNF» (официально ничего не означает) заменит в дистрибутивах утилиту управления пакетами «YUM». а именно, Fedora, CentOS, RedHat и т. д., которые используют диспетчер пакетов RPM.

Новость была весьма неожиданной: к дистрибутиву Linux в той или иной степени привязан менеджер пакетов, который отвечает за установку, обновление и удаление пакетов.

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

Читайте также

  1. YUM (Yellowdog Updater, модифицированный) – 20 команд для управления пакетами
  2. RPM (Менеджер пакетов Red Hat) — 20 практических примеров команд RPM

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

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

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

Але¨ Козумплик сказал: он устал объяснять, что DNF ничего не означает, это ответ на имя менеджера пакетов, так и есть, и ничего больше. Его имя должно быть таким, чтобы не конфликтовать с YUM, поэтому оно было названо DNF.

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

  1. Разрешение зависимостей YUM — это кошмар, и оно было решено в DNF с помощью библиотеки SUSE libsolv и оболочки Python вместе с C Hawkey.
  2. У YUM нет документированного API.
  3. Создавать новые функции сложно.
  4. Нет поддержки других расширений, кроме Python.
  5. Меньшее сокращение памяти и меньшая автоматическая синхронизация метаданных – процесс, требующий времени.

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

Развитие ДНФ

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

Технические задачи, с которыми сейчас сталкивается DNF, — реализовать все функции YUM. Для обычного пользователя DNF обеспечивает загрузку, установку, обновление, понижение и удаление пакетов. Тем не менее, поддержка таких функций, как пропуск поврежденного пакета во время установки, отладка, подробный вывод, включение репозитория, исключение пакетов во время установки и т. д. по-прежнему отсутствует или отсутствует.

Сравнение DNF и его предшественника:

  1. Переключатель –skip-broken не влияет.
  2. Команда Обновление=Обновление
  3. Команда resolvedep недоступна.
  4. Опция skip_if_unavailable включена по умолчанию.
  5. Процесс разрешения зависимостей не отображается в командной строке.
  6. Параллельная загрузка в будущем выпуске.
  7. Отменить историю
  8. Дельта оборотов в минуту
  9. Завершение Bash
  10. Автоудаление и т.д.

Интеграция DNF с Fedora, а затем и в коммерческой среде время от времени подвергается сомнению со стороны RHEL. Последняя версия — DNF 0.6.0 — выпущена 12 августа 2014 г.

Тестирование команд DNF

Установите dnf в Fedora или более поздней версии в RHEL/CentOS с помощью команды yum.

yum install dnf

Краткое описание использования.

dnf [options] <command> [<argument>]

Установите пакет.

dnf install <name_of_package>

Удалить пакет.

dnf remove <name_of_package>

Обновите и обновите систему.

dnf update
dnf upgrade

Примечание. Как сказано выше, update=upgrade. Так. будет ли этот пакет реализовывать что-то вроде скользящего выпуска? – Будущий вопрос.

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

Будущее проекта

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

Это все на данный момент. Скоро буду здесь снова с еще одной интересной статьей. А до тех пор оставайтесь с нами и на связи. Не забудьте оставить нам свой ценный отзыв в комментариях ниже.