World Library  
Flag as Inappropriate
Email this Article

Yellow dog Updater, Modified

Article Id: WHEBN0023496418
Reproduction Date:

Title: Yellow dog Updater, Modified  
Author: World Heritage Encyclopedia
Language: English
Subject: Mandriva Linux, Package management system, Portage (software), Upgrade, CentOS, Scientific Linux, CAOS Linux, Nitix, RPath, Metalink
Publisher: World Heritage Encyclopedia

Yellow dog Updater, Modified

Yellowdog Updater, Modified
A screenshot from Yum running an update on Fedora 16.
Developer(s) Seth Vidal
Written in Python[1]
Operating system Linux
Type Package management system
License GPL v2
Website .org.baseurlyum

The Yellowdog Updater, Modified (yum) is an open-source command-line package-management utility for Linux operating systems using the RPM Package Manager.[2] Though yum has a command-line interface, several other tools provide graphical user interfaces to yum functionality.

Yum allows automatic updates, package and dependency management, on RPM-based distributions.[3] Like the Advanced Packaging Tool (APT) from Debian, yum works with software repositories (collections of packages), which can be accessed locally[4] or over a network connection.

Under the hood, yum depends on RPM, which is a packaging standard for digital distribution of software, which automatically uses hashes and digisigs 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 endusers. Yum is implemented as libraries in the Python programming language, with a small set of programs that provide a command-line interface.[5] GUI-based wrappers such as Yum Extender (yumex) also exist.[6]


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. Seth Vidal and Michael Stenner did the original development at Duke. It was then maintained by Dan Burcaw, Bryan Stillwell, Stephen Edie, and Troy Bengegerdes of Yellow Dog Linux.[2] In 2003 Robert G. Brown at Duke published documentation.[5] Subsequent adopters included Red Hat Enterprise Linux,[7] Fedora, CentOS, and many other RPM-based Linux distributions, including Yellow Dog Linux itself, where it replaced the original YUP utility, which had its last update on SourceForge in 2001.[8] By 2005, it was estimated to be available on over half of the Linux market,[1] and by 2007 yum was considered "the tool of choice" for RPM-based Linux distributions.[9]

The GNU General Public License of yum allows the free and open-source software to be freely distributed and modified without any royalty, if other terms of the license are followed.[2] Vidal continued to contribute to yum until he died in a Durham, North Carolina bicycle accident on 8 July 2013.[10][11][12]

Yum aimed to address both the perceived deficiencies in the old APT-RPM,[13] and restrictions of the Red Hat up2date package management tool. yum superseded up2date in Red Hat Enterprise Linux 5 and later.[14] Some authors refer to it as the Yellowdog Update Manager, or suggest that "Your Update Manager" would be more appropriate.[15][16] A basic knowledge of yum is often included as a requirement for Linux system-administrator certification.[3]


yum can perform operations such as:

  • installing packages
  • deleting packages
  • updating existing installed packages
  • listing available packages[17]
  • listing installed packages[18]


Information about packages (as opposed to the packages themselves) is known as metadata. 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. A separate tool, createrepo, sets up yum software repositories, generating the necessary metadata in a standard XML format (and the SQLite metadata if given the -d option).[19][20] The mrepo tool (formerly known as Yam) can help in the creation and maintenance of repositories.[21]

Yum's XML repository, built with input from many other developers, quickly became the standard for RPM-based repositories.[20] Besides the distributions that use Yum directly, SUSE Linux 10.1[22] added support for Yum repositories in YaST, and the Open Build Service repositories use the yum XML repository format metadata.[20]

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.[23]


Screenshot of Yum Extender (yumex)

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.[24] A commonly installed[25] package yum-utils, contains commands which use the yum API, and many plugins.

Graphical user interfaces, known as "front-ends", allow easier use of yum. PackageKit and Yum Extender (yumex) are two examples.[6]

See also

  • .rpm - the packaging file format used by yum


  1. ^ a b Michael H. Jang (14 December 2005). "Setting Up a yum Repository - Chapter 7". Linux Patch Management: Keeping Linux Systems Up to Date. Prentice Hall Professional. 
  2. ^ a b c Brown, Robert G. "Yum (Yellowdog Updater, Modified) HOWTO - Introduction". Duke Physics. Retrieved 12 July 2013. 
  3. ^ a b Shields, Ian (11 May 2010). "RPM and YUM package management". Learn Linux, 101 /. IBM. Retrieved 12 July 2013. 
  4. ^ "Creating a Local Yum Repository Using an ISO Image". Oracle. Retrieved 12 July 2013. 
  5. ^ a b Robert G. Brown (17 December 2003). "YUM: Yellowdog Updater, Modied". Retrieved 13 July 2013. 
  6. ^ a b "Yum Extender". Web site. Retrieved 13 July 2013. 
  7. ^ "Red Hat Enterprise Linux 6 Deployment Guide. Chapter 6: Yum". Red Hat. Retrieved 11 July 2013. 
  8. ^ "Yellow Dog Update Program". SourceForge repository. Retrieved 18 July 2013. 
  9. ^ John Fusco. The Linux Programmer's Toolbox. Pearson Education. ISBN . 
  10. ^ "Seth Vidal, creator of "yum" open source software, killed in bike accident off Hillandale Rd.". Durham io: The Daily Durham. 9 July 2013. Retrieved 13 July 2013. 
  11. ^ "Thank you, Seth Vidal". Red Hat. 10 July 2013. Retrieved 13 July 2013. 
  12. ^ Julie Bort (9 July 2013). "36-Year-Old Open Source Guru Seth Vidal Has Been Tragically Killed". Business Insider. Retrieved 13 July 2013. 
  13. ^ Murphy, David (23 July 2004). "How to run your own yum repository". Linux Foundation. Retrieved 12 July 2013. 
  14. ^ "What are the yum equivalents of up2date and rpm common tasks on Red Hat Enterprise Linux?". RedHat. 
  15. ^ Michael Sweeney (2005). Network Security Using Linux. p. 84. ISBN . 
  16. ^ Christopher Negus, Christine Bresnahan (2012). Linux Bible. John Wiley & Sons. p. 598. ISBN . 
  17. ^ Jang, Michael H. (2006). Linux Patch Management: Keeping Linux Systems Up to Date. Bruce Perens' Open Source series. Prentice Hall Professional. p. 199. ISBN . Retrieved 2014-08-26. 
  18. ^ Jang, Michael H. (2006). Linux Patch Management: Keeping Linux Systems Up to Date. Bruce Perens' Open Source series. Prentice Hall Professional. p. 199. ISBN . Retrieved 2014-08-26. 
  19. ^ "createrepo(8)". Linux manual page. Retrieved 12 July 2013. 
  20. ^ a b c "Standards Rpm Metadata". openSUSE. Retrieved 12 July 2013. 
  21. ^ "mrepo". Freecode. Retrieved 12 July 2013. 
  22. ^ "SUSE Linux 10.1 Alpha 2 is ready". Retrieved 12 July 2013. 
  23. ^ Schmitz, Dietrich T. "YUM vs. APT: Which is Best?". 
  24. ^ "Yum Plug-ins". RedHat. Retrieved 12 July 2013. 
  25. ^ "Maintaining yum". CentOS. Retrieved 12 July 2013. 

External links

  • Official website
  • Managing packages with yum – Describes how to use yum to manage packages
  • Yum documentation in Fedora
  • Yum documentation in CentOS
  • Yum documentation in Scientific Linux
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.

Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.