Yum: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Спасено источников — 1, отмечено мёртвыми — 0. Сообщить об ошибке. См. FAQ.) #IABot (v2.0
м checkwiki fixes (1, 2, 9, 17, 22, 26, 38, 48, 50, 52, 54, 64, 65, 66, 76, 81, 86, 88, 89, 101)
 
(не показано 11 промежуточных версий 7 участников)
Строка 1: Строка 1:
{{К переименованию|2018-10-25|Yum}}
{{Карточка программы
{{Карточка программы
| name = Yellowdog updater, Modified
| name = Yellowdog updater, Modified
Строка 14: Строка 13:
| operating system = [[Linux]]
| operating system = [[Linux]]
| platform =
| platform =
| programming_language = [[Python]]<ref name="patch">{{cite book |title= Linux Patch Management: Keeping Linux Systems Up to Date |chapter= Chapter 7 – Setting Up a YUM Repository |url=https://ptgmedia.pearsoncmg.com/images/9780132366755/downloads/0132366754_Jang_book.pdf |publisher=Prentice Hall Professional |last= Jang |first= Michael H. |date= 14 December 2005 }}</ref>
| programming_language = [[Python]]<ref name="patch">{{книга |заглавие=Linux Patch Management: Keeping Linux Systems Up to Date |часть=Chapter 7 – Setting Up a YUM Repository |ссылка=https://ptgmedia.pearsoncmg.com/images/9780132366755/downloads/0132366754_Jang_book.pdf |издательство=[[Prentice Hall|Prentice Hall Professional]] |язык=en |автор=Jang, Michael H. |день=14 |месяц=12 |год=2005 |archivedate=2020-10-24 |archiveurl=https://web.archive.org/web/20201024040049/https://ptgmedia.pearsoncmg.com/images/9780132366755/downloads/0132366754_Jang_book.pdf }}</ref>
| genre = [[Система управления пакетами|Пакетный менеджер]]
| genre = [[Система управления пакетами|Пакетный менеджер]]
| license = [[GNU GPL]] 2 или выше
| license = [[GNU GPL]] 2 или выше
| website = http://yum.baseurl.org/
| website = http://yum.baseurl.org/
}}
}}
'''Yellowdog Updater, Modified''' ('''YUM''') — [[Открытое программное обеспечение|открытый]] консольный [[Пакетный менеджер|менеджер пакетов]] для [[дистрибутив]]ов [[Linux]], основанных на пакетах формата [[RPM]] (RedHat, [[CentOS]], [[Fedora]], [[Oracle Linux]], [[ОСь]])<ref name="howto">{{cite web |last= Brown |first= Robert G. |title=YUM (Yellowdog Updater, Modified) HOWTO - Introduction|url=http://www.phy.duke.edu/~rgb/General/yum_HOWTO/yum_HOWTO/yum_HOWTO-1.html |publisher=Duke Physics |accessdate=12 July 2013}}</ref>. Позволяет облегчить работу с обновлениями дистрибутивов, отслеживая взаимозависимости между пакетами. Распространяется под лицензией [[GNU]] GPL-2.0-or-later. Первоначально проект был разработан программистом Seth Vidal и группой [[Волонтёрство|волонтёров]]. Для работы с YUM используется [[интерфейс командной строки]], однако существуют надстройки, предоставляющие [[Графический интерфейс пользователя|графический интерфейс]] для функциональности YUM.
'''YUM''' ('''[[Yellowdog]] Updater, Modified''') — [[Открытое программное обеспечение|открытый]] консольный [[Пакетный менеджер|менеджер пакетов]] для [[дистрибутив Linux|дистрибутивов Linux]], основанных на пакетах формата [[RPM]] (RedHat, [[CentOS]], [[Fedora]], [[Oracle Linux]])<ref name="howto">{{cite web |last= Brown |first= Robert G. |title= YUM (Yellowdog Updater, Modified) HOWTO - Introduction |url= http://www.phy.duke.edu/~rgb/General/yum_HOWTO/yum_HOWTO/yum_HOWTO-1.html |publisher= Duke Physics |accessdate= 2013-07-12 |archive-date= 2013-08-02 |archive-url= https://web.archive.org/web/20130802024439/http://www.phy.duke.edu/~rgb/General/yum_HOWTO/yum_HOWTO/yum_HOWTO-1.html |deadlink= no }}</ref>. Позволяет облегчить работу с обновлениями дистрибутивов, отслеживая взаимозависимости между пакетами. Распространяется под лицензией [[GNU]] GPL-2.0-or-later. Первоначально проект был разработан программистом Seth Vidal и группой [[Волонтёрство|волонтёров]]. Для работы с YUM используется [[интерфейс командной строки]], однако существуют надстройки, предоставляющие [[Графический интерфейс пользователя|графический интерфейс]] для функциональности YUM.


YUM позволяет системным администраторам и пользователям настроить автоматизированные обновление [[Программное обеспечение|ПО]] и разрешение зависимостей<ref name="IBM">{{cite web|url=http://www.ibm.com/developerworks/library/l-lpic1-102-5/|title=RPM and YUM package management|last=Shields|first=Ian|work=Learn Linux, 101|publisher=IBM|date=11 May 2010|accessdate=12 July 2013}}</ref>. Для этого используется ряд инструментов, таких как yum-updatesd, yum-updateonboot, yum-cron, [[PackageKit]]. Как и [[Advanced Packaging Tool|Advanced Package Tool]] (система APT) из дистрибутивов класса [[Debian]], менеджер YUM работает с [[Репозиторий|репозиториями]] (наборами) пакетов от производителя дистрибутива или от сторонних авторов. Возможно создание локальных или офлайновых копий репозиториев,<ref>{{cite web |title=Creating a Local YUM Repository Using an ISO Image |url= http://docs.oracle.com/cd/E37670_01/E37355/html/ol_create_repo.html |publisher= Oracle |accessdate=12 July 2013}}</ref> либо доступ к ним через сетевое Интернет-соединение.
YUM позволяет системным администраторам и пользователям настроить автоматизированные обновление [[Программное обеспечение|ПО]] и разрешение зависимостей<ref name="IBM">{{cite web|url=http://www.ibm.com/developerworks/library/l-lpic1-102-5/|title=RPM and YUM package management|last=Shields|first=Ian|work=Learn Linux, 101|publisher=IBM|date=2010-05-11|accessdate=2013-07-12|archive-date=2016-10-02|archive-url=https://web.archive.org/web/20161002020112/http://www.ibm.com/developerworks/library/l-lpic1-102-5/|deadlink=no}}</ref>. Для этого используется ряд инструментов, таких как yum-updatesd, yum-updateonboot, yum-cron, [[PackageKit]]. Как и [[Advanced Packaging Tool|Advanced Package Tool]] (система APT) из дистрибутивов класса [[Debian]], менеджер YUM работает с [[Репозиторий|репозиториями]] (наборами) пакетов от производителя дистрибутива или от сторонних авторов. Возможно создание локальных или офлайновых копий репозиториев<ref>{{cite web |title= Creating a Local YUM Repository Using an ISO Image |url= http://docs.oracle.com/cd/E37670_01/E37355/html/ol_create_repo.html |publisher= Oracle |accessdate= 2013-07-12 |archive-date= 2013-08-19 |archive-url= https://web.archive.org/web/20130819030758/http://docs.oracle.com/cd/E37670_01/E37355/html/ol_create_repo.html |deadlink= no }}</ref>, либо доступ к ним через сетевое Интернет-соединение.


В своем внутреннем устройстве YUM зависит от приложения [[RPM Package Manager|RPM]] и использует формат RPM-пакетов. Пакеты обычно имеют криптографические подписи ([[MD5]]-хеш и [[GNU Privacy Guard|«digisig»]])<ref>Ian Shields, [https://www.ibm.com/developerworks/linux/library/l-lpic1-102-5/index.html RPM and YUM package management] / IBM, 2010</ref> для подтверждения того, что данный файл был подготовлен определенным автором (однако метаданные не подписывались до начала 2010-х годов)<ref name=lwn_koen_attackpackman/>.<!-- см Механизмы безопасности, применяемые… --> Приложение YUM реализовано как набор библиотек на языке программирования [[Python]] и несколько приложений командной строки.<ref name="Brown">{{cite web |title= YUM: Yellowdog Updater, Modified |date= 17 December 2003 |last= Brown |first= Robert G. |url= http://www.phy.duke.edu/~rgb/General/yum_article/yum_article.pdf |accessdate= 13 July 2013}}</ref> Subsequent adopters included<ref name="Brown" /> Среди графических интерфейсов к YUM — YUM Extender (yumex).<ref name="yumex">{{cite web |url= http://www.yumex.dk/ |title= Yum Extender |work= Yumex Homepage |accessdate= 13 July 2013 }}</ref>
В своем внутреннем устройстве YUM зависит от приложения [[RPM Package Manager|RPM]] и использует формат RPM-пакетов. Пакеты обычно имеют криптографические подписи ([[MD5]]-хеш и [[GNU Privacy Guard|«digisig»]])<ref>Ian Shields, [https://www.ibm.com/developerworks/linux/library/l-lpic1-102-5/index.html RPM and YUM package management] {{Wayback|url=https://www.ibm.com/developerworks/linux/library/l-lpic1-102-5/index.html |date=20181021151537 }} / IBM, 2010</ref> для подтверждения того, что данный файл был подготовлен определенным автором (однако метаданные не подписывались до начала 2010-х годов)<ref name=lwn_koen_attackpackman/>.<!-- см Механизмы безопасности, применяемые… --> Приложение YUM реализовано как набор библиотек на языке программирования [[Python]] и несколько приложений командной строки. Среди графических интерфейсов к YUM — YUM Extender (yumex)<ref name="yumex">{{cite web |url= http://www.yumex.dk/ |title= Yum Extender |work= Yumex Homepage |accessdate= 2013-07-13 |archive-date= 2020-11-12 |archive-url= https://web.archive.org/web/20201112015117/http://www.yumex.dk/ |deadlink= no }}</ref>.


В Fedora 18-й версии началось внедрение более быстрого [[форк]]а yum под названием «[[DNF (менеджер пакетов)|DNF]]»<ref>{{cite web|url=http://www.linux-magazine.com/Online/Features/Will-DNF-Replace-Yum|title=Will DNF Replace Yum? Behind the Scenes at Fedora’s Future Package Manager|author=Bruce Byfield|date=2014|publisher=Linux Magazine|lang=en|accessdate=2018-10-21}}</ref>, с 20 версии он мог использоваться вместо yum, а в 22 версии весной 2014 года произошел переход от YUM в пользу dnf.<ref>{{cite web|url=https://fedoramagazine.org/5tftw-2014-06-10/|title=Board Meeting, Rawhide Rebuilt, Firewall Debate, ARM 64, and DNF as Yum Replacement (5tFTW 2014-06-10)|last=Miller|first=Matthew|publisher=Fedora Magazine|date=11 June 2014|access-date=4 May 2016}}</ref><ref>[http://www.opennet.ru/opennews/art.shtml?num=39244 OpenNews: В Fedora 22 ожидается замена пакетного менеджера Yum на DNF]</ref><ref>{{Cite web |url=http://linuxforum.ru/topic/34105 |title=В Fedora 22 ожидается замена пакетного менеджера Yum на DNF / linuxforum |accessdate=2015-05-13 |archiveurl=https://web.archive.org/web/20151117020237/http://linuxforum.ru/topic/34105 |archivedate=2015-11-17 |deadlink=yes }}</ref><ref>[http://www.nixp.ru/news/12560.html Технический комитет Fedora подтвердил планы по замене Yum на DNF в Fedora 22 — Новости (nixp.ru)]</ref> DNF был создан для улучшения YUM в части производительности, качества разрешения конфликтов зависимостей и для упрощения интеграции с другими приложениями.<ref name="lwn580223">{{cite web|url=https://lwn.net/Articles/580223/|title=DNF and Yum in Fedora|last=Edge|first=Jake|publisher=[[LWN.net]]|date=2014-01-15|accessdate=2018-10-16}}</ref> В то же время, в версию YUM 4 2017 года были перенесены многие возможности DNF, в том числе, ускоренное разрешение зависимостей<ref>[https://blog.centos.org/2017/10/yum-4-is-available-for-testing/ YUM 4 is available for testing – Blog.CentOS.org<!-- Заголовок добавлен ботом -->]</ref><ref>[https://www.opennet.ru/opennews/art.shtml?num=47471 OpenNews: Началось тестирование пакетного менеджера YUM 4<!-- Заголовок добавлен ботом -->]</ref>.
В Fedora 18-й версии началось внедрение более быстрого [[форк]]а yum под названием «[[DNF (менеджер пакетов)|DNF]]»<ref>{{cite web|url=http://www.linux-magazine.com/Online/Features/Will-DNF-Replace-Yum|title=Will DNF Replace Yum? Behind the Scenes at Fedora’s Future Package Manager|author=Bruce Byfield|date=2014|publisher=Linux Magazine|lang=en|accessdate=2018-10-21|archive-date=2015-09-26|archive-url=https://web.archive.org/web/20150926071643/http://www.linux-magazine.com/Online/Features/Will-DNF-Replace-Yum|deadlink=no}}</ref>, с 20 версии он мог использоваться вместо yum, а в 22 версии весной 2014 года произошел переход от YUM в пользу dnf<ref>{{cite web|url=https://fedoramagazine.org/5tftw-2014-06-10/|title=Board Meeting, Rawhide Rebuilt, Firewall Debate, ARM 64, and DNF as Yum Replacement (5tFTW 2014-06-10)|last=Miller|first=Matthew|publisher=Fedora Magazine|date=2014-06-11|access-date=2016-05-04|archive-date=2016-04-11|archive-url=https://web.archive.org/web/20160411120309/http://fedoramagazine.org/5tftw-2014-06-10/|deadlink=no}}</ref><ref>{{Cite web |url=http://www.opennet.ru/opennews/art.shtml?num=39244 |title=OpenNews: В Fedora 22 ожидается замена пакетного менеджера Yum на DNF |access-date=2015-05-13 |archive-date=2016-03-04 |archive-url=https://web.archive.org/web/20160304195022/http://www.opennet.ru/opennews/art.shtml?num=39244 |deadlink=no }}</ref><ref>{{Cite web |url=http://linuxforum.ru/topic/34105 |title=В Fedora 22 ожидается замена пакетного менеджера Yum на DNF / linuxforum |accessdate=2015-05-13 |archiveurl=https://web.archive.org/web/20151117020237/http://linuxforum.ru/topic/34105 |archivedate=2015-11-17 |deadlink=yes }}</ref><ref>{{Cite web |url=http://www.nixp.ru/news/12560.html |title=Технический комитет Fedora подтвердил планы по замене Yum на DNF в Fedora 22 — Новости (nixp.ru) |access-date=2015-05-13 |archive-date=2015-05-18 |archive-url=https://web.archive.org/web/20150518101022/http://www.nixp.ru/news/12560.html |deadlink=no }}</ref>. DNF был создан для улучшения YUM в части производительности, качества разрешения конфликтов зависимостей и для упрощения интеграции с другими приложениями<ref name="lwn580223">{{cite web|url=https://lwn.net/Articles/580223/|title=DNF and Yum in Fedora|last=Edge|first=Jake|publisher=[[LWN.net]]|date=2014-01-15|accessdate=2018-10-16|archive-date=2015-09-30|archive-url=https://web.archive.org/web/20150930225233/https://lwn.net/Articles/580223/|deadlink=no}}</ref>. В то же время, в версию YUM 4 2017 года были перенесены многие возможности DNF, в том числе, ускоренное разрешение зависимостей<ref>{{Cite web |url=https://blog.centos.org/2017/10/yum-4-is-available-for-testing/ |title=YUM 4 is available for testing – Blog.CentOS.org<!-- Заголовок добавлен ботом --> |access-date=2018-10-21 |archive-date=2018-10-21 |archive-url=https://web.archive.org/web/20181021111410/https://blog.centos.org/2017/10/yum-4-is-available-for-testing/ |deadlink=no }}</ref><ref>{{Cite web |url=https://www.opennet.ru/opennews/art.shtml?num=47471 |title=OpenNews: Началось тестирование пакетного менеджера YUM 4<!-- Заголовок добавлен ботом --> |access-date=2018-10-21 |archive-date=2018-10-21 |archive-url=https://web.archive.org/web/20181021111435/https://www.opennet.ru/opennews/art.shtml?num=47471 |deadlink=no }}</ref>.


== Возможности ==
== Возможности ==
YUM представляет собой оболочку для RPM, обеспечивающую работу с репозиториями. Был создан для решения следующих задач<ref name="Prentice Hall Professional">{{cite book
YUM представляет собой оболочку для RPM, обеспечивающую работу с репозиториями. Был создан для решения следующих задач<ref name="Prentice Hall Professional">{{книга
|заглавие=Linux Patch Management: Keeping Linux Systems Up to Date
| last1 = Jang
|ссылка=https://books.google.com/books?id=5CsFGUtF2eYC
| first1 = Michael H.
|серия=Bruce Perens' Open Source series
| title = Linux Patch Management: Keeping Linux Systems Up to Date
|издательство=[[Prentice Hall|Prentice Hall Professional]]
| url = https://books.google.com/books?id=5CsFGUtF2eYC
|страницы=199
| series = Bruce Perens' Open Source series
|isbn=9780132366755
| publisher = Prentice Hall Professional
|язык=en
| publication-date = 2006
|автор=Jang, Michael H.
| page = 199
| isbn = 9780132366755
| accessdate = 26 August 2014
}}</ref>:
}}</ref>:


Строка 46: Строка 43:
* обновление системы
* обновление системы
* удаление ненужных пакетов
* удаление ненужных пакетов
* [[даунгрейд]] пакетов<ref>[http://docs.fedoraproject.org/en-US/Fedora/14/html/Software_Management_Guide/ch05s06s03.html Fedora Documentation — Downgrade to a Previous Version]</ref>
* [[даунгрейд]] пакетов<ref>{{Cite web |url=http://docs.fedoraproject.org/en-US/Fedora/14/html/Software_Management_Guide/ch05s06s03.html |title=Fedora Documentation — Downgrade to a Previous Version |access-date=2012-06-11 |archive-date=2012-01-11 |archive-url=https://web.archive.org/web/20120111072604/http://docs.fedoraproject.org/en-US/Fedora/14/html/Software_Management_Guide/ch05s06s03.html |deadlink=no }}</ref>


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


Позже, в целях управления системами [[Red Hat Linux]] в [[Университет Дьюка|университете Дьюка]], сотрудники физического факультета Seth Vidal и Michael Stenner полностью переписали YUP, создав ''Yellowdog Updater, Modified'', сокращенно "YUM". Seth Vidal продолжил работу над программой до 2013 года.<ref>{{cite web |title= Seth Vidal, creator of "yum" open source software, killed in bike accident off Hillandale Rd. |work= Durham io: The Daily Durham |date= 9 July 2013 |url= http://durham.io/2013/07/09/seth-vidal-creator-of-yum-open-source-software-killed-in-bike-accident-off-hillandale-rd/ |accessdate= 13 July 2013 }}</ref><ref>{{cite web |title= Thank you, Seth Vidal |date= 10 July 2013 |publisher= Red Hat |url= http://www.redhat.com/about/news/archive/2013/7/thank-you-seth-vidal |accessdate= 13 July 2013 }}</ref><ref>{{cite web |title= 36-Year-Old Open Source Guru Seth Vidal Has Been Tragically Killed |last= Bort |first= Julie |work= Business Insider |date= 9 July 2013 |url= http://www.businessinsider.com/36-year-old-seth-vidal-tragically-killed-2013-7 |accessdate= 13 July 2013 }}</ref><ref>{{cite news|url=http://www.cnews.ru/news/top/pogib_odin_iz_vedushchih_razrabotchikov|title=Погиб один из ведущих разработчиков Fedora Linux|date=10.07.2013|publisher=CNews|accessdate=2018-10-21}}</ref>
Позже, в целях управления системами [[Red Hat Linux]] в [[Университет Дьюка|университете Дьюка]], сотрудники физического факультета Seth Vidal и Michael Stenner полностью переписали YUP, создав ''Yellowdog Updater, Modified'', сокращенно "YUM". Seth Vidal продолжил работу над программой до 2013 года.<ref>{{cite web |title= Seth Vidal, creator of "yum" open source software, killed in bike accident off Hillandale Rd. |work= Durham io: The Daily Durham |date= 2013-07-09 |url= http://durham.io/2013/07/09/seth-vidal-creator-of-yum-open-source-software-killed-in-bike-accident-off-hillandale-rd/ |accessdate= 2013-07-13 |archive-date= 2013-07-12 |archive-url= https://web.archive.org/web/20130712221216/http://durham.io/2013/07/09/seth-vidal-creator-of-yum-open-source-software-killed-in-bike-accident-off-hillandale-rd/ |deadlink= no }}</ref><ref>{{cite web |title= Thank you, Seth Vidal |date= 2013-07-10 |publisher= Red Hat |url= http://www.redhat.com/about/news/archive/2013/7/thank-you-seth-vidal |accessdate= 2013-07-13 |archive-date= 2013-07-14 |archive-url= https://web.archive.org/web/20130714004348/http://www.redhat.com/about/news/archive/2013/7/thank-you-seth-vidal |deadlink= no }}</ref><ref>{{cite web |title= 36-Year-Old Open Source Guru Seth Vidal Has Been Tragically Killed |last= Bort |first= Julie |work= Business Insider |date= 2013-07-09 |url= http://www.businessinsider.com/36-year-old-seth-vidal-tragically-killed-2013-7 |accessdate= 2013-07-13 |archive-date= 2013-07-12 |archive-url= https://web.archive.org/web/20130712220637/http://www.businessinsider.com/36-year-old-seth-vidal-tragically-killed-2013-7 |deadlink= no }}</ref><ref>{{cite news|url=http://www.cnews.ru/news/top/pogib_odin_iz_vedushchih_razrabotchikov|title=Погиб один из ведущих разработчиков Fedora Linux|date=2013-07-10|publisher=CNews|accessdate=2018-10-21|archivedate=2018-10-21|archiveurl=https://web.archive.org/web/20181021190719/http://www.cnews.ru/news/top/pogib_odin_iz_vedushchih_razrabotchikov}}</ref>


В 2003 году Robert G. Brown ([[университет Дьюка]]) опубликовал документацию по YUM.<ref name="Brown"/> В дальнейшем ряд дистрибутивов<ref name="Brown"/> начали использовать YUM, в том числе [[Fedora]], [[CentOS]] и другие, построенные на основе RPM. На YUM также перешел Yellow Dog Linux. Оригинальная утилита YUP в последний раз обновлялась в 2001 году.<ref>{{cite web |title= Yellow Dog Update Program |url= http://sourceforge.net/projects/yup/ |work= [[SourceForge]] repository|accessdate=18 July 2013 }}</ref> К 2005 году менеджер YUM использовался примерно на половине рынка Linux-дистрибутивов<ref name="patch" />, и в 2007 году 2007 YUM признавался наиболее популярным менеджером для RPM дистрибутивов.<ref>{{cite book |title= The Linux Programmer's Toolbox |last= Fusco |first= John |publisher= Pearson Education |isbn= 9780132703048 |url= https://books.google.com/books?id=5fgn7Tg4Lt8C&pg=PT62 }}</ref>
В 2003 году Robert G. Brown ([[университет Дьюка]]) опубликовал документацию по YUM<ref name="Brown">{{cite web|url=http://www.phy.duke.edu/~rgb/General/yum_article/yum_article.pdf|title=YUM: Yellowdog Updater, Modified|first=Robert G.|last=Brown|date=2003-12-17|accessdate=2013-07-13|archive-date=2013-10-02|archive-url=https://web.archive.org/web/20131002191441/http://www.phy.duke.edu/~rgb/General/yum_article/yum_article.pdf|deadlink=no}}</ref>. В дальнейшем ряд дистрибутивов<ref name="Brown"/> начали использовать YUM, в том числе [[Fedora]], [[CentOS]] и другие, построенные на основе RPM. На YUM также перешел Yellow Dog Linux. Оригинальная утилита YUP в последний раз обновлялась в 2001 году<ref>{{cite web |title= Yellow Dog Update Program |url= http://sourceforge.net/projects/yup/ |work= [[SourceForge]] repository |accessdate= 2013-07-18 |archive-date= 2013-10-04 |archive-url= https://web.archive.org/web/20131004062049/http://sourceforge.net/projects/yup/ |deadlink= no }}</ref>. К 2005 году менеджер YUM использовался примерно на половине рынка Linux-дистрибутивов<ref name="patch" />, и в 2007 году 2007 YUM признавался наиболее популярным менеджером для RPM дистрибутивов<ref>{{книга |заглавие=The Linux Programmer's Toolbox |издательство={{Нп3|Pearson Education}} |isbn=9780132703048 |ссылка=https://books.google.com/books?id=5fgn7Tg4Lt8C&pg=PT62 |язык=und |автор=Fusco, John}}</ref>.


Приложение YUM устраняло ряд видимых недостатков старого менеджера [[APT-RPM]],<ref>{{cite web|last=Murphy|first=David|title=How to run your own yum repository|url=http://archive09.linux.com/feature/37660|publisher=Linux Foundation|accessdate=12 July 2013 |date=23 July 2004}}</ref> и ограничения оригинального менеджера пакетов {{iw|up2date}} из состава Red Hat. В вышедшей в 2007 году версии [[Red Hat Enterprise Linux]] 5 менеджер up2date был заменен на YUM.<ref>{{cite web|title=What are the yum equivalents of up2date and rpm common tasks on Red Hat Enterprise Linux?|url=https://access.redhat.com/site/solutions/2529|publisher=Red Hat}}</ref><ref>{{cite web|url=https://www.emergent360.com/images/uploads/RHEL_Linux_FeatureBenefit_Datasheet.pdf|title=Red Hat Enterprise linux 5. Feature, function, and benefit summary|date=2007|publisher=RedHat|lang=en|accessdate=2018-10-21}}</ref> Некоторые авторы называют пакет «Yellowdog Update Manager» или предлагают расшифровку «Your Update Manager».<ref>
Приложение YUM устраняло ряд видимых недостатков старого менеджера [[APT-RPM]]<ref>{{cite web|last=Murphy|first=David|title=How to run your own yum repository|url=http://archive09.linux.com/feature/37660|publisher=Linux Foundation|accessdate=2013-07-12|date=2004-07-23|archiveurl=https://web.archive.org/web/20130721041347/http://archive09.linux.com/feature/37660|archivedate=2013-07-21|deadlink=yes}}</ref>, и ограничения оригинального менеджера пакетов {{iw|up2date}} из состава Red Hat. В вышедшей в 2007 году версии [[Red Hat Enterprise Linux]] 5 менеджер up2date был заменен на YUM<ref>{{cite web|title=What are the yum equivalents of up2date and rpm common tasks on Red Hat Enterprise Linux?|url=https://access.redhat.com/site/solutions/2529|publisher=Red Hat|access-date=2018-10-21|archive-date=2014-01-08|archive-url=https://web.archive.org/web/20140108025256/https://access.redhat.com/site/solutions/2529|deadlink=no}}</ref><ref>{{cite web|url=https://www.emergent360.com/images/uploads/RHEL_Linux_FeatureBenefit_Datasheet.pdf|title=Red Hat Enterprise linux 5. Feature, function, and benefit summary|date=2007|publisher=RedHat|lang=en|accessdate=2018-10-21|archive-date=2018-10-21|archive-url=https://web.archive.org/web/20181021152842/https://www.emergent360.com/images/uploads/RHEL_Linux_FeatureBenefit_Datasheet.pdf|deadlink=no}}</ref>. Некоторые авторы называют пакет «Yellowdog Update Manager» или предлагают расшифровку «Your Update Manager»<ref>
{{книга
{{cite book |title= Network Security Using Linux |last= Sweeney |first= Michael |year= 2005
|заглавие=Network Security Using Linux
|isbn= 9781411621770 |page= 84 | url = https://books.google.com/books?id=RIPFByuIvvAC&pg=PA84 }}
|год=2005
|isbn=9781411621770
|страницы=84
|ссылка=https://books.google.com/books?id=RIPFByuIvvAC&pg=PA84
|язык=und
|автор=Sweeney, Michael
}}
</ref><ref>
</ref><ref>
{{книга
{{cite book |title= Linux Bible |last1= Negus |first1= Christopher |last2= Bresnahan |first2= Christine
|заглавие=Linux Bible
|publisher= John Wiley & Sons |year= 2012 |isbn= 9781118286906 |page= 598
|издательство=[[John Wiley & Sons]]
|url= https://books.google.com/books?id=w0gL9poGWIIC&pg=PA598 }}
|год=2012
</ref>
|isbn=9781118286906
|страницы=598
|ссылка=https://books.google.com/books?id=w0gL9poGWIIC&pg=PA598
|язык=und
|автор=Negus, Christopher; Bresnahan, Christine
}}
</ref>.


Знание команд YUM часто является требованием для получения сертификатов по администрированию Linux.<ref name="IBM" />
Знание команд YUM часто является требованием для получения сертификатов по администрированию Linux<ref name="IBM" />.


Пакет YUM распространяется под условиями [[GNU General Public License]], что позволяет свободно распространять приложение и его модификации.<ref name="howto" />
Пакет YUM распространяется под условиями [[GNU General Public License]], что позволяет свободно распространять приложение и его модификации<ref name="howto" />.


== Расширения ==
== Расширения ==
[[Файл:Screenshot-Yum Extender 2.0.4-1.png|thumb|upright=1.5 |Внешний вид приложения Yum Extender (yumex) — графической оболочки для YUM.]]
[[Файл:Screenshot-Yum Extender 2.0.4-1.png|thumb|upright=1.5 |Внешний вид приложения Yum Extender (yumex) — графической оболочки для YUM.]]
В версии 2.x YUM был добавлен интерфейс для написания расширений на языке [[Python]]. Такие расширения позволяют изменять поведение YUM, ряд плагинов устанавливается по умолчанию.<ref>{{cite web|title=Yum Plug-ins|url=https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/sec-Yum_Plugins.html|publisher=Red Hat|accessdate=12 July 2013}}</ref> Например, обычно устанавливается<ref>{{cite web|title=Maintaining yum|url=http://www.centos.org/docs/5/html/yum/sn-yum-maintenance.html|publisher=CentOS|accessdate=12 July 2013|archiveurl=https://web.archive.org/web/20181118175825/https://www.centos.org/docs/5/html/yum/sn-yum-maintenance.html|archivedate=2018-11-18|deadlink=yes}}</ref> пакет <code>yum-utils</code> который содержит команды для работы с YUM API и ряд плагинов.
В версии 2.x YUM был добавлен интерфейс для написания расширений на языке [[Python]]. Такие расширения позволяют изменять поведение YUM, ряд плагинов устанавливается по умолчанию<ref>{{cite web|title=Yum Plug-ins|url=https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/sec-Yum_Plugins.html|publisher=Red Hat|accessdate=2013-07-12|archive-date=2013-10-02|archive-url=https://web.archive.org/web/20131002190133/https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/sec-Yum_Plugins.html|deadlink=no}}</ref>. Например, обычно устанавливается<ref>{{cite web|title=Maintaining yum|url=http://www.centos.org/docs/5/html/yum/sn-yum-maintenance.html|publisher=CentOS|accessdate=2013-07-12|archiveurl=https://web.archive.org/web/20181118175825/https://www.centos.org/docs/5/html/yum/sn-yum-maintenance.html|archivedate=2018-11-18|deadlink=yes}}</ref> пакет <code>yum-utils</code> который содержит команды для работы с YUM API и ряд плагинов.


== Метаданные ==
== Метаданные ==
Информация о пакетах (в отличие от самих файлов пакетов) в терминологии YUM называется метаданными. В состав метаданных входят списки зависимостей, то есть список других пакетов и их версий, которые необходимы для данного. Корректное заполнение метаданных позволяет избегать [[Dependency hell|«ада зависимостей»]]. Коллекции пакетов и их метаданных организуются в [[Репозиторий|репозитории]], основные из них поддерживаются производителем дистрибутива. При помощи отдельной утилиты <code>createrepo</code> возможно создание частных YUM-репозиториев, в которых метаданные указанного набора пакетов собраны в единый [[XML]] файл (или в базу метаданных в формате [[SQLite]].<ref>{{cite web |title= createrepo(8) |work= Linux manual page |url= http://linux.die.net/man/8/createrepo |accessdate=12 July 2013}}</ref><ref name=susexml /> Дополнительная утилита <code>mrepo</code> (ранее называлась «Yam») упрощает создание и поддержку репозиториев.<ref>{{cite web|title=mrepo|url=http://freecode.com/projects/mrepo|publisher=Freecode|accessdate=12 July 2013}}</ref>
Информация о пакетах (в отличие от самих файлов пакетов) в терминологии YUM называется метаданными. В состав метаданных входят списки зависимостей, то есть список других пакетов и их версий, которые необходимы для данного. Корректное заполнение метаданных позволяет избегать [[Dependency hell|«ада зависимостей»]]. Коллекции пакетов и их метаданных организуются в [[Репозиторий|репозитории]], основные из них поддерживаются производителем дистрибутива. При помощи отдельной утилиты <code>createrepo</code> возможно создание частных YUM-репозиториев, в которых метаданные указанного набора пакетов собраны в единый [[XML]] файл (или в базу метаданных в формате [[SQLite]]<ref>{{cite web |title= createrepo(8) |work= Linux manual page |url= http://linux.die.net/man/8/createrepo |accessdate= 2013-07-12 |archive-date= 2013-07-03 |archive-url= https://web.archive.org/web/20130703024301/http://linux.die.net/man/8/createrepo |deadlink= no }}</ref><ref name="susexml" />. Дополнительная утилита <code>mrepo</code> (ранее называлась «Yam») упрощает создание и поддержку репозиториев<ref>{{cite web|title=mrepo|url=http://freecode.com/projects/mrepo|publisher=Freecode|accessdate=2013-07-12|archive-date=2014-06-21|archive-url=https://web.archive.org/web/20140621195005/http://freecode.com/projects/mrepo|deadlink=no}}</ref>.


XML-репозитории YUM быстро приобрели популярность для публикации наборов пакетов для дистрибутивов на базе RPM-пакетов.<ref name=susexml>{{cite web|title=Standards Rpm Metadata|url=http://en.opensuse.org/openSUSE:Standards_Rpm_Metadata|publisher=openSUSE|accessdate=12 July 2013}}</ref> Кроме традиционных RPM дистрибутивов от RedHat (RHEL, Fedora), их клонов (CentOS) и многочисленных менее известных вариаций, репозитории YUM могут использоваться в [[SUSE Linux]] 10.1<ref>{{cite web|title=SUSE Linux 10.1 Alpha 2 is ready |url=http://lists.opensuse.org/archive/opensuse-announce/2005-Oct/0005.html |accessdate=12 July 2013 |deadurl=yes |archiveurl=https://web.archive.org/web/20060208235135/http://lists.opensuse.org/archive/opensuse-announce/2005-Oct/0005.html |archivedate=February 8, 2006 }}</ref> (менеджер пакетов [[YaST]]). Система репозиториев [[Open Build Service]] также использует формат YUM XML.<ref name=susexml />
XML-репозитории YUM быстро приобрели популярность для публикации наборов пакетов для дистрибутивов на базе RPM-пакетов<ref name=susexml>{{cite web|title=Standards Rpm Metadata|url=http://en.opensuse.org/openSUSE:Standards_Rpm_Metadata|publisher=openSUSE|accessdate=2013-07-12|archive-date=2013-05-17|archive-url=https://web.archive.org/web/20130517060724/http://en.opensuse.org/openSUSE:Standards_Rpm_Metadata|deadlink=no}}</ref>. Кроме традиционных RPM дистрибутивов от RedHat (RHEL, Fedora), их клонов (CentOS) и многочисленных менее известных вариаций, репозитории YUM могут использоваться в [[SUSE Linux]] 10.1<ref>{{cite web|title=SUSE Linux 10.1 Alpha 2 is ready |url=http://lists.opensuse.org/archive/opensuse-announce/2005-Oct/0005.html |accessdate=2013-07-12 |archiveurl=https://web.archive.org/web/20060208235135/http://lists.opensuse.org/archive/opensuse-announce/2005-Oct/0005.html |archivedate=2006-02-08 }}</ref> (менеджер пакетов [[YaST]]). Система репозиториев [[Open Build Service]] также использует формат YUM XML<ref name=susexml />.


Программа YUM автоматически синхронизирует метаданные через сеть.<ref>{{cite web|url=http://www.linuxadvocates.com/2013/03/yum-vs-apt-which-is-best.html|title=YUM vs. APT: Which is Best?|last=Schmitz|first=Dietrich T.}}</ref><ref>{{cite web|url=http://fossforce.com/2015/01/linux-advocates-throws-in-the-towel/|title=‘Linux Advocates’ Throws in the Towel|publisher=FOSS Force|date=2015-01}}</ref>
Программа YUM автоматически синхронизирует метаданные через сеть<ref>{{cite web|url=http://www.linuxadvocates.com/2013/03/yum-vs-apt-which-is-best.html|title=YUM vs. APT: Which is Best?|last=Schmitz|first=Dietrich T.|access-date=2018-10-21|archive-date=2018-10-21|archive-url=https://web.archive.org/web/20181021065932/http://www.linuxadvocates.com/2013/03/yum-vs-apt-which-is-best.html|deadlink=no}}</ref><ref>{{cite web|url=http://fossforce.com/2015/01/linux-advocates-throws-in-the-towel/|title=‘Linux Advocates’ Throws in the Towel|publisher=FOSS Force|date=2015-01|access-date=2018-10-21|archive-date=2018-10-21|archive-url=https://web.archive.org/web/20181021111410/http://fossforce.com/2015/01/linux-advocates-throws-in-the-towel/|deadlink=no}}</ref>.


Механизмы безопасности, применяемые к метаданным в YUM неоднократно критиковались<ref>[http://www2.cs.arizona.edu/stork/packagemanagersecurity/attacks-on-package-managers.html Attacks on Package Managers], [https://www.opennet.ru/opennews/art.shtml?num=16952 Отчет о проблемах безопасности при работе менеджеров пакетов в Linux] 15.07.2008</ref><ref>Justin Cappos, et al. [https://ssl.engineering.nyu.edu/papers/cappos_pmsec_tr08-02.pdf 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.</ref><ref>Justin Cappos, Justin Samuel, [http://static.usenix.org/legacy/publications/login/2009-02/openpdfs/samuel.pdf Package managers still vulnerable: how to protect your systems] / USENIX, 2009</ref><ref name=lwn_koen_attackpackman>Koen Vervloesem, [https://lwn.net/Articles/327847/ Attacks on package managers] / LWN, April 8, 2009</ref>. В 2015 годах CentOS внедрил подписывание метаданных для основных репозиториев CentOS 6 и CentOS 7<ref>[https://blog.centos.org/2015/05/signed-repository-metadata-is-now-available-for-centos-6-and-7-for-the-updates-repo/ Signed Repository Metadata is now Available for CentOS 6 and 7 for the Updates Repo – Blog.CentOS.org<!-- Заголовок добавлен ботом -->]</ref>, а в 2018 — для всех репозиториев<ref>{{Cite web|url=https://blog.centos.org/2018/07/improving-centos-package-delivery-security-with-signed-repository-metadata/|title=Improving CentOS package delivery security with signed repository metadata – Blog.CentOS.org|publisher=blog.centos.org|lang=en-US|accessdate=2018-10-25}}</ref>. RedHat традиционно решал проблему при помощи безопасного транспорта<ref>{{Cite web|url=https://access.redhat.com/blogs/766093/posts/1976693|title=Secure distribution of RPM packages - Red Hat Customer Portal|publisher=access.redhat.com|lang=en|accessdate=2018-10-25}}</ref><ref>{{Cite web|url=https://access.redhat.com/articles/1373143|title=cdn.redhat.com X.509 certificate - Red Hat Customer Portal|publisher=access.redhat.com|lang=en|accessdate=2018-10-25}}</ref>
Механизмы безопасности, применяемые к метаданным в YUM неоднократно критиковались<ref name=lwn_koen_attackpackman>Koen Vervloesem, [https://lwn.net/Articles/327847/ Attacks on package managers] {{Wayback|url=https://lwn.net/Articles/327847/ |date=20181021151404 }} / LWN, April 8, 2009</ref><ref>[http://www2.cs.arizona.edu/stork/packagemanagersecurity/attacks-on-package-managers.html Attacks on Package Managers] {{Wayback|url=http://www2.cs.arizona.edu/stork/packagemanagersecurity/attacks-on-package-managers.html |date=20181220222857 }}, [https://www.opennet.ru/opennews/art.shtml?num=16952 Отчет о проблемах безопасности при работе менеджеров пакетов в Linux] {{Wayback|url=https://www.opennet.ru/opennews/art.shtml?num=16952 |date=20181021111446 }} 15.07.2008</ref><ref>Justin Cappos, et al. [https://ssl.engineering.nyu.edu/papers/cappos_pmsec_tr08-02.pdf Package Management Security] {{Wayback|url=https://ssl.engineering.nyu.edu/papers/cappos_pmsec_tr08-02.pdf |date=20181021151308 }} 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.</ref><ref>Justin Cappos, Justin Samuel, [http://static.usenix.org/legacy/publications/login/2009-02/openpdfs/samuel.pdf Package managers still vulnerable: how to protect your systems] {{Wayback|url=http://static.usenix.org/legacy/publications/login/2009-02/openpdfs/samuel.pdf |date=20181021151433 }} / USENIX, 2009</ref>. В 2015 годах CentOS внедрил подписывание метаданных для основных репозиториев CentOS 6 и CentOS 7<ref>{{Cite web |url=https://blog.centos.org/2015/05/signed-repository-metadata-is-now-available-for-centos-6-and-7-for-the-updates-repo/ |title=Signed Repository Metadata is now Available for CentOS 6 and 7 for the Updates Repo – Blog.CentOS.org<!-- Заголовок добавлен ботом --> |access-date=2018-10-21 |archive-date=2018-10-21 |archive-url=https://web.archive.org/web/20181021190810/https://blog.centos.org/2015/05/signed-repository-metadata-is-now-available-for-centos-6-and-7-for-the-updates-repo/ |deadlink=no }}</ref>, а в 2018 — для всех репозиториев<ref>{{Cite web|url=https://blog.centos.org/2018/07/improving-centos-package-delivery-security-with-signed-repository-metadata/|title=Improving CentOS package delivery security with signed repository metadata – Blog.CentOS.org|publisher=blog.centos.org|lang=en|accessdate=2018-10-25|archive-date=2018-10-21|archive-url=https://web.archive.org/web/20181021190734/https://blog.centos.org/2018/07/improving-centos-package-delivery-security-with-signed-repository-metadata/|deadlink=no}}</ref>. RedHat традиционно решал проблему при помощи безопасного транспорта<ref>{{Cite web|url=https://access.redhat.com/blogs/766093/posts/1976693|title=Secure distribution of RPM packages - Red Hat Customer Portal|publisher=access.redhat.com|lang=en|accessdate=2018-10-25|archive-date=2018-10-21|archive-url=https://web.archive.org/web/20181021151344/https://access.redhat.com/blogs/766093/posts/1976693|deadlink=no}}</ref><ref>{{Cite web|url=https://access.redhat.com/articles/1373143|title=cdn.redhat.com X.509 certificate - Red Hat Customer Portal|publisher=access.redhat.com|lang=en|accessdate=2018-10-25|archive-date=2018-10-21|archive-url=https://web.archive.org/web/20181021151441/https://access.redhat.com/articles/1373143|deadlink=no}}</ref>.


== Графические оболочки ==
== Графические оболочки ==
[[Файл:PackageKit on Fedora.png|thumb|250px|[[PackageKit]] — основной графический интерфейс к менеджеру пакетов в ОС [[Fedora]].]]
[[Файл:PackageKit on Fedora.png|thumb|250px|[[PackageKit]] — основной графический интерфейс к менеджеру пакетов в ОС [[Fedora]].]]
* [[PackageKit]]<ref>[https://www.freedesktop.org/software/PackageKit/ PackageKit - Main Page<!-- Заголовок добавлен ботом -->]</ref>: [[Apper]], [[GnomePackageKit]]
* [[PackageKit]]<ref>{{Cite web |url=https://www.freedesktop.org/software/PackageKit/ |title=PackageKit - Main Page<!-- Заголовок добавлен ботом --> |access-date=2018-10-14 |archive-date=2018-09-21 |archive-url=https://web.archive.org/web/20180921075600/https://www.freedesktop.org/software/PackageKit/ |deadlink=no }}</ref>: [[Apper]], [[GnomePackageKit]]
* [http://yum-extender.blogspot.com/ Yum Extender]
* [http://yum-extender.blogspot.com/ Yum Extender]


Строка 96: Строка 107:
* [http://yum.baseurl.org/ Yum website]
* [http://yum.baseurl.org/ Yum website]
* [https://web.archive.org/web/20160304194550/http://wiki.russianfedora.pro/index.php/%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_Yum Русское руководство]
* [https://web.archive.org/web/20160304194550/http://wiki.russianfedora.pro/index.php/%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_Yum Русское руководство]

* [http://www.linux-magazine.com/content/download/62011/483586/version/1/file/Yum_Package_Manager.pdf Exploring the yum package manager] — Linux Magazine issue 103, June 2009{{ref-en}}
* [http://www.linux-magazine.com/content/download/62011/483586/version/1/file/Yum_Package_Manager.pdf Exploring the yum package manager] — Linux Magazine issue 103, June 2009{{ref-en}}
* Roderick W. Smith, [http://www.linux-mag.com/id/2908/ Linux Software Management with yum] / Linux Magazine, 2007-02-16
* Roderick W. Smith, [http://www.linux-mag.com/id/2908/ Linux Software Management with yum] / Linux Magazine, 2007-02-16

Текущая версия от 13:13, 13 сентября 2024

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

YUM (Yellowdog Updater, Modified) — открытый консольный менеджер пакетов для дистрибутивов Linux, основанных на пакетах формата RPM (RedHat, CentOS, Fedora, Oracle Linux)[2]. Позволяет облегчить работу с обновлениями дистрибутивов, отслеживая взаимозависимости между пакетами. Распространяется под лицензией GNU GPL-2.0-or-later. Первоначально проект был разработан программистом 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 и несколько приложений командной строки. Среди графических интерфейсов к YUM — YUM Extender (yumex)[7].

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

Возможности

[править | править код]

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

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

В 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 года.[18][19][20][21]

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