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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
Метаданные: from cc-by-sa 3 en:~ https://en.wikipedia.org/ruwiki/w/index.php?title=Yum_(software)&action=edit
м ==История == {{planned}}, викификация
Строка 24: Строка 24:
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=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 зависит от приложения [[RPM Package Manager|RPM]] и использует формат RPM-пакетов. Пакеты могут иметь криптографические подписи ([[MD5]]-хэш и [[GNU Privacy Guard|"digisig"]]) для подтверждения того, что данный файл был подготовлен определенным автором (хотя в механизме имеется ряд проблем<ref>http://www2.cs.arizona.edu/stork/packagemanagersecurity/attacks-on-package-managers.html https://www.opennet.ru/opennews/art.shtml?num=16952</ref>). Приложение 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">{{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> Среди графических интерфейсов к 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>http://www2.cs.arizona.edu/stork/packagemanagersecurity/attacks-on-package-managers.html https://www.opennet.ru/opennews/art.shtml?num=16952</ref>). Приложение 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">{{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> Среди графических интерфейсов к 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>


В Fedora 22 версии весной 2014 года отказались от менеджера YUM в пользу его более быстрого [[форк]]а "[[DNF (менеджер пакетов)|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>[http://linuxforum.ru/topic/34105 В Fedora 22 ожидается замена пакетного менеджера Yum на DNF / linuxforum]</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/</ref><ref>https://www.opennet.ru/opennews/art.shtml?num=47471</ref>.
В Fedora 22 версии весной 2014 года отказались от менеджера YUM в пользу его более быстрого [[форк]]а «[[DNF (менеджер пакетов)|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>[http://linuxforum.ru/topic/34105 В Fedora 22 ожидается замена пакетного менеджера Yum на DNF / linuxforum]</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/</ref><ref>https://www.opennet.ru/opennews/art.shtml?num=47471</ref>.




== Возможности ==
== Возможности ==
YUM представляет собой оболочку для RPM, обеспечивающую работу с репозиториями. Был создан для решения следующих задач:
YUM представляет собой оболочку для RPM, обеспечивающую работу с репозиториями. Был создан для решения следующих задач<ref name="Prentice Hall Professional">{{cite book

* поиск пакетов в репозиториях
* установка пакетов из репозиториев
* установка пакетов из .rpm-файлов, с удовлетворением зависимостей с помощью репозиториев
* обновление системы
* удаление ненужных пакетов
* [[даунгрейд]] пакетов<ref>[http://docs.fedoraproject.org/en-US/Fedora/14/html/Software_Management_Guide/ch05s06s03.html Fedora Documentation — Downgrade to a Previous Version]</ref>

<ref name="Prentice Hall Professional">{{cite book
| last1 = Jang
| last1 = Jang
| first1 = Michael H.
| first1 = Michael H.
Строка 50: Строка 41:
| isbn = 9780132366755
| isbn = 9780132366755
| accessdate = 26 August 2014
| accessdate = 26 August 2014
}}</ref>
}}</ref>:

* поиск пакетов в репозиториях
* установка пакетов из репозиториев
* установка пакетов из .rpm-файлов, с удовлетворением зависимостей с помощью репозиториев
* обновление системы
* удаление ненужных пакетов
* [[даунгрейд]] пакетов<ref>[http://docs.fedoraproject.org/en-US/Fedora/14/html/Software_Management_Guide/ch05s06s03.html Fedora Documentation — Downgrade to a Previous Version]</ref>

== История ==
{{planned}}



== Расширения ==
== Расширения ==
[[File: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}}</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=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}}</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=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>


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=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 />

Версия от 01:28, 21 октября 2018

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
Логотип Викисклада Медиафайлы на Викискладе
PackageKit сейчас основной менеджер пакетов в Fedora

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

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

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

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


Возможности

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

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

История


Расширения

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

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

Метаданные

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

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

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

FrontEnd

См. также

Примечания

  1. Jang, Michael H. Chapter 7 – Setting Up a YUM Repository // Linux Patch Management: Keeping Linux Systems Up to Date. — Prentice Hall Professional, 14 December 2005.
  2. Brown, Robert G. YUM (Yellowdog Updater, Modified) HOWTO - Introduction. Duke Physics. Дата обращения: 12 июля 2013.
  3. Shields, Ian RPM and YUM package management. Learn Linux, 101. IBM (11 мая 2010). Дата обращения: 12 июля 2013.
  4. Creating a Local YUM Repository Using an ISO Image. Oracle. Дата обращения: 12 июля 2013.
  5. http://www2.cs.arizona.edu/stork/packagemanagersecurity/attacks-on-package-managers.html https://www.opennet.ru/opennews/art.shtml?num=16952
  6. 1 2 Brown, Robert G. YUM: Yellowdog Updater, Modified (17 декабря 2003). Дата обращения: 13 июля 2013.
  7. Yum Extender. Yumex Homepage. Дата обращения: 13 июля 2013.
  8. 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.
  9. OpenNews: В Fedora 22 ожидается замена пакетного менеджера Yum на DNF
  10. В Fedora 22 ожидается замена пакетного менеджера Yum на DNF / linuxforum
  11. Технический комитет Fedora подтвердил планы по замене Yum на DNF в Fedora 22 — Новости (nixp.ru)
  12. Edge, Jake DNF and Yum in Fedora. LWN.net (15 января 2014). Дата обращения: 16 октября 2018.
  13. https://blog.centos.org/2017/10/yum-4-is-available-for-testing/
  14. https://www.opennet.ru/opennews/art.shtml?num=47471
  15. Jang, Michael H. Linux Patch Management: Keeping Linux Systems Up to Date. — Prentice Hall Professional. — P. 199. — ISBN 9780132366755.
  16. Fedora Documentation — Downgrade to a Previous Version
  17. Yum Plug-ins. Red Hat. Дата обращения: 12 июля 2013.
  18. Maintaining yum. CentOS. Дата обращения: 12 июля 2013.
  19. createrepo(8). Linux manual page. Дата обращения: 12 июля 2013.
  20. 1 2 3 Standards Rpm Metadata. openSUSE. Дата обращения: 12 июля 2013.
  21. mrepo. Freecode. Дата обращения: 12 июля 2013.
  22. SUSE Linux 10.1 Alpha 2 is ready. Дата обращения: 12 июля 2013. Архивировано из оригинала 8 февраля 2006 года.
  23. Schmitz, Dietrich T. YUM vs. APT: Which is Best?
  24. ‘Linux Advocates’ Throws in the Towel. FOSS Force (январь 2015).
  25. https://www.freedesktop.org/software/PackageKit/

Ссылки