WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
Yellowdog updater, Modified

Yum обновляет Fedora 16.
Тип Пакетный менеджер
Разработчик Seth Vidal
Написана на Python[1]
Операционная система Linux
Последняя версия 3.4.3 (28 июня 2011)
Лицензия GNU GPL 2 или выше
Сайт yum.baseurl.org
 Yellowdog updater, Modified на Викискладе

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

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

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

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

Возможности

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

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

История

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

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

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

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

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

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

Расширения

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

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

Метаданные

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

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

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

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

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

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

См. также

Примечания

  1. 1 2 Jang, Michael H. Chapter 7 – Setting Up a YUM Repository // Linux Patch Management: Keeping Linux Systems Up to Date. — Prentice Hall Professional, 14 December 2005.
  2. 1 2 3 Brown, Robert G. YUM (Yellowdog Updater, Modified) HOWTO - Introduction. Duke Physics. Проверено 12 июля 2013.
  3. 1 2 Shields, Ian RPM and YUM package management. Learn Linux, 101. IBM (11 May 2010). Проверено 12 июля 2013.
  4. ↑ Creating a Local YUM Repository Using an ISO Image. Oracle. Проверено 12 июля 2013.
  5. ↑ Ian Shields, RPM and YUM package management / IBM, 2010
  6. 1 2 Koen Vervloesem, Attacks on package managers / LWN, April 8, 2009
  7. 1 2 3 4 Brown, Robert G. YUM: Yellowdog Updater, Modified (17 December 2003). Проверено 13 июля 2013.
  8. ↑ Yum Extender. Yumex Homepage. Проверено 13 июля 2013.
  9. ↑ Bruce Byfield. Will DNF Replace Yum? Behind the Scenes at Fedora’s Future Package Manager (англ.). Linux Magazine (2014). Проверено 21 октября 2018.
  10. ↑ Miller, Matthew Board Meeting, Rawhide Rebuilt, Firewall Debate, ARM 64, and DNF as Yum Replacement (5tFTW 2014-06-10). Fedora Magazine (11 June 2014).
  11. ↑ OpenNews: В Fedora 22 ожидается замена пакетного менеджера Yum на DNF
  12. ↑ В Fedora 22 ожидается замена пакетного менеджера Yum на DNF / linuxforum (недоступная ссылка). Проверено 13 мая 2015. Архивировано 17 ноября 2015 года.
  13. ↑ Технический комитет Fedora подтвердил планы по замене Yum на DNF в Fedora 22 — Новости (nixp.ru)
  14. ↑ Edge, Jake DNF and Yum in Fedora. LWN.net (15 января 2014). Проверено 16 октября 2018.
  15. ↑ YUM 4 is available for testing – Blog.CentOS.org
  16. ↑ OpenNews: Началось тестирование пакетного менеджера YUM 4
  17. ↑ Jang, Michael H. Linux Patch Management: Keeping Linux Systems Up to Date. — Prentice Hall Professional. — P. 199. — ISBN 9780132366755.
  18. ↑ Fedora Documentation — Downgrade to a Previous Version
  19. ↑ Seth Vidal, creator of "yum" open source software, killed in bike accident off Hillandale Rd.. Durham io: The Daily Durham (9 July 2013). Проверено 13 июля 2013.
  20. ↑ Thank you, Seth Vidal. Red Hat (10 July 2013). Проверено 13 июля 2013.
  21. ↑ Bort, Julie 36-Year-Old Open Source Guru Seth Vidal Has Been Tragically Killed. Business Insider (9 July 2013). Проверено 13 июля 2013.
  22. ↑ Погиб один из ведущих разработчиков Fedora Linux, CNews (10.07.2013). Проверено 21 октября 2018.
  23. ↑ Yellow Dog Update Program. SourceForge repository. Проверено 18 июля 2013.
  24. ↑ Fusco, John. The Linux Programmer's Toolbox. — Pearson Education. — ISBN 9780132703048.
  25. ↑ Murphy, David How to run your own yum repository. Linux Foundation (23 July 2004). Проверено 12 июля 2013.
  26. ↑ What are the yum equivalents of up2date and rpm common tasks on Red Hat Enterprise Linux?. Red Hat.
  27. ↑ Red Hat Enterprise linux 5. Feature, function, and benefit summary (англ.). RedHat (2007). Проверено 21 октября 2018.
  28. ↑ Sweeney, Michael. Network Security Using Linux. — 2005. — P. 84. — ISBN 9781411621770.
  29. ↑ Negus, Christopher. Linux Bible / Christopher Negus, Bresnahan. — John Wiley & Sons, 2012. — P. 598. — ISBN 9781118286906.
  30. ↑ Yum Plug-ins. Red Hat. Проверено 12 июля 2013.
  31. ↑ Maintaining yum. CentOS. Проверено 12 июля 2013.
  32. ↑ createrepo(8). Linux manual page. Проверено 12 июля 2013.
  33. 1 2 3 Standards Rpm Metadata. openSUSE. Проверено 12 июля 2013.
  34. ↑ mrepo. Freecode. Проверено 12 июля 2013.
  35. ↑ SUSE Linux 10.1 Alpha 2 is ready. Проверено 12 июля 2013. Архивировано 8 февраля 2006 года.
  36. ↑ Schmitz, Dietrich T. YUM vs. APT: Which is Best?.
  37. ↑ ‘Linux Advocates’ Throws in the Towel. FOSS Force (январь 2015).
  38. ↑ Attacks on Package Managers, Отчет о проблемах безопасности при работе менеджеров пакетов в Linux 15.07.2008
  39. ↑ Justin Cappos, et al. Package Management Security 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, Package managers still vulnerable: how to protect your systems / USENIX, 2009
  41. ↑ Signed Repository Metadata is now Available for CentOS 6 and 7 for the Updates Repo – Blog.CentOS.org
  42. ↑ Improving CentOS package delivery security with signed repository metadata – Blog.CentOS.org (англ.) ?. blog.centos.org. Проверено 25 октября 2018.
  43. ↑ Secure distribution of RPM packages - Red Hat Customer Portal (англ.). access.redhat.com. Проверено 25 октября 2018.
  44. ↑ cdn.redhat.com X.509 certificate - Red Hat Customer Portal (англ.). access.redhat.com. Проверено 25 октября 2018.
  45. ↑ PackageKit - Main Page

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2026
WikiSort.ru - проект по пересортировке и дополнению контента Википедии