Interested Article - Yum

YUM ( Yellowdog Updater, Modified ) — открытый консольный менеджер пакетов для дистрибутивов Linux , основанных на пакетах формата RPM (RedHat, CentOS , Fedora , Oracle Linux ) . Позволяет облегчить работу с обновлениями дистрибутивов, отслеживая взаимозависимости между пакетами. Распространяется под лицензией GNU GPL-2.0-or-later. Первоначально проект был разработан программистом Seth Vidal и группой волонтёров . Для работы с YUM используется интерфейс командной строки , однако существуют надстройки, предоставляющие графический интерфейс для функциональности YUM.

YUM позволяет системным администраторам и пользователям настроить автоматизированные обновление ПО и разрешение зависимостей . Для этого используется ряд инструментов, таких как yum-updatesd, yum-updateonboot, yum-cron, PackageKit . Как и Advanced Package Tool (система APT) из дистрибутивов класса Debian , менеджер YUM работает с репозиториями (наборами) пакетов от производителя дистрибутива или от сторонних авторов. Возможно создание локальных или офлайновых копий репозиториев , либо доступ к ним через сетевое Интернет-соединение.

В своем внутреннем устройстве YUM зависит от приложения RPM и использует формат RPM-пакетов. Пакеты обычно имеют криптографические подписи ( MD5 -хеш и «digisig» ) для подтверждения того, что данный файл был подготовлен определенным автором (однако метаданные не подписывались до начала 2010-х годов) . Приложение YUM реализовано как набор библиотек на языке программирования Python и несколько приложений командной строки. Среди графических интерфейсов к YUM — YUM Extender (yumex) .

В Fedora 18-й версии началось внедрение более быстрого форка yum под названием « DNF » , с 20 версии он мог использоваться вместо yum, а в 22 версии весной 2014 года произошел переход от YUM в пользу dnf . DNF был создан для улучшения YUM в части производительности, качества разрешения конфликтов зависимостей и для упрощения интеграции с другими приложениями . В то же время, в версию YUM 4 2017 года были перенесены многие возможности DNF, в том числе, ускоренное разрешение зависимостей .

Возможности

YUM представляет собой оболочку для RPM, обеспечивающую работу с репозиториями. Был создан для решения следующих задач :

  • поиск пакетов в репозиториях
  • установка пакетов из репозиториев
  • установка пакетов из .rpm-файлов, с удовлетворением зависимостей с помощью репозиториев
  • обновление системы
  • удаление ненужных пакетов
  • даунгрейд пакетов

История

В 1999—2001 году был разработан менеджер Yellowdog UPdater (YUP) в компании Terra Soft Solutions в качестве основы для графического инсталлятора дистрибутива Yellow Dog Linux .

Позже, в целях управления системами Red Hat Linux в университете Дьюка , сотрудники физического факультета Seth Vidal и Michael Stenner полностью переписали YUP, создав Yellowdog Updater, Modified , сокращенно "YUM". Seth Vidal продолжил работу над программой до 2013 года.

В 2003 году Robert G. Brown ( университет Дьюка ) опубликовал документацию по YUM . В дальнейшем ряд дистрибутивов начали использовать YUM, в том числе Fedora , CentOS и другие, построенные на основе RPM. На YUM также перешел Yellow Dog Linux. Оригинальная утилита YUP в последний раз обновлялась в 2001 году . К 2005 году менеджер YUM использовался примерно на половине рынка Linux-дистрибутивов , и в 2007 году 2007 YUM признавался наиболее популярным менеджером для RPM дистрибутивов .

Приложение YUM устраняло ряд видимых недостатков старого менеджера , и ограничения оригинального менеджера пакетов из состава Red Hat. В вышедшей в 2007 году версии Red Hat Enterprise Linux 5 менеджер up2date был заменен на YUM . Некоторые авторы называют пакет «Yellowdog Update Manager» или предлагают расшифровку «Your Update Manager» .

Знание команд YUM часто является требованием для получения сертификатов по администрированию Linux .

Пакет YUM распространяется под условиями GNU General Public License , что позволяет свободно распространять приложение и его модификации .

Расширения

Внешний вид приложения Yum Extender (yumex) — графической оболочки для YUM.

В версии 2.x YUM был добавлен интерфейс для написания расширений на языке Python . Такие расширения позволяют изменять поведение YUM, ряд плагинов устанавливается по умолчанию . Например, обычно устанавливается пакет yum-utils который содержит команды для работы с YUM API и ряд плагинов.

Метаданные

Информация о пакетах (в отличие от самих файлов пакетов) в терминологии YUM называется метаданными. В состав метаданных входят списки зависимостей, то есть список других пакетов и их версий, которые необходимы для данного. Корректное заполнение метаданных позволяет избегать «ада зависимостей» . Коллекции пакетов и их метаданных организуются в репозитории , основные из них поддерживаются производителем дистрибутива. При помощи отдельной утилиты createrepo возможно создание частных YUM-репозиториев, в которых метаданные указанного набора пакетов собраны в единый XML файл (или в базу метаданных в формате SQLite . Дополнительная утилита mrepo (ранее называлась «Yam») упрощает создание и поддержку репозиториев .

XML-репозитории YUM быстро приобрели популярность для публикации наборов пакетов для дистрибутивов на базе RPM-пакетов . Кроме традиционных RPM дистрибутивов от RedHat (RHEL, Fedora), их клонов (CentOS) и многочисленных менее известных вариаций, репозитории YUM могут использоваться в SUSE Linux 10.1 (менеджер пакетов YaST ). Система репозиториев Open Build Service также использует формат YUM XML .

Программа YUM автоматически синхронизирует метаданные через сеть .

Механизмы безопасности, применяемые к метаданным в YUM неоднократно критиковались . В 2015 годах CentOS внедрил подписывание метаданных для основных репозиториев CentOS 6 и CentOS 7 , а в 2018 — для всех репозиториев . RedHat традиционно решал проблему при помощи безопасного транспорта .

Графические оболочки

PackageKit — основной графический интерфейс к менеджеру пакетов в ОС Fedora .

См. также

Примечания

  1. Jang, Michael H. Chapter 7 – Setting Up a YUM Repository // (англ.) . — Prentice Hall Professional , 2005. 24 октября 2020 года.
  2. Brown, Robert G. . Duke Physics. Дата обращения: 12 июля 2013. 2 августа 2013 года.
  3. Shields, Ian . Learn Linux, 101 . IBM (11 мая 2010). Дата обращения: 12 июля 2013. 2 октября 2016 года.
  4. . Oracle. Дата обращения: 12 июля 2013. 19 августа 2013 года.
  5. Ian Shields, от 21 октября 2018 на Wayback Machine / IBM, 2010
  6. Koen Vervloesem, от 21 октября 2018 на Wayback Machine / LWN, April 8, 2009
  7. . Yumex Homepage . Дата обращения: 13 июля 2013. 12 ноября 2020 года.
  8. Bruce Byfield. (англ.) . Linux Magazine (2014). Дата обращения: 21 октября 2018. 26 сентября 2015 года.
  9. Miller, Matthew . Fedora Magazine (11 июня 2014). Дата обращения: 4 мая 2016. 11 апреля 2016 года.
  10. . Дата обращения: 13 мая 2015. 4 марта 2016 года.
  11. . Дата обращения: 13 мая 2015. Архивировано из 17 ноября 2015 года.
  12. . Дата обращения: 13 мая 2015. 18 мая 2015 года.
  13. Edge, Jake . LWN.net (15 января 2014). Дата обращения: 16 октября 2018. 30 сентября 2015 года.
  14. . Дата обращения: 21 октября 2018. 21 октября 2018 года.
  15. . Дата обращения: 21 октября 2018. 21 октября 2018 года.
  16. Jang, Michael H. (англ.) . — Prentice Hall Professional . — P. 199. — (Bruce Perens' Open Source series). — ISBN 9780132366755 .
  17. . Дата обращения: 11 июня 2012. 11 января 2012 года.
  18. Durham io: The Daily Durham (9 июля 2013). Дата обращения: 13 июля 2013. 12 июля 2013 года.
  19. . Red Hat (10 июля 2013). Дата обращения: 13 июля 2013. 14 июля 2013 года.
  20. Bort, Julie . Business Insider (9 июля 2013). Дата обращения: 13 июля 2013. 12 июля 2013 года.
  21. . CNews. 2013-07-10. из оригинала 21 октября 2018 . Дата обращения: 21 октября 2018 .
  22. Brown, Robert G. (17 декабря 2003). Дата обращения: 13 июля 2013. 2 октября 2013 года.
  23. . SourceForge repository . Дата обращения: 18 июля 2013. 4 октября 2013 года.
  24. Fusco, John. (неопр.) . — (англ.) . — ISBN 9780132703048 .
  25. Murphy, David . Linux Foundation (23 июля 2004). Дата обращения: 12 июля 2013. Архивировано из 21 июля 2013 года.
  26. Red Hat. Дата обращения: 21 октября 2018. 8 января 2014 года.
  27. (англ.) . RedHat (2007). Дата обращения: 21 октября 2018. 21 октября 2018 года.
  28. Sweeney, Michael. (неопр.) . — 2005. — С. 84. — ISBN 9781411621770 .
  29. Negus, Christopher; Bresnahan, Christine. (неопр.) . — John Wiley & Sons , 2012. — С. 598. — ISBN 9781118286906 .
  30. . Red Hat. Дата обращения: 12 июля 2013. 2 октября 2013 года.
  31. . CentOS. Дата обращения: 12 июля 2013. Архивировано из 18 ноября 2018 года.
  32. . Linux manual page . Дата обращения: 12 июля 2013. 3 июля 2013 года.
  33. . openSUSE. Дата обращения: 12 июля 2013. 17 мая 2013 года.
  34. . Freecode. Дата обращения: 12 июля 2013. 21 июня 2014 года.
  35. . Дата обращения: 12 июля 2013. 8 февраля 2006 года.
  36. Schmitz, Dietrich T. Дата обращения: 21 октября 2018. 21 октября 2018 года.
  37. . FOSS Force (январь 2015). Дата обращения: 21 октября 2018. 21 октября 2018 года.
  38. от 20 декабря 2018 на Wayback Machine , от 21 октября 2018 на Wayback Machine 15.07.2008
  39. Justin Cappos, et al. от 21 октября 2018 на Wayback Machine University of Arizona Technical Report (2008): 08-02; «A look in the mirror: Attacks on package managers» / Proceedings of the 15th ACM conference on Computer and communications security. ACM, 2008.
  40. Justin Cappos, Justin Samuel, от 21 октября 2018 на Wayback Machine / USENIX, 2009
  41. . Дата обращения: 21 октября 2018. 21 октября 2018 года.
  42. (англ.) . blog.centos.org. Дата обращения: 25 октября 2018. 21 октября 2018 года.
  43. (англ.) . access.redhat.com. Дата обращения: 25 октября 2018. 21 октября 2018 года.
  44. (англ.) . access.redhat.com. Дата обращения: 25 октября 2018. 21 октября 2018 года.
  45. . Дата обращения: 14 октября 2018. 21 сентября 2018 года.

Ссылки

  • — Linux Magazine issue 103, June 2009 (англ.)
  • Roderick W. Smith, / Linux Magazine, 2007-02-16
  • Linux in a Nutshell, 6th Edition ISBN — O’Reilly, 2009, ISBN 9780596806088 — 5. Package Management, «Yum: Yellowdog Updater Modified»
  • Ian Shields, / IBM, 2010
  • Q. Ethan McCallum, Managing RPM-Based Systems with Kickstart and Yum, ISBN 9780596513825
  • Алексей Федорчук, , Декабрь 2009
  • , Декабрь 2010
Источник —

Same as Yum