Yum: различия между версиями
[отпатрулированная версия] | [непроверенная версия] |
A5b (обсуждение | вклад) translate intro from cc-by-sa 3 en:~ https://en.wikipedia.org/wiki/Yum_(software)# |
РобоСтася (обсуждение | вклад) м checkwiki fixes (1, 2, 9, 17, 22, 26, 38, 48, 50, 52, 54, 64, 65, 66, 76, 81, 86, 88, 89, 101) |
||
(не показано 36 промежуточных версий 11 участников) | |||
Строка 1: | Строка 1: | ||
<noinclude>{{К удалению|2018-10-20}}</noinclude> |
|||
{{Карточка программы |
{{Карточка программы |
||
| name = Yellowdog updater, Modified |
| name = Yellowdog updater, Modified |
||
Строка 14: | Строка 13: | ||
| operating system = [[Linux]] |
| operating system = [[Linux]] |
||
| platform = |
| platform = |
||
| programming_language = [[Python]]<ref name="patch">{{ |
| 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/ |
||
}} |
}} |
||
⚫ | '''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= |
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-пакетов. Пакеты |
В своем внутреннем устройстве 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 |
||
⚫ | В 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, обеспечивающую работу с репозиториями. Был создан для решения следующих задач |
YUM представляет собой оболочку для RPM, обеспечивающую работу с репозиториями. Был создан для решения следующих задач<ref name="Prentice Hall Professional">{{книга |
||
|заглавие=Linux Patch Management: Keeping Linux Systems Up to Date |
|||
|ссылка=https://books.google.com/books?id=5CsFGUtF2eYC |
|||
|серия=Bruce Perens' Open Source series |
|||
|издательство=[[Prentice Hall|Prentice Hall Professional]] |
|||
|страницы=199 |
|||
|isbn=9780132366755 |
|||
|язык=en |
|||
|автор=Jang, Michael H. |
|||
}}</ref>: |
|||
* поиск пакетов в репозиториях |
* поиск пакетов в репозиториях |
||
Строка 37: | Строка 43: | ||
* обновление системы |
* обновление системы |
||
* удаление ненужных пакетов |
* удаление ненужных пакетов |
||
* [[даунгрейд]] пакетов<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" />. |
|||
Позже, в целях управления системами [[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">{{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=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> |
|||
{{книга |
|||
|заглавие=Network Security Using Linux |
|||
|год=2005 |
|||
|isbn=9781411621770 |
|||
|страницы=84 |
|||
|ссылка=https://books.google.com/books?id=RIPFByuIvvAC&pg=PA84 |
|||
|язык=und |
|||
|автор=Sweeney, Michael |
|||
}} |
|||
</ref><ref> |
|||
{{книга |
|||
|заглавие=Linux Bible |
|||
|издательство=[[John Wiley & Sons]] |
|||
|год=2012 |
|||
|isbn=9781118286906 |
|||
|страницы=598 |
|||
|ссылка=https://books.google.com/books?id=w0gL9poGWIIC&pg=PA598 |
|||
|язык=und |
|||
|автор=Negus, Christopher; Bresnahan, Christine |
|||
}} |
|||
</ref>. |
|||
Знание команд YUM часто является требованием для получения сертификатов по администрированию Linux<ref name="IBM" />. |
|||
Пакет YUM распространяется под условиями [[GNU General Public License]], что позволяет свободно распространять приложение и его модификации<ref name="howto" />. |
|||
== Расширения == |
|||
[[Файл: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=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= 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=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.|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 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>. |
|||
== Система расширений == |
|||
В версии 2.x YUM был добавлен интерфейс для расширения возможностей на интерактивном языке [[Python]]. |
|||
== Графические оболочки == |
|||
== FrontEnd == |
|||
⚫ | |||
* [[PackageKit]]<ref>https://www.freedesktop.org/software/PackageKit/</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] |
||
Строка 55: | Строка 106: | ||
== Ссылки == |
== Ссылки == |
||
* [http://yum.baseurl.org/ Yum website] |
* [http://yum.baseurl.org/ Yum website] |
||
* [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}} |
|||
* Roderick W. Smith, [http://www.linux-mag.com/id/2908/ Linux Software Management with yum] / 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, [https://www.ibm.com/developerworks/linux/library/l-lpic1-102-5/index.html RPM and YUM package management] / IBM, 2010 |
|||
* Q. Ethan McCallum, Managing RPM-Based Systems with Kickstart and Yum, ISBN 9780596513825 |
|||
* Алексей Федорчук, [http://wiki.linuxformat.ru/wiki/LXF125:Yum LXF125:Yum], Декабрь 2009 |
|||
* [http://wiki.linuxformat.ru/wiki/LXF138:%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0%D0%BC%D0%B8 LXF138:Управление пакетами. Yum и APT], Декабрь 2010 |
|||
* [ftp://ftp.iitb.ac.in/LDP/en/Package-Management-Basics-HOWTO/Package-Management-Basics-HOWTO.pdf Package Management Basics apt, yum, dnf, zypper, and pkg] |
|||
{{Системы управления пакетами}} |
{{Системы управления пакетами}} |
Текущая версия от 13:13, 13 сентября 2024
Yellowdog updater, Modified | |
---|---|
| |
Тип | Пакетный менеджер |
Разработчик | 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].
Расширения
[править | править код]В версии 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].
Графические оболочки
[править | править код]См. также
[править | править код]Примечания
[править | править код]- ↑ 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 года.
- ↑ 1 2 3 Brown, Robert G. YUM (Yellowdog Updater, Modified) HOWTO - Introduction . Duke Physics. Дата обращения: 12 июля 2013. Архивировано 2 августа 2013 года.
- ↑ 1 2 Shields, Ian RPM and YUM package management . Learn Linux, 101. IBM (11 мая 2010). Дата обращения: 12 июля 2013. Архивировано 2 октября 2016 года.
- ↑ Creating a Local YUM Repository Using an ISO Image . Oracle. Дата обращения: 12 июля 2013. Архивировано 19 августа 2013 года.
- ↑ Ian Shields, RPM and YUM package management Архивная копия от 21 октября 2018 на Wayback Machine / IBM, 2010
- ↑ 1 2 Koen Vervloesem, Attacks on package managers Архивная копия от 21 октября 2018 на Wayback Machine / LWN, April 8, 2009
- ↑ Yum Extender . Yumex Homepage. Дата обращения: 13 июля 2013. Архивировано 12 ноября 2020 года.
- ↑ Bruce Byfield. Will DNF Replace Yum? Behind the Scenes at Fedora’s Future Package Manager (англ.). Linux Magazine (2014). Дата обращения: 21 октября 2018. Архивировано 26 сентября 2015 года.
- ↑ 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 года.
- ↑ OpenNews: В Fedora 22 ожидается замена пакетного менеджера Yum на DNF . Дата обращения: 13 мая 2015. Архивировано 4 марта 2016 года.
- ↑ В Fedora 22 ожидается замена пакетного менеджера Yum на DNF / linuxforum . Дата обращения: 13 мая 2015. Архивировано из оригинала 17 ноября 2015 года.
- ↑ Технический комитет Fedora подтвердил планы по замене Yum на DNF в Fedora 22 — Новости (nixp.ru) . Дата обращения: 13 мая 2015. Архивировано 18 мая 2015 года.
- ↑ Edge, Jake DNF and Yum in Fedora . LWN.net (15 января 2014). Дата обращения: 16 октября 2018. Архивировано 30 сентября 2015 года.
- ↑ YUM 4 is available for testing – Blog.CentOS.org . Дата обращения: 21 октября 2018. Архивировано 21 октября 2018 года.
- ↑ OpenNews: Началось тестирование пакетного менеджера YUM 4 . Дата обращения: 21 октября 2018. Архивировано 21 октября 2018 года.
- ↑ Jang, Michael H. Linux Patch Management: Keeping Linux Systems Up to Date (англ.). — Prentice Hall Professional. — P. 199. — (Bruce Perens' Open Source series). — ISBN 9780132366755.
- ↑ Fedora Documentation — Downgrade to a Previous Version . Дата обращения: 11 июня 2012. Архивировано 11 января 2012 года.
- ↑ 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 года.
- ↑ Thank you, Seth Vidal . Red Hat (10 июля 2013). Дата обращения: 13 июля 2013. Архивировано 14 июля 2013 года.
- ↑ Bort, Julie 36-Year-Old Open Source Guru Seth Vidal Has Been Tragically Killed . Business Insider (9 июля 2013). Дата обращения: 13 июля 2013. Архивировано 12 июля 2013 года.
- ↑ "Погиб один из ведущих разработчиков Fedora Linux". CNews. 2013-07-10. Архивировано 21 октября 2018. Дата обращения: 21 октября 2018.
- ↑ 1 2 Brown, Robert G. YUM: Yellowdog Updater, Modified (17 декабря 2003). Дата обращения: 13 июля 2013. Архивировано 2 октября 2013 года.
- ↑ Yellow Dog Update Program . SourceForge repository. Дата обращения: 18 июля 2013. Архивировано 4 октября 2013 года.
- ↑ Fusco, John. The Linux Programmer's Toolbox (неопр.). — Pearson Education[англ.]. — ISBN 9780132703048.
- ↑ Murphy, David How to run your own yum repository . Linux Foundation (23 июля 2004). Дата обращения: 12 июля 2013. Архивировано из оригинала 21 июля 2013 года.
- ↑ What are the yum equivalents of up2date and rpm common tasks on Red Hat Enterprise Linux? Red Hat. Дата обращения: 21 октября 2018. Архивировано 8 января 2014 года.
- ↑ Red Hat Enterprise linux 5. Feature, function, and benefit summary (англ.). RedHat (2007). Дата обращения: 21 октября 2018. Архивировано 21 октября 2018 года.
- ↑ Sweeney, Michael. Network Security Using Linux (неопр.). — 2005. — С. 84. — ISBN 9781411621770.
- ↑ Negus, Christopher; Bresnahan, Christine. Linux Bible (неопр.). — John Wiley & Sons, 2012. — С. 598. — ISBN 9781118286906.
- ↑ Yum Plug-ins . Red Hat. Дата обращения: 12 июля 2013. Архивировано 2 октября 2013 года.
- ↑ Maintaining yum . CentOS. Дата обращения: 12 июля 2013. Архивировано из оригинала 18 ноября 2018 года.
- ↑ createrepo(8) . Linux manual page. Дата обращения: 12 июля 2013. Архивировано 3 июля 2013 года.
- ↑ 1 2 3 Standards Rpm Metadata . openSUSE. Дата обращения: 12 июля 2013. Архивировано 17 мая 2013 года.
- ↑ mrepo . Freecode. Дата обращения: 12 июля 2013. Архивировано 21 июня 2014 года.
- ↑ SUSE Linux 10.1 Alpha 2 is ready . Дата обращения: 12 июля 2013. Архивировано 8 февраля 2006 года.
- ↑ Schmitz, Dietrich T. YUM vs. APT: Which is Best? Дата обращения: 21 октября 2018. Архивировано 21 октября 2018 года.
- ↑ ‘Linux Advocates’ Throws in the Towel . FOSS Force (январь 2015). Дата обращения: 21 октября 2018. Архивировано 21 октября 2018 года.
- ↑ Attacks on Package Managers Архивная копия от 20 декабря 2018 на Wayback Machine, Отчет о проблемах безопасности при работе менеджеров пакетов в Linux Архивная копия от 21 октября 2018 на Wayback Machine 15.07.2008
- ↑ 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.
- ↑ Justin Cappos, Justin Samuel, Package managers still vulnerable: how to protect your systems Архивная копия от 21 октября 2018 на Wayback Machine / USENIX, 2009
- ↑ Signed Repository Metadata is now Available for CentOS 6 and 7 for the Updates Repo – Blog.CentOS.org . Дата обращения: 21 октября 2018. Архивировано 21 октября 2018 года.
- ↑ Improving CentOS package delivery security with signed repository metadata – Blog.CentOS.org (англ.). blog.centos.org. Дата обращения: 25 октября 2018. Архивировано 21 октября 2018 года.
- ↑ Secure distribution of RPM packages - Red Hat Customer Portal (англ.). access.redhat.com. Дата обращения: 25 октября 2018. Архивировано 21 октября 2018 года.
- ↑ cdn.redhat.com X.509 certificate - Red Hat Customer Portal (англ.). access.redhat.com. Дата обращения: 25 октября 2018. Архивировано 21 октября 2018 года.
- ↑ PackageKit - Main Page . Дата обращения: 14 октября 2018. Архивировано 21 сентября 2018 года.
Ссылки
[править | править код]- Yum website
- Русское руководство
- Exploring the yum package manager — Linux Magazine issue 103, June 2009 (англ.)
- Roderick W. Smith, Linux Software Management with yum / 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, RPM and YUM package management / IBM, 2010
- Q. Ethan McCallum, Managing RPM-Based Systems with Kickstart and Yum, ISBN 9780596513825
- Алексей Федорчук, LXF125:Yum, Декабрь 2009
- LXF138:Управление пакетами. Yum и APT, Декабрь 2010
- Package Management Basics apt, yum, dnf, zypper, and pkg