RPM and YUM are package management systems created for Red Hat-based Linux distributions. A package management system is a collection of tools used for automating package installation, updating, and removal.
While the two package managers have similarities, they mainly differ in functionality.
In this article, you will learn about the difference between RPM and YUM.
Note: If you are using Ubuntu, learn to manage packages with apt-get.
What is RPM
RPM is a command-line package manager developed in 1995 by Red Hat. The package manager was designed to work on Red Hat-based systems. Today, RPM is the core component of many Linux distributions, including CentOS, Fedora, Oracle Linux, openSUSE, Mageia, etc.
The RPM package manager allows users to query, verify, install, upgrade, and remove packages. The main downside is that it doesn't resolve package dependencies or automatic package updates.
What is YUM
YUM (Yellow Dog Updater, Modified) is an open-source Linux package management application that uses the RPM package manager. This front-end RPM tool allows users to search official and third-party repositories and install, update, or remove packages from the system.
YUM works with online repositories listed in the /etc/yum.repos.d/*.repo file. Additionally, the tool allows users to add their own *.repo files.
YUM's benefits over RPM are automatic updates, easy package management and dependency management.
Note: Learn to install Pip on CentOS 8. Pip is a standard Python package manager for installing additional packages that are not part of Python standard library.
RPM vs. YUM
Both RPM and YUM install packages, keep the information in a database, and provide basic command-line functionality. However, there are several differences between the two package managers.
The following table shows an overview of the key differences between RPM and YUM:
|RPM (Red Hat Package Manager)
|YUM (Yellow Dog Updater, Modified)
|Introduced in 1997 by Red Hat.
|Upgraded from YUP to YUM in 2003.
|A low-level package manager with basic functionality.
|A top-level front-end package manager with advanced functionality.
|Does not resolve dependencies.
|Resolves and installs package dependencies automatically.
|Allows multiple package versions to be installed.
However, only a single package installation is possible at a time.
|Doesn't allow multiple package versions to be installed. Only supports packages available in the repository and shows the already installed packages.
On the other hand, YUM can install multiple packages simultaneously.
|RPM doesn’t support automatic upgrades.
|YUM allows automatic upgrades to the latest available version.
|RPM doesn't use an online repository for package installation. Instead, it requires the exact local .rpm package path to complete the installation.
|YUM relies on an online repository for installing packages. The utility requires only the package name.
|RPM is autonomous and utilizes its own database to keep information about the packages on the system.
|YUM is a front-end utility that uses the RPM package manager for package management. The utility also uses the RPM database in the backend.
|Ease of use
|RPM package management and handling gets complicated at times.
|It is the easiest way to manage RPM packages.
|RPM doesn't support change rollback.
|YUM allows any changes to be rolled back.
Note: Learn how to uninstall or remove packages in CentOS using RPM or YUM.
The biggest RPM drawback is that it doesn't fetch the required package dependencies during installation. As it installs packages with the information within them and without using repositories, RPM cannot resolve dependencies. Therefore, users must figure out the package dependencies manually.
Since RPM does not keep information on automatically added packages, there is no way to find out which dependencies to remove as well when deleting a package with RPM.
Additionally, there is no prompt before removing packages except when removing a package required for another program. In that case, RPM outputs an error message and prevents the removal.
YUM can scan, sense and resolve a package dependency tree automatically. That means YUM automatically fetches any additional packages necessary for a program to function properly. YUM resolves dependencies using a
depsolver, a package dependency management library. With this tool, it fetches the dependencies from online repositories and installs the necessary packages.
Note: See how to list installed packages using YUM.
YUM is a much better option than RPM when performing a batch installation. Since YUM utilizes online repositories, it only requires the package names. YUM installs the packages and the necessary dependencies automatically.
For example, installing a MySQL server on CentOS 8 with
yum only requires the package name:
The utility installs the MySQL server and resolves all dependencies automatically.
The downside of YUM is that it does not allow to install multiple package versions. Also, it only supports packages available in the repository.
RPM allows to install multiple packages and versions, but it requires the full file name with the .rpm extension. Still, it does not solve the dependencies for the installed packages.
RPM installs the specified package and outputs an error, stating that there are dependencies which have not been installed.
Package upgrades usually bring more functionality, bug fixes, or unnecessary feature removal. RPM cannot handle package upgrades automatically and requires individual upgrades for each package. The RPM upgrade process involves downloading the RPM files, which is similar to installing new packages.
On the other hand, YUM scans the installed packages and notifies the user if upgrades are available. YUM upgrades packages automatically using online repositories.
Since RPM doesn't support repositories, installing a package requires the full package file name and location. RPM keeps an internal database of the installed packages and allows you to later manage the installed packages using the package name.
On the other hand, installing a package with YUM only requires the package name, and doesn't require the package location. The tool searches the repositories listed in the repo files from the /etc/yum.repos.d/ directory and installs the latest package version available.
Note: Follow our tutorial to create a local YUM repository on CentOS 7.
RPM is a standalone package manager that holds all the information required for a proper package installation or removal: the file lists, the permissions, the scripts, etc. The data is contained within an RPM python library.
On the other hand, YUM uses the RPM python library for most of its local operations and cannot function without it. That means YUM isn't a standalone package manager, but it provides additional functionalities on top of RPM.
Note: Check out our comparison of YUM and APT, two popular package management systems.
After reading this comparison article, you now better understand the similarities and differences between RPM and YUM. Both are package managers for Red Hat Linux distributions, but their functionalities are different.
RPM is powerful when you have the required .rpm packages and the dependencies manually figured out or if you need to query the package information database. Otherwise, it is better to use YUM in day-to-day usage because it keeps the system updated and clean.
RPM ni mfumo wa usimamizi wa kifurushi ulioundwa kwa ajili ya usambazaji wa Red Hat-msingi wa Linux. Mfumo wa usimamizi wa kifurushi ni mkusanyiko wa zana zinazotumiwa kwa automatisering kifurushi ufungaji, kusasisha, na kuondoa. Wakati wasimamizi wawili wa kifurushi wana kufanana, wao hasa tofauti katika utendaji. Katika makala hii, tutajifunza kuhusu tofauti kati ya RPM na YUM. Kumbuka: Kama wewe ni kutumia Ubuntu, kujifunza kusimamia vifurushi na apt-kupata. RPM ni meneja wa pakiti ya mstari wa amri iliyoundwa na Red Hat mnamo 1995. Meneja wa mfuko ilitengenezwa kufanya kazi kwenye mifumo ya Red Hat. RPM ni sehemu ya msingi ya usambazaji wa Linux, ikiwa ni pamoja na Fedora, Oracle Linux, OpenSUSE, Mageia, na mengineyo. RPM Package Manager inaruhusu watumiaji kuuliza, kuthibitisha, kufunga, kuboresha, na kuondoa vifurushi. Hasara kuu ni kwamba haina kutatua vifungo mfuko au updates moja kwa moja mfuko. YUM (Yellow Dog Updater, Modified) ni programu ya usimamizi wa kifurushi cha Linux ya chanzo wazi ambayo hutumia meneja wa kifurushi cha RPM. Hii front-end RPM chombo inaruhusu watumiaji kutafuta rasmi na tatu-party hazina na kufunga, update, au kuondoa vifurushi kutoka mfumo. YUM ni moja ya maktaba za mtandaoni zilizoorodheshwa katika faili ya YUM.repos.dll.repo. Aidha, chombo inaruhusu watumiaji kuongeza yao wenyewe *.repo faili. Faida ya YUM juu ya RPM ni updates moja kwa moja, rahisi mfuko usimamizi na usimamizi utegemezi. Kujifunza jinsi ya kuanzisha Pip kwenye CentOS 8 Pip ni kiwango cha Python mfuko meneja kwa ajili ya kufunga vifurushi vya ziada ambayo si sehemu ya Python maktaba ya kiwango. RPM vs YUM: RPM na YUM huanzisha vifurushi, huhifadhi habari katika hifadhidata, na hutoa utendaji wa msingi wa mstari wa amri. Hata hivyo, kuna tofauti kadhaa kati ya wasimamizi wawili wa kifurushi. Mfano wa RPM ni Red Hat Package Manager (RPM) na Red Hat Package Manager (YUM) (Yellow Dog Updater, Modified). Yup ilibadilishwa kutoka Yup hadi Yum mnamo 2003. <unk>Msimamizi wa kifurushi cha kiwango cha chini na utendaji wa msingi. _A ngazi ya juu mbele-mwisho mfuko meneja na utendaji wa juu. <p>Hakuna tatizo la kuondoa utegemezi. | Resolves na installs vifungo mfuko moja kwa moja. |Ruhusu matoleo mbalimbali ya mfuko kuwa imewekwa. Hata hivyo, tu moja mfuko ufungaji inawezekana kwa wakati mmoja. _Hairuhusu matoleo mengi ya mfuko kuwa imewekwa. Inasaidia tu vifurushi inapatikana katika hazina na inaonyesha vifurushi tayari imewekwa. Kwa upande mwingine, YUM inaweza kufunga vifurushi vingi kwa wakati mmoja. RPM haitegemezi upgrades moja kwa moja. <p>Mfumo wa upgrades wa kiotomatiki wa upgrades kwa toleo la hivi karibuni linapatikana. RPM haitumii hifadhi ya mtandaoni kwa ajili ya ufungaji wa mfuko. Badala yake, inahitaji sahihi ya ndani.rpm mfuko njia ya kukamilisha ufungaji. Yum inategemea hifadhi ya mtandaoni kwa ajili ya kufunga vifurushi. huduma inahitaji tu jina mfuko. RPM ni huru na hutumia database yake mwenyewe kuweka habari kuhusu vifurushi juu ya mfumo. RPM ni programu ya mbele ya mwisho ambayo hutumia meneja wa kifurushi cha RPM kwa usimamizi wa kifurushi. Programu pia hutumia RPM database katika backend. RPM ni rahisi kutumia, kwa hivyo ni rahisi kuunda na kuendesha RPM na wakati mwingine unaweza kuifanya iwe ngumu. Ni njia rahisi ya kuendesha RPM. RPM haitegemezi mabadiliko ya kurudi nyuma. <p>Yum inawezesha mabadiliko yoyote kugeuzwa nyuma. Kumbuka: Jifunze jinsi ya kuondoa au kuondoa vifurushi katika CentOS kwa kutumia RPM au YUM. Hasara kubwa ya RPM ni kwamba haina kupata mahitaji ya vifurushi utegemezi wakati wa ufungaji. Kama ni kufunga vifurushi na habari ndani yao na bila kutumia hazina, RPM haiwezi kutatua utegemezi. Kwa hiyo, watumiaji lazima kufikiri nje ya vifurushi utegemezi manually. Kwa kuwa RPM haifai kuhifadhi habari juu ya vifurushi vilivyoongezwa moja kwa moja, hakuna njia ya kujua ni utegemezi gani wa kuondoa wakati wa kufuta kifurushi na RPM. Aidha, hakuna mwito kabla ya kuondoa vifurushi isipokuwa wakati kuondoa kifurushi required kwa ajili ya programu nyingine. Katika kesi hiyo, RPM hutoa ujumbe wa kosa na kuzuia kuondolewa. YUM inaweza kuchunguza, hisia na kutatua mti wa utegemezi wa kifurushi moja kwa moja. Hiyo ina maana YUM moja kwa moja fetches yoyote ya vifurushi vya ziada muhimu kwa ajili ya programu ya kazi vizuri. YUM hutatua utegemezi kwa kutumia depsolver, maktaba ya usimamizi wa utegemezi wa kifurushi. Kwa zana hii, inatoa utegemezi kutoka kwa hazina za mtandaoni na kusanikisha vifurushi muhimu. Kumbuka: Angalia jinsi ya orodha ya vifurushi imewekwa kwa kutumia YUM. YUM ni chaguo bora zaidi kuliko RPM wakati wa kufanya ufungaji wa kundi. Kwa kuwa YUM hutumia hazina za mtandaoni, inahitaji tu majina ya kifurushi. YUM installs vifurushi na utegemezi muhimu moja kwa moja. Kwa mfano, kuanzisha MySQL server juu ya CentOS 8 na yum inahitaji tu jina la mfuko: utility installs MySQL server na kutatua utegemezi wote moja kwa moja. Hasara ya YUM ni kwamba hairuhusu kufunga matoleo mengi ya kifurushi. Pia, inasaidia tu vifurushi inapatikana katika hazina. RPM inatoa upatikanaji wa programu nyingi na programu nyingi, lakini inahitaji jina kamili la faili na ugani wa.rpm. Bado, haina kutatua utegemezi kwa ajili ya vifurushi imewekwa. RPM huwasilisha kifurushi maalum na matokeo ya makosa, akisema kwamba kuna utegemezi ambao hawajawekwa. Upgrades mfuko kawaida kuleta utendaji zaidi, bug fixes, au kuondolewa kipengele zisizohitajika. RPM haiwezi kushughulikia upgrades mfuko moja kwa moja na inahitaji upgrades binafsi kwa kila mfuko. RPM ni mchakato wa upgrading ambayo inahusisha kupakua faili za RPM, ambayo ni sawa na kufunga vifurushi vipya. Kwa upande mwingine, YUM scans vifurushi imewekwa na inahubiri mtumiaji kama upgrades zinapatikana. YUM inaboresha vifurushi moja kwa moja kwa kutumia hazina za mtandaoni. Kwa kuwa RPM haitegemezi hazina, kufunga kifurushi inahitaji jina kamili la faili ya kifurushi na eneo. RPM inahifadhi database ya ndani ya vifurushi vilivyowekwa na inaruhusu baadaye kusimamia vifurushi vilivyowekwa kwa kutumia jina la kifurushi. Kwa upande mwingine, kufunga mfuko na YUM inahitaji tu jina la mfuko, na haihitaji eneo la mfuko. "Kutumia programu hii, unaweza kuunganisha faili za ""repo"" kutoka kwa folda ya ""repo"" ya ""repo"" na kuanzisha toleo la hivi karibuni la kifurushi." Kumbuka: Fuata mafunzo yetu kuunda YUM hazina ndani ya CentOS 7. RPM ni kusimama mfuko meneja ambayo ana taarifa zote zinazohitajika kwa ajili ya usakinishaji sahihi mfuko au kuondoa: orodha ya faili, ruhusa, scripts, na kadhalika. Data ni zilizomo ndani ya maktaba RPM Python. Kwa upande mwingine, YUM hutumia maktaba ya RPM Python kwa shughuli zake nyingi za ndani na haiwezi kufanya kazi bila hiyo. Hii inamaanisha kwamba YUM sio meneja wa kifurushi wa kujitegemea, lakini hutoa kazi za ziada juu ya RPM. Kwa mfano, angalia YUM na APT, mifumo miwili maarufu ya usimamizi wa kifurushi. Baada ya kusoma makala hii ya kulinganisha, sasa unaelewa vizuri kufanana na tofauti kati ya RPM na YUM. Wote ni wasimamizi wa kifurushi kwa Red Hat Linux usambazaji, lakini utendaji wao ni tofauti. RPM ni nguvu wakati una required.rpm vifurushi na utegemezi manually figured nje au kama unahitaji kuuliza database ya habari ya kifurushi. Kwa hivyo, ni bora kutumia YUM katika matumizi ya kila siku kwa sababu inahifadhi mfumo uliosasishwa na safi.