Разработчик(и) | Сет Видал |
---|---|
Первоначальный выпуск | Июнь 2002 г ( 2002-06 ) | [1] [2]
Стабильный релиз | 3.4.3 / 28 июня 2011 г. ( 28 июня 2011 ) |
Репозиторий |
|
Написано в | Питон [3] |
Операционная система | Linux , AIX , IBM i , ArcaOS |
Платформа | Обороты в минуту |
Тип | Система управления пакетами |
Лицензия | GPLv2 |
Веб-сайт | yum.baseurl.org |
Yellowdog Updater Modified ( YUM ) — это бесплатная утилита командной строки с открытым исходным кодом для управления пакетами для компьютеров под управлением операционной системы Linux с помощью диспетчера пакетов RPM . [4] Хотя YUM имеет интерфейс командной строки, несколько других инструментов предоставляют графические пользовательские интерфейсы для функциональности YUM.
YUM позволяет автоматически обновлять пакеты и управлять зависимостями в дистрибутивах на основе RPM. [5] Как и Advanced Package Tool (APT) из Debian , YUM работает с репозиториями программного обеспечения (коллекциями пакетов), доступ к которым можно получить локально [6] или через сетевое соединение.
Под капотом YUM зависит от RPM , который является стандартом упаковки для цифрового распространения программного обеспечения, который автоматически использует хэши и цифровые подписи для проверки авторства и целостности указанного программного обеспечения; в отличие от некоторых магазинов приложений , которые выполняют аналогичную функцию, ни YUM, ни RPM не предоставляют встроенной поддержки для проприетарных ограничений на копирование пакетов конечными пользователями. YUM реализован в виде библиотек на языке программирования Python с небольшим набором программ, которые предоставляют интерфейс командной строки . [7] Также существуют оболочки на основе графического интерфейса, такие как YUM Extender (yumex), [8] и были приняты для Fedora Linux до версии 22. [9]
Переписанный YUM под названием DNF заменил YUM в качестве менеджера пакетов по умолчанию в Fedora 22 [9] (в 2015 году). Это было необходимо из-за перехода Fedora с Python 2 на Python 3, который не поддерживается YUM. [10] DNF также улучшает YUM несколькими способами — улучшенная производительность, лучшее разрешение конфликтов зависимостей и более простая интеграция с другими программными приложениями. [11] Начиная с RHEL 8 , yum является псевдонимом для DNF . [12]
Оригинальный менеджер пакетов Yellowdog UPdater (YUP) был разработан в 1999–2001 годах Дэном Берко, Брайаном Стиллвеллом, Стивеном Эди и Троем Бенгегердесом в Terra Soft Solutions (под руководством тогдашнего генерального директора Гаутама Кришны) в качестве внутреннего движка для графического установщика Yellow Dog Linux . [4]
Будучи полностью переписанным YUP, YUM развивался в первую очередь для обновления и управления системами Red Hat Linux , используемыми на кафедре физики Университета Дьюка Сетом Видалом и Майклом Стеннером. Видал продолжал вносить вклад в YUM до своей смерти в результате аварии на велосипеде в Дареме, Северная Каролина , 8 июля 2013 года. [13] [14] [15]
В 2003 году Роберт Г. Браун из Duke опубликовал документацию для YUM. [7] Последующими последователями стали [7] Fedora , Rocky Linux , AlmaLinux , CentOS и многие другие дистрибутивы Linux на основе RPM , включая сам Yellow Dog Linux , где YUM заменил оригинальную утилиту YUP — последний раз обновленную на SourceForge в 2001 году. [16] К 2005 году, по оценкам, она использовалась более чем на половине рынка Linux , [3] а к 2007 году YUM считался «инструментом выбора» для дистрибутивов Linux на основе RPM. [17]
YUM был нацелен на устранение как выявленных недостатков старого APT-RPM , [18] так и ограничений инструмента управления пакетами Red Hat up2date . YUM заменил up2date в Red Hat Enterprise Linux 5 и более поздних версиях. [19] Некоторые авторы называют YUM Yellowdog Update Manager или предполагают, что «Your Update Manager» было бы более уместным. [20] [21] Базовые знания YUM часто включаются в качестве требования для сертификации системного администратора Linux. [5] GNU General Public License YUM позволяет свободно распространять и изменять свободное и открытое программное обеспечение без каких-либо отчислений, если соблюдаются другие условия лицензии. [4]
Хотя yum изначально был создан для Linux, он был портирован на ряд других операционных систем, включая AIX , [22] IBM i , [23] и ArcaOS . [24]
Этот раздел нуждается в расширении . Вы можете помочь, дополнив его. ( Август 2014 ) |
YUM
может выполнять такие операции, как:
Версии YUM 2.x содержат дополнительный интерфейс для программирования расширений на Python, что позволяет изменять поведение YUM. Некоторые плагины устанавливаются по умолчанию. [26] Обычно устанавливаемый [27] пакет yum-utils
содержит команды, которые используют API YUM, и множество плагинов.
Графические пользовательские интерфейсы , известные как «фронт-энды», позволяют проще использовать YUM. PackageKit и Yum Extender (yumex) — два примера. [8] Yum Extender был объявлен устаревшим на некоторое время, когда Fedora перешла на DNF, [28] но он был переписан на Python 3 и Gtk 3 и находится в стадии разработки. Этот совершенно новый Yum Extender доступен для Fedora 34 или более поздних версий. [29]
Информация о пакетах (в отличие от самих пакетов) известна как метаданные . Эти метаданные объединяются с информацией в каждом пакете для определения (и разрешения, если это возможно) зависимостей между пакетами. Надежда состоит в том, чтобы избежать ситуации, известной как ад зависимостей . Отдельный инструмент, createrepo
, настраивает репозитории программного обеспечения YUM , генерируя необходимые метаданные в стандартном формате XML (и метаданные SQLite, если указана опция -d). [30] [31] Инструмент mrepo
(ранее известный как Yam) может помочь в создании и обслуживании репозиториев. [32]
XML-репозиторий YUM, созданный с участием многих других разработчиков, быстро стал стандартом для репозиториев на основе RPM. [31] Помимо дистрибутивов, которые используют YUM напрямую, SUSE Linux 10.1 [33] добавил поддержку репозиториев YUM в YaST , а репозитории Open Build Service используют метаданные формата XML-репозитория YUM. [31]
YUM автоматически синхронизирует удаленные метаданные с локальным клиентом, а другие инструменты выбирают синхронизацию только по запросу пользователя. Наличие автоматической синхронизации означает, что YUM не может выйти из строя из-за того, что пользователь не выполнил команду с правильным интервалом. [34] [35]