📦 Различия между пакетными менеджерами YUM и DNF

Чем отличается yum или dnf

by itisgood

В этой статье мы хотим обсудить, чем отличаются менеджеры пакетов YUM (YellowDog Updater Modified) и DNF (Dandified Yum) (Yum vs DNF).

На данном этапе мы хотим показать вам точное значение этих пакетных менеджеров.

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

Что такое YUM?

YUM расшифровывается как YellowDog Updater Modified.

Это менеджер пакетов, который можно использовать для следующих процессов управления в Linux-системе на базе RedHat:

  • Установка программных пакетов
  • Обновление программных пакетов
  • Удаление программных пакетов

Что такое DNF?

DNF расшифровывается как Dandified Yum.

Это обновленная версия Yum, которая работает так же, как и Yum.

Он используется для процессов управления.

В чем различия между менеджерами пакетов YUM и DNF?

Через некоторое время менеджер пакетов YUM столкнулся с некоторыми проблемами, такими как:

  • Низкая производительность
  • повышенное потребление памяти
  • Замедление процесса разрешения зависимостей

Поэтому было принято решение о замене Yum на менеджер пакетов DNF в системах Centos 8, AlmaLinux 8 и некоторых системах Linux на базе RedHat.

Для разрешения зависимостей DNF использует “libsolv”, который разработан и поддерживается компанией SUSE для повышения производительности.

Она написана на языках C, C++ и Python.

YUM использует публичный API для разрешения зависимостей. и этот API не полностью документирован. и он написан только на Python.

Здесь задается вопрос, почему вместо устранения проблем был создан новый инструмент.

Почему был создан DNF ?

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

Кроме того, команда YUM не готова принять изменения.

Основная проблема заключается в том, что для Yum существует 56 тыс. строк, а для DNF – только 29 тыс. строк, так что исправить это не представляется возможным.

Тем не менее, Yum по-прежнему работает в RedHat Enterprise Linux 6/7 (RHEL), CentOS 6/7 и OEL 6/7.

Он также используется для Centos 8 и Almalinux 8, но вместо YUM рекомендуется использовать менеджер пакетов DNF.

Рассмотрим еще некоторые различия между DNF и YUM.

YUM или DNF

DNF (Dandified yum) Yum (YellowDog Updater Modified)
1 DNF поддерживает различные расширения YUM поддерживает только расширения на базе Python
2 В DNF API хорошо документирован, поэтому легко создавать новые функции В YUM очень сложно создавать новые функции, поскольку API не документирован должным образом
3 DNF использует меньше памяти при синхронизации метаданных хранилищ YUM использует избыточную память при синхронизации метаданных репозиториев
4 dnf update и dnf upgrade равнозначны но в yum все по-другому
5 Зависимости от установки пакета не обновляются в DNF Компания Yum предложила вариант такого поведения
6 Пакеты ядра не защищены dnf с помощью Yum можно удалить все пакеты ядра, включая тот, который запускается
7 При удалении пакета dnf автоматически удаляет все зависимые пакеты, не установленные пользователем в явном виде YUM этого не делал
8 Если включенный репозиторий не отвечает, dnf пропустит его и продолжит операцию с доступными репозиториями Если репозиторий недоступен, YUM немедленно прекращает работу
9 Все показатели хороши с точки зрения использования памяти и разрешения зависимостей метаданных хранилища в DNF В yum Общая производительность низкая по многим показателям
10 По умолчанию через десять минут после загрузки системы обновления сконфигурированных репозиториев проверяются программой dnf ежечасно.
Этим действием управляет блок системного таймера с именем “/usr/lib/systemd/system/dnf-makecache.timer”
Тоже касаемо yum

Примеры команд менеджера пакетов DNF и Yum

Начнем с одной из первых задач, которую многие выполняют после установки нового дистрибутива Linux, – загрузки обновлений системы.

Загрузка обновлений системы

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

sudo dnf update -y
или
sudo dnf upgrade -y

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

sudo yum update -y

sudo предоставляет вам административный доступ к системе.

Без него команда не выполнится с сообщением об ошибке из-за отсутствия прав.

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

Поиск пакета

На данном этапе, если вы хотите найти программу с именем “package”, просто введите:

sudo dnf search package
sudo yum search package

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

Как и при выполнении поиска, команда установки программы с помощью YUM или DNF аналогична.

sudo dnf install package
или
sudo yum install package

Одним из преимуществ DNF и Yum является возможность установки RPM, загруженных вручную из Интернета.

Для этого используется та же команда install, но вместо имени пакета указывается полный путь к RPM.

sudo dnf install /path/to/package.rpm
или
sudo yum install /path/to/package.rpm

Деинсталляция программ

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

sudo dnf remove package

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

sudo dnf autoremove

Кроме того, его можно использовать для приготовления YUM.

Наиболее распространенные полезные команды DNF и Yum

Команды Yum и DNF Пояснения
1 dnf install package-name
или
yum install package-name
Установка программного пакета
2 dnf upgrade package-name
или
yum upgrade package-name
Обновление или модернизация программного пакета
3 dnf search package-name
или
yum search package-name
Он ищет нужный пакет в репозитарии пакетов
4 dnf remove package-name
или
yum remove package-name
Удаление нужного пакета
5 dnf info package-name
или
yum info package-name
Он предоставляет информацию о желаемом пакете
6 dnf list installed
или
yum list | less
Он выдает список установленных пакетов

Заключение

В этой статье мы попытались объяснить различия между YUM и DNF.

И почему лучше использовать DNF вместо YUM.

Кроме того, вы узнаете о наиболее полезных командах из них.

You may also like

Leave a Comment