🐹 CentOS 7: Пакетные менеджеры — RPM, YUM, DNF.

Содержание:

1. Введение.
2. Теоретические основы.

2.1. Категории пакетных менеджеров.
2.2. Формат пакетов для CentOS 7.
2.3. Разрешение зависимостей.

3. Пакетные менеджеры.

3.1. RPM.
3.2. YUM.
3.3. DNF.
3.4. Yum Extender.

4. Оригиналы источников информации.


1. Введение.

На заре разработки CentOS 7 установить приложение можно было только путем скачивания и компиляции исходников программы. Из-за использования сразу нескольких утилит и ошибок, возникавших в процессе сборки, установка одной программы отнимала много времени.

Чтобы сделать систему дружелюбней к пользователю, были разработаны пакетные менеджеры, которые полностью автоматизировали установку программ. Инсталляция приложений в них производится из пакетов – архивов с файлами скомпилированной программы.

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

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

2. Теоретические основы.

2.1. Категории пакетных менеджеров.

  • Высокоуровневые менеджеры. Применяются для поиска и скачивания пакетов из репозиториев. В процессе работы могут задействовать низкоуровневые менеджеры для инсталляции загруженных программ.
  • Низкоуровневые менеджеры. Используются для установки локальных пакетов, загруженных вручную пользователем, или высокоуровневым пакетным менеджером.

2.2. Формат пакетов для CentOS 7.

  • RPM (*.rpm) — Разработан компанией Red Hat и внедрен в дистрибутив RHEL. Также применяется в таких системах как Fedora и CentOS.

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

Для корректного функционирования пакетных менеджеров необходимо корректное отслеживание пакетных зависимостей.

Зависимости – список дополнительных пакетов и библиотек, участвующие в работе программы. Во время установки приложения пакетный менеджер или компилятор считывают специальный файл со списком зависимостей, а после проверяют их наличие в системе.

Если важная зависимость будет не удовлетворена при установке программы низкоуровневым менеджером, то будет выдана ошибка с названием отсутствующего пакета. В подобной ситуации проблема решается отдельной установкой недостающего пакета.

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

3. Пакетные менеджеры.

3.1. RPM.

RPM – Red Hat Package Manager – формат пакетов и низкоуровневый пакетный менеджер систем Red Hat (RHEL, CentOS, Fedora и другие) Как и DPKG, способен работать только с локальными файлами.

Пакетный менеджер выпущен в 1997 году. Он работает с пакетами RPM. В отличие от DEB, пакеты RPM архивируются утилитой cpio, сжимающий пакет алгоритмом gzip.

Особенности:

  • Обновление программ производится в ускоренном режиме, благодаря замене только отредактированных разработчиком элементов пакета.
  • Для скачивания, обновления пакетов, а также разрешения зависимостей придётся использовать пакетные менеджеры более высокого уровня (YUM, DNF).
  • Начиная с 2010 года, пакеты подписываются с хэшем MD5. Это исключает вероятность изменения файла RPM злоумышленником для внедрения вирусного кода.

3.2. YUM.

YUMYellowdog Updater, Modified – высокоуровневый пакетный менеджер, написанный на языке Python для систем Red Hat (RHEL, CentOS, Fedora). Программа представляет собой своеобразную оболочку для утилиты RPM.

В задачу YUM входит скачивание и обновление пакетов из репозиториев, а также удовлетворение зависимостей во время установки программы.

Подробности описания и работы пакетного менеджера YUM, представлены по ссылке ниже.

Ссылка: «YUM: Основы работы с установщиком Yellowdog Updater Modified».

3.3. DNF.

DNFDandified YUM – модифицированная версия пакетного менеджера YUM на языке на Python. Разработка утилиты начата в 2011 году. В 2015 году DNF стал основным менеджером пакетов для системы Fedora 22. В DNF были исправлены такие недостатки YUM, как некорректная установка зависимостей, низкая скорость работы, большое потребление оперативной памяти.

3.4. Yum Extender.

Yum Extender – лёгкая графическая оболочка для менеджеров пакетов YUM и DNF.

4. Оригиналы источников информации.

  1. eternalhost.net «Популярные пакетные менеджеры Linux».