Перейти к содержимому

Разница между YUM и DNF

    Для работы большинства пакетов RPM необходимо, чтобы в системе уже были установлены некоторые другие программы, например, библиотеки, исполняемые файлы и т.д. Если вы попытаетесь установить пакет с помощью RPM без зависимого пакета, установка пакета завершится с сообщением об ошибке, показывающим, какие компоненты необходимы. Затем вам придется покопаться в системе, чтобы найти пакет, содержащий необходимые компоненты. Такую ситуацию принято называть «адом зависимостей». По мере роста популярности приложений на базе RPM, включая Red Hat Linux, стало как никогда важно сделать установку пакетов менее сложной. Ответом на этот вопрос стал YUM. Но через некоторое время у него возникли проблемы, поэтому он был заменен более быстрым и качественным менеджером пакетов DNF.

    Что такое YUM?

    Yellowdog Updater, Modified (YUM) — это бесплатная программа с открытым исходным кодом, изначально разработанная для Yellowdog Linux, ныне несуществующего дистрибутива Linux. YUM — это, по сути, инструмент управления пакетами для установки, обновления и удаления пакетов программного обеспечения в Red Hat Enterprise Linux. В первую очередь он был разработан для эффективного управления зависимостями с пакетами RPM. Идея заключалась в том, чтобы рассматривать пакеты RPM не как отдельные компоненты, а как части более крупных репозиториев программного обеспечения. Одним из основных преимуществ YUM перед предыдущими пакетными менеджерами является то, что он не только устанавливает пакеты, которые вы хотите установить, но и автоматически устанавливает все пакеты, которые являются необходимыми для пакетов, которые вы хотите установить. YUM был написан Сетом Видалом и Майклом Стеннером на физическом факультете Университета Дьюка.

    Что такое DNF?

    YUM был успешен, но по мере старения столкнулся с некоторыми проблемами. Он становился медленным и использовал много памяти, а большая часть его кода нуждалась в переписывании. Не было смысла развивать YUM дальше, поэтому была представлена следующая, значительно улучшенная версия пакета YUM, с более продвинутыми и надежными функциями — Dandified YUM, более известная как DNF. Для большинства пользователей изменения поверхностны и заключаются в замене YUM на DNF в командах. При прямом сравнении, улучшения в производительности, использовании памяти и разрешении зависимостей пакетов весьма значительны. DNF заменил YUM в качестве менеджера пакетов по умолчанию в Fedora 22. Одним из основных отличий является то, что DNF придерживается строгого API, что поощряет разработку расширений и плагинов к DNF.

    Разница между YUM и DNF

    Разрешение зависимостей

    — Хотя основная цель YUM или DNF — управлять фактическими пакетами RPM в вашей системе, DNF лучше справляется с разрешением зависимостей, поскольку использует более современный и продвинутый ‘libsolv’ для улучшения разрешения зависимостей. Libsolv — это проверенная кодовая база и одна из самых сложных реализаций разрешения зависимостей. YUM, с другой стороны, использует публичный API для разрешения зависимостей.

    API

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

    Производительность

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

    Резюме

    Хотя конечный пользователь может не заметить много различий между двумя менеджерами пакетов, под капотом можно найти много функциональных различий. Основные различия между YUM и DNF заключаются в производительности, использовании памяти, а также в том, как был переписан код, чтобы облегчить разработчикам поддержку предсказуемого документированного API. Еще одно отличие заключается в том, что DNF совместим с Python3, а YUM — нет. Кроме того, алгоритм зависимости пакетов был полностью переписан. Кроме того, основная цель YUM или DNF — управление фактическими пакетами RPM в вашей системе.

    Что означает DNF для YUM?

    DNF означает Dandified YUM и по сути является более усовершенствованной и лучшей версией оригинального пакета YUM. DNF заменил YUM в качестве менеджера пакетов по умолчанию в Fedora 22.

    Использует ли Rhel 8 DNF?

    Да. Это новый менеджер пакетов, используемый для установки пакетов в RHEL 8.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Adblock
    detector