HOME

TheInfoList



OR:

The Yellowdog Updater Modified (YUM) is a
free and open-source Free and open-source software (FOSS) is software available under a Software license, license that grants users the right to use, modify, and distribute the software modified or not to everyone free of charge. FOSS is an inclusive umbrella term ...
command-line A command-line interface (CLI) is a means of interacting with software via commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user-friendly alternativ ...
package-management utility for computers running the
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
using the
RPM Package Manager RPM Package Manager (RPM) (originally Red Hat Package Manager, now a recursive acronym) is a free and open-source package management system. The name RPM refers to the file format and the package manager program itself. RPM was intended primar ...
. Though YUM has a command-line interface, several other tools provide
graphical user interface A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
s to YUM functionality. YUM allows for automatic updates and package and dependency management on RPM-based distributions. Like the Advanced Package Tool (APT) from
Debian Debian () is a free and open-source software, free and open source Linux distribution, developed by the Debian Project, which was established by Ian Murdock in August 1993. Debian is one of the oldest operating systems based on the Linux kerne ...
, YUM works with
software repositories A software repository, or repo for short, is a storage location for software packages. Often a table of contents is also stored, along with metadata. A software repository is typically managed by source or version control, or repository manager ...
(collections of packages), which can be accessed locally or over a network connection. Under the hood, YUM depends on
RPM Revolutions per minute (abbreviated rpm, RPM, rev/min, r/min, or r⋅min−1) is a unit of rotational speed (or rotational frequency) for rotating machines. One revolution per minute is equivalent to hertz. Standards ISO 80000-3:2019 def ...
, which is a packaging standard for
digital distribution Digital distribution, also referred to as content delivery, online distribution, or electronic software distribution, among others, is the delivery or distribution of information or materials through digital platforms. The distribution of digital ...
of software, which automatically uses hashes and digital signatures to verify the authorship and integrity of said software; unlike some app stores, which serve a similar function, neither YUM nor RPM provide built-in support for proprietary restrictions on copying of packages by end-users. YUM is implemented as libraries in the Python programming language, with a small set of programs that provide a
command-line interface A command-line interface (CLI) is a means of interacting with software via command (computing), commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user ...
. GUI-based wrappers such as YUM Extender (yumex) also exist, and has been adopted for Fedora Linux until version 22. A rewrite of YUM named DNF replaced YUM as the default package manager in Fedora 22 (in 2015). This was required due to Fedora's transition from Python 2 to Python 3, which is not supported by YUM. DNF also improves on YUM in several ways - improved performance, better resolution of dependency conflicts, and easier integration with other software applications. From RHEL 8, yum is an alias for DNF.


History

The original package manager, Yellowdog UPdater (YUP) was developed in 1999-2001 by Dan Burcaw, Bryan Stillwell, Stephen Edie, and Troy Bengegerdes at Terra Soft Solutions (under the leadership of then CEO Kai Staats) as a back-end engine for a graphical installer of Yellow Dog Linux. As a full rewrite of YUP, YUM evolved primarily to update and manage
Red Hat Linux Red Hat Linux was a widely used commercial open-source Linux distribution created by Red Hat until its discontinuation in 2004. Early releases of Red Hat Linux were called Red Hat Commercial Linux. Red Hat published the first non-beta release ...
systems used at the
Duke University Duke University is a Private university, private research university in Durham, North Carolina, United States. Founded by Methodists and Quakers in the present-day city of Trinity, North Carolina, Trinity in 1838, the school moved to Durham in 1 ...
Department of Physics by Seth Vidal and Michael Stenner. Vidal continued to contribute to YUM until his death in a
Durham, North Carolina Durham ( ) is a city in the U.S. state of North Carolina and the county seat of Durham County, North Carolina, Durham County. Small portions of the city limits extend into Orange County, North Carolina, Orange County and Wake County, North Carol ...
bicycle accident on 8 July 2013. In 2003 Robert G. Brown at Duke published documentation for YUM. Subsequent adopters included
Fedora A fedora () is a hat with a soft brim and indented crown.Kilgour, Ruth Edwards (1958). ''A Pageant of Hats Ancient and Modern''. R. M. McBride Company. It is typically creased lengthwise down the crown and "pinched" near the front on both sides ...
, Rocky Linux,
AlmaLinux AlmaLinux is a free and open source Linux distribution, developed by the AlmaLinux OS Foundation, a 501(c) organization, to provide a community-supported, Deployment environment, production-grade enterprise operating system that is Binary-code co ...
,
CentOS CentOS (, from Community Enterprise Operating System; also known as CentOS Linux) is a discontinued Linux distribution that provided a free and open-source community-supported computing platform, functionally compatible with its upstream (softw ...
, and many other RPM-based
Linux distribution A Linux distribution, often abbreviated as distro, is an operating system that includes the Linux kernel for its kernel functionality. Although the name does not imply product distribution per se, a distro—if distributed on its own—is oft ...
s, including Yellow Dog Linux itself, where YUM replaced the original YUP utility — last updated on
SourceForge SourceForge is a web service founded by Geoffrey B. Jeffery, Tim Perdue, and Drew Streib in November 1999. SourceForge provides a centralized software discovery platform, including an online platform for managing and hosting open-source soft ...
in 2001. By 2005, it was estimated to be in use on over half of the
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
market, and by 2007 YUM was considered the "tool of choice" for RPM-based Linux distributions. YUM aimed to address both the perceived deficiencies in the old APT-RPM, and restrictions of the Red Hat up2date package management tool. YUM superseded up2date in Red Hat Enterprise Linux 5 and later. Some authors refer to YUM as the Yellowdog Update Manager, or suggest that "Your Update Manager" would be more appropriate. A basic knowledge of YUM is often included as a requirement for Linux system-administrator certification. The
GNU General Public License The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first ...
of YUM allows the
free and open-source software Free and open-source software (FOSS) is software available under a license that grants users the right to use, modify, and distribute the software modified or not to everyone free of charge. FOSS is an inclusive umbrella term encompassing free ...
to be freely distributed and modified without any royalty, if other terms of the license are honored. While yum was originally created for Linux, it has been ported to a number of other operating systems including
AIX Aix or AIX may refer to: Computing * AIX, a line of IBM computer operating systems *Alternate index, for an IBM Virtual Storage Access Method key-sequenced data set * Athens Internet Exchange, a European Internet exchange point Places Belg ...
,
IBM i IBM i (the ''i'' standing for ''integrated'') is an operating system developed by IBM for IBM Power Systems. It was originally released in 1988 as OS/400, as the sole operating system of the IBM AS/400 line of systems. It was renamed to i5/OS in 2 ...
, and
ArcaOS ArcaOS is a Proprietary software, proprietary operating system based on OS/2, developed and marketed by Arca Noae, LLC under license from IBM. It was first released in 2017 and builds on OS/2 Warp 4.52 by adding support for new hardware, fixing ...
.


Operations

YUM can perform operations such as: * Installing packages
yum install 
* Deleting packages
yum remove 
* updating existing installed packages * listing available packages * listing installed packages


Extensions

The 2.x versions of YUM feature an additional interface for programming extensions in Python that allows the behavior of YUM to be altered. Certain plug-ins are installed by default. A commonly installed package yum-utils, contains commands which use the YUM API, and many plugins.
Graphical user interface A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
s, known as "front-ends", allow easier use of YUM.
PackageKit PackageKit is a free and open-source suite of software applications designed to provide a consistent and high-level abstraction layer for a number of different package management systems. PackageKit was created by Richard Hughes in 2007, and fi ...
and Yum Extender (yumex) are two examples. Yum Extender was deprecated for a while when Fedora migrated to DNF, but it was rewritten in Python 3 and Gtk 3 and has been in progress for development. This brand-new Yum Extender is available for Fedora 34 or newer.


Metadata

Information about packages (as opposed to the packages themselves) is known as
metadata Metadata (or metainformation) is "data that provides information about other data", but not the content of the data itself, such as the text of a message or the image itself. There are many distinct types of metadata, including: * Descriptive ...
. These metadata are combined with information in each package to determine (and resolve, if possible) dependencies among the packages. The hope is to avoid a situation known as
dependency hell Dependency hell is a colloquial term for the frustration of some software users who have installed software packages which have dependencies on specific versions of other software packages. The dependency issue arises when several packages ha ...
. A separate tool, createrepo, sets up YUM
software repositories A software repository, or repo for short, is a storage location for software packages. Often a table of contents is also stored, along with metadata. A software repository is typically managed by source or version control, or repository manager ...
, generating the necessary metadata in a standard
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
format (and the
SQLite SQLite ( "S-Q-L-ite", "sequel-ite") is a free and open-source relational database engine written in the C programming language. It is not a standalone app; rather, it is a library that software developers embed in their apps. As such, it ...
metadata if given the -d option). The mrepo tool (formerly known as Yam) can help in the creation and maintenance of repositories. YUM's XML repository, built with input from many other developers, quickly became the standard for RPM-based repositories. Besides the distributions that use YUM directly,
SUSE Linux openSUSE () is a free and open-source Linux distribution developed by the openSUSE project. It is offered in two main variations: ''Tumbleweed'', an upstream rolling release distribution, and ''Leap'', a stable release distribution which is so ...
10.1 added support for YUM repositories in YaST, and the Open Build Service repositories use the YUM XML repository format metadata. YUM automatically synchronizes the remote meta data to the local client, with other tools opting to synchronize only when requested by the user. Having automatic synchronization means that YUM cannot fail due to the user failing to run a command at the correct interval.


See also

* DNF - a rewrite of YUM based on libsolv * urpmi - another cli-frontend for rpm * APT-RPM - another rpm frontend, derived from APT, cli-frontend for
dpkg dpkg is the software at the base of the package management system in the free software, free operating system Debian and its numerous Debian family, derivatives. dpkg is used to install, remove, and provide information about deb (file format), . ...
. * List of Linux package management systems


References


External links

*
Managing packages with yum
– Describes how to use YUM to manage packages

in
Fedora A fedora () is a hat with a soft brim and indented crown.Kilgour, Ruth Edwards (1958). ''A Pageant of Hats Ancient and Modern''. R. M. McBride Company. It is typically creased lengthwise down the crown and "pinched" near the front on both sides ...

Yum documentation
in
CentOS CentOS (, from Community Enterprise Operating System; also known as CentOS Linux) is a discontinued Linux distribution that provided a free and open-source community-supported computing platform, functionally compatible with its upstream (softw ...

Yum documentation
in
Scientific Linux Scientific Linux (SL) is a discontinued Linux distribution produced by Fermilab, CERN, DESY and by ETH Zurich. It is a Free and open-source software, free and open-source operating system based on Red Hat Enterprise Linux. This product is derive ...
{{Linux package management systems Free package management systems Free software programmed in Python Linux package management-related software Software distribution platforms Software using the GNU General Public License