Yum
Эту статью предлагается удалить. |
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 |
Медиафайлы на Викискладе |
Yellowdog Updater, Modified (YUM) — открытый консольный менеджер пакетов для дистрибутивов Linux, основанных на пакетах формата RPM (RedHat, CentOS, Fedora, Oracle Linux, ОСь)[2]. Позволяет облегчить работу с обновлениями дистрибутивов, отслеживая взаимозависимости между пакетами. Распространяется под лицензией GNU GPLv2. Первоначально проект был разработан программистом Seth Vidal и группой волонтёров. Для работы с YUM используется интерфейс командной строки, однако существуют надстройки, предоставляющие графический интерфейс для функциональности YUM.
YUM позволяет системным администраторам и пользователям настроить автоматизированные обновление ПО и разрешение зависимостей[3]. Для этого используется ряд инструментов, таких как yum-updatesd, yum-updateonboot, yum-cron, PackageKit. Как и Advanced Package Tool (система APT) из дистрибутивов класса Debian, менеджер YUM работает с репозиториями (наборами) пакетов от производителя дистрибутива или от сторонних авторов. Возможно создание локальных или офлайновых копий репозиториев,[4] либо доступ к ним через сетевое Интернет-соединение.
В своем внутреннем устройстве YUM зависит от приложения RPM и использует формат RPM-пакетов. Пакеты могут иметь криптографические подписи (MD5-хэш и «digisig») для подтверждения того, что данный файл был подготовлен определенным автором (хотя в механизме имеется ряд проблем[5]). Приложение 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]
История
В 1999-2001 году был разработан менеджер Yellowdog UPdater (YUP) в компании Terra Soft Solutions в качестве основы для графического инсталлятора дистрибутива Yellow Dog Linux.[2].
Позже, в целях управления системами Red Hat Linux в университете Дьюка, сотрудники физического факультета Seth Vidal и Michael Stenner полностью переписали YUP, создав YUM. Seth Vidal продолжил работу над программой до 2013 года.[17][18][19][20]
В 2003 году Robert G. Brown (университет Дьюка) опубликовал документацию по YUM.[6] В дальнейшем ряд дистрибутивов[6] начали использовать YUM, в том числе Fedora, CentOS и другие, построенные на основе RPM. На YUM также перешел Yellow Dog Linux. Оригинальная утилита YUP в последний раз обновлялась в 2001 году.[21] К 2005 году менеджер YUM использовался примерно на половине рынка Linux-дистрибутивов[1], и в 2007 году 2007 YUM признавался наиболее популярным менеджером для RPM дистрибутивов.[22]
Приложение YUM устраняло ряд видимых недостатков старого менеджера APT-RPM,[23] и ограничения оригинального менеджера пакетов up2date из состава Red Hat. В вышедшей в 2007 году версии Red Hat Enterprise Linux 5 менеджер up2date был заменен на YUM.[24][25] Некоторые авторы называют пакет "Yellowdog Update Manager" или предлагают расшифровку "Your Update Manager".[26][27]
Знание команд YUM часто является требованием для получения сертификатов по администрированию Linux.[3]
Пакет YUM распространяется под условиями GNU General Public License, что позволяет свободно распространять приложение и его модификации.[2]
Расширения
В версии 2.x YUM был добавлен интерфейс для написания расширений на языке Python. Такие расширения позволяют изменять поведение YUM, ряд плагинов устанавливается по умолчанию.[28] Например, обычно устанавливается[29] пакет yum-utils
который содержит команды для работы с YUM API и ряд плагинов.
Метаданные
Информация о пакетах (в отличие от самих файлов пакетов) в терминологии YUM называется метаданными. В состав метаданных входят списки зависимостей, то есть список других пакетов и их версий, которые необходимы для данного. Корректное заполнение метаданных позволяет избегать «ада зависимостей». Коллекции пакетов и их метаданных организуются в репозитории, основные из них поддерживаются производителем дистрибутива. При помощи отдельной утилиты createrepo
возможно создание частных YUM-репозиториев, в которых метаданные указанного набора пакетов собраны в единый XML файл (или в базу метаданных в формате SQLite.[30][31] Дополнительная утилита mrepo
(ранее называлась «Yam») упрощает создание и поддержку репозиториев.[32]
XML-репозитории YUM быстро приобрели популярность для публикации наборов пакетов для дистрибутивов на базе RPM-пакетов.[31] Кроме традиционных RPM дистрибутивов от RedHat (RHEL, Fedora), их клонов (CentOS) и многочисленных менее известных вариаций, репозитории YUM могут использоваться в SUSE Linux 10.1[33] (менеджер пакетов YaST). Система репозиториев Open Build Service также использует формат YUM XML.[31]
Программа YUM автоматически синхронизирует метаданные через сеть.[34][35]
Графические оболочки
См. также
Примечания
- ↑ 1 2 Jang, Michael H. Chapter 7 – Setting Up a YUM Repository // Linux Patch Management: Keeping Linux Systems Up to Date. — Prentice Hall Professional, 14 December 2005.
- ↑ 1 2 3 Brown, Robert G. YUM (Yellowdog Updater, Modified) HOWTO - Introduction . Duke Physics. Дата обращения: 12 июля 2013.
- ↑ 1 2 Shields, Ian RPM and YUM package management . Learn Linux, 101. IBM (11 мая 2010). Дата обращения: 12 июля 2013.
- ↑ Creating a Local YUM Repository Using an ISO Image . Oracle. Дата обращения: 12 июля 2013.
- ↑ http://www2.cs.arizona.edu/stork/packagemanagersecurity/attacks-on-package-managers.html https://www.opennet.ru/opennews/art.shtml?num=16952
- ↑ 1 2 3 4 Brown, Robert G. YUM: Yellowdog Updater, Modified (17 декабря 2003). Дата обращения: 13 июля 2013.
- ↑ Yum Extender . Yumex Homepage. Дата обращения: 13 июля 2013.
- ↑ 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.
- ↑ OpenNews: В Fedora 22 ожидается замена пакетного менеджера Yum на DNF
- ↑ В Fedora 22 ожидается замена пакетного менеджера Yum на DNF / linuxforum
- ↑ Технический комитет Fedora подтвердил планы по замене Yum на DNF в Fedora 22 — Новости (nixp.ru)
- ↑ Edge, Jake DNF and Yum in Fedora . LWN.net (15 января 2014). Дата обращения: 16 октября 2018.
- ↑ https://blog.centos.org/2017/10/yum-4-is-available-for-testing/
- ↑ https://www.opennet.ru/opennews/art.shtml?num=47471
- ↑ Jang, Michael H. Linux Patch Management: Keeping Linux Systems Up to Date. — Prentice Hall Professional. — P. 199. — ISBN 9780132366755.
- ↑ Fedora Documentation — Downgrade to a Previous Version
- ↑ Seth Vidal, creator of "yum" open source software, killed in bike accident off Hillandale Rd. Durham io: The Daily Durham (9 июля 2013). Дата обращения: 13 июля 2013.
- ↑ Thank you, Seth Vidal . Red Hat (10 июля 2013). Дата обращения: 13 июля 2013.
- ↑ Bort, Julie 36-Year-Old Open Source Guru Seth Vidal Has Been Tragically Killed . Business Insider (9 июля 2013). Дата обращения: 13 июля 2013.
- ↑ "Погиб один из ведущих разработчиков Fedora Linux". CNews. 10.07.2013. Дата обращения: 21 октября 2018.
{{cite news}}
: Проверьте значение даты:|date=
(справка) - ↑ Yellow Dog Update Program . SourceForge repository. Дата обращения: 18 июля 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.
- ↑ What are the yum equivalents of up2date and rpm common tasks on Red Hat Enterprise Linux? Red Hat.
- ↑ Red Hat Enterprise linux 5. Feature, function, and benefit summary (англ.). RedHat (2007). Дата обращения: 21 октября 2018.
- ↑ Sweeney, Michael. Network Security Using Linux. — 2005. — P. 84. — ISBN 9781411621770.
- ↑ Negus, Christopher. Linux Bible / Christopher Negus, Christine Bresnahan. — John Wiley & Sons, 2012. — P. 598. — ISBN 9781118286906.
- ↑ Yum Plug-ins . Red Hat. Дата обращения: 12 июля 2013.
- ↑ Maintaining yum . CentOS. Дата обращения: 12 июля 2013.
- ↑ createrepo(8) . Linux manual page. Дата обращения: 12 июля 2013.
- ↑ 1 2 3 Standards Rpm Metadata . openSUSE. Дата обращения: 12 июля 2013.
- ↑ mrepo . Freecode. Дата обращения: 12 июля 2013.
- ↑ SUSE Linux 10.1 Alpha 2 is ready . Дата обращения: 12 июля 2013. Архивировано из оригинала 8 февраля 2006 года.
- ↑ Schmitz, Dietrich T. YUM vs. APT: Which is Best?
- ↑ ‘Linux Advocates’ Throws in the Towel . FOSS Force (январь 2015).
- ↑ https://www.freedesktop.org/software/PackageKit/
Ссылки
- 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
- LXF138:Управление пакетами