![]() |
|
| Developed by | Seth Vidal |
|---|---|
| Latest release | 3.2.19 / 2008-08-26 |
| OS | Linux |
| Available in | Python |
| Type | package management |
| License | GNU GPL 2 or above |
| Website | Yum website |
The Yellow dog Updater, Modified (YUM) is an open source command line package management utility for RPM-compatible Linux operating systems and has been released under the GNU General Public License. It was developed by Seth Vidal and a group of volunteer programmers, and is currently maintained as part of Duke University's Linux@DUKE project. Though yum is a command line utility, several other tools provide graphical user interfaces to yum, among them pup, pirut, and yumex. Seth Vidal now works for Red Hat and a number of other Red Hat programmers are involved in the development of yum.
Yum is a full rewrite of its predecessor tool, Yellowdog Updater (YUP), and was developed 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 distributions, including Yellow Dog Linux itself, where it has replaced the original YUP utility.
Automatic software update can be done with yum-updatesd, the yum-updateonboot package, the yum-cron package or using PackageKit.
Yum's XML repository system was built with input from many other developers and has quickly become 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 openSUSE Build Repository is exclusively Yum-based.
However Yum has moved to a dual approach in its repositories, where .sqlite metadata database files are directly downloaded. This is a significant optimisation.
Contents |
[edit] Automatic metadata syncing
One of Yum's biggest advantages over its competition is that it automatically synchronizes the remote metadata to the local client, with other tools opting to just give the user a command to synchronize. Having the synchronization be automatic means that yum cannot fail due to the user failing to run a command at the correct interval.
[edit] Yum repositories
Creation of yum repositories is handled by a separate tool called "createrepo", which generates the necessary XML metadata (and the sqlite metadata if given the -d option).
The mrepo tool (formerly known as Yam) can help in the creation and maintenance of repositories.
[edit] Plug-in/module system
In the 2.x versions of yum, an interface for programming extensions in Python has been added that allows the behavior of yum to be altered.
There is also a second commonly installed package called yum-utils, which contains many plugins and yum API using commands.
[edit] Graphical interfaces
- Pirut - default Fedora GUI as of Fedora Core 5
- Pup - Package Updater Fedora GUI
- Yum Extender - Alternative Fedora GUI for Yum
- KYum - GUI for Yum on KDE
- PackageKit - One of the main backends for PackageKit is the yum backend
[edit] External links
- Yum website
- Yum Wiki
- Information on using yum with Fedora
- Information on using yum with CentOS
- Information on using yum with Scientific Linux
- Managing packages with yum - Describes how to use yum to manage packages
