Yellow dog Updater, Modified
Encyclopedia
The Yellowdog Updater, Modified (YUM) is an open-source command-line
package-management
utility for RPM
-compatible Linux
operating system
s and has been released under the GNU General Public License
. It was developed by Seth Vidal and a group of volunteer programmers. Though yum has a command-line interface, several other tools provide graphical user interface
s to yum functionality.
As a full rewrite of its predecessor tool, Yellowdog Updater
(YUP), yum evolved primarily in order to update and manage Red Hat Linux
systems used at the Duke University department of Physics. Since then, it has been adopted by Red Hat Enterprise Linux
, Fedora
, CentOS
, and many other RPM-based Linux distribution
s, including Yellow Dog Linux
itself, where it has replaced the original YUP utility.
System administrators can automate software updates using yum-updatesd, the yum-updateonboot package, the yum-cron package, or PackageKit
.
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 10.1 adds support for Yum repositories in YaST, and the Open Build Service repositories use the YUM XML repository format.
However Yum has moved to a dual approach in its repositories, where .sqlite
meta-data database files are directly downloaded. This is a significant optimization.
metadata
(and the sqlite
meta data if given the -d option).
The
that allows the behavior of yum to be altered.
A commonly installed package
Command-line interface
A command-line interface is a mechanism for interacting with a computer operating system or software by typing commands to perform specific tasks...
package-management
Package management system
In software, a package management system, also called package manager, is a collection of software tools to automate the process of installing, upgrading, configuring, and removing software packages for a computer's operating system in a consistent manner...
utility for RPM
RPM Package Manager
RPM Package Manager is a package management system. The name RPM variously refers to the .rpm file format, files in this format, software packaged in such files, and the package manager itself...
-compatible Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
s and has been released under the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
. It was developed by Seth Vidal and a group of volunteer programmers. Though yum has a command-line interface, several other tools provide graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
s to yum functionality.
As a full rewrite of its predecessor tool, Yellowdog Updater
Yellowdog Updater
The Yellowdog Updater is a utility that is similar to Debian's APT program, but for the RPM package management system. It can be used to automatically download and install updated RPM packages on any RPM-based distribution. Also known as YUP, it has largely been superseded by the Yellow dog...
(YUP), yum evolved primarily in order to update and manage Red Hat Linux
Red Hat Linux
Red Hat Linux, assembled by the company Red Hat, was a popular Linux based operating system until its discontinuation in 2004.Red Hat Linux 1.0 was released on November 3, 1994...
systems used at the Duke University department of Physics. Since then, it has been adopted by Red Hat Enterprise Linux
Red Hat Enterprise Linux
Red Hat Enterprise Linux is a Linux-based operating system developed by Red Hat and targeted toward the commercial market. Red Hat Enterprise Linux is released in server versions for x86, x86-64, Itanium, PowerPC and IBM System z, and desktop versions for x86 and x86-64...
, Fedora
Fedora (operating system)
Fedora is a RPM-based, general purpose collection of software, including an operating system based on the Linux kernel, developed by the community-supported Fedora Project and sponsored by Red Hat...
, CentOS
CentOS
CentOS is a free operating system based on Red Hat Enterprise Linux . It exists to provide a free enterprise class computing platform and strives to maintain 100% binary compatibility with its upstream distribution...
, and many other RPM-based Linux distribution
Linux distribution
A Linux distribution is a member of the family of Unix-like operating systems built on top of the Linux kernel. Such distributions are operating systems including a large collection of software applications such as word processors, spreadsheets, media players, and database applications...
s, including Yellow Dog Linux
Yellow Dog Linux
Yellow Dog Linux, also known as YDL, is a free and open source operating system for high performance computing on multicore architectures. It focuses on GPU systems and computers using the Power Architecture . YDL is currently developed by Fixstars...
itself, where it has replaced the original YUP utility.
System administrators can automate software updates using yum-updatesd, the yum-updateonboot package, the yum-cron package, or PackageKit
PackageKit
PackageKit is an open source and free suite of software applications designed to provide a consistent and high-level front end for a number of different package management systems...
.
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 10.1 adds support for Yum repositories in YaST, and the Open Build Service repositories use the YUM XML repository format.
However Yum has moved to a dual approach in its repositories, where .sqlite
SQLite
SQLite is an ACID-compliant embedded relational database management system contained in a relatively small C programming library. The source code for SQLite is in the public domain and implements most of the SQL standard...
meta-data database files are directly downloaded. This is a significant optimization.
Automatic metadata syncing
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.Yum repositories
A separate tool,createrepo
, sets up yum repositories, generating the necessary XMLXML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
metadata
Metadata
The term metadata is an ambiguous term which is used for two fundamentally different concepts . Although the expression "data about data" is often used, it does not apply to both in the same way. Structural metadata, the design and specification of data structures, cannot be about data, because at...
(and the sqlite
SQLite
SQLite is an ACID-compliant embedded relational database management system contained in a relatively small C programming library. The source code for SQLite is in the public domain and implements most of the SQL standard...
meta data if given the -d option).
The
mrepo
tool (formerly known as Yam) can help in the creation and maintenance of repositories.Plug-in/module system
The 2.x versions of yum feature an additional interface for programming extensions in PythonPython (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
that allows the behavior of yum to be altered.
A commonly installed package
yum-utils
, contains commands which use the yum API, and many plugins.Graphical front-ends
- PackageKitPackageKitPackageKit is an open source and free suite of software applications designed to provide a consistent and high-level front end for a number of different package management systems...
– the default Yum graphical front-end for FedoraFedora (operating system)Fedora is a RPM-based, general purpose collection of software, including an operating system based on the Linux kernel, developed by the community-supported Fedora Project and sponsored by Red Hat...
as of Fedora 9 - Pirut – the default Yum graphical front-end for Fedora from Fedora Core 5 to Fedora 8
- Pup – Package Updater Fedora GUI
- Yum Extender, also known as "yumex" – an alternative Fedora GUI for Yum
- KYum – GUI for Yum on KDE
External links
- Yum website
- yum command tutorial – Explains how to update and install packages under Redhat Enterprise Linux ver 5.0
- Managing packages with yum – Describes how to use yum to manage packages