Difference Between YUM and RPM


If we want to install an application(Ex: apache), rpm need to install all the packages required for this application, these packages may vary from 1 rpm to several rpm’s depending on shared rpm packages.
Install an application with single command
Ex: yum install httpd
RPM package dependencies is bit tough

YUM resolves dependencies with ease

Batch installation of applications is possible with one command
YUM command can install number of applications in one single command
Ex: yum install httpd vsftpd
RPM can not handle updated software installation automatically
Does YUM install updates of the existing packages by using
yum install upgrade
Can not connect to online repositories
Can connect to on-line repositories to get latest software before installing the applications


The Red Hat Package Manager or RPM is the default package manager for Linux distributions that use packages with the same name. Initially developed by Red Hat, it eventually found widespread acceptance in a lot of Linux distributions. YUM stands for Yellowdog Updater Modified and is a front end for Linux distributions that utilize the RPM package format. Both of these are only usable with RPM based distros and are not usable with those that use debian packages like Ubuntu.
Although RPM is a very robust tool that a lot of users are already familiar with, there are still some minor flaws that are an annoyance to users. The most prominent problem is a state commonly referred to by most people as ‘dependency hell’. This problem occurs with packages that depend on a lot of other packages, some of those packages also depend on a lot of other packages. It is common knowledge that you must install all dependencies for the program to work correctly. RPM is unable to automatically do this for you. It can only check whether all the required packages are installed prior to installing the needed package. Manually tracking and installing each dependency is a major chore for most people who only want to install a single package initially.
YUM is capable of tracking the dependencies of a package and installing them prior to installing the package that the user wanted to install. This simplifies the whole process as you need only know the name of the package that you want to install and not worry whether the required packages have been installed or not. Packages that can’t be found on the system are searched for in the repositories that are available to the system.
Although both RPM and YUM are what really installs the packages, you would probably not be using either of those unless you are proficient with command lines and the various parameters that need to be passed. To make it easier for ordinary people to quickly grasp total control of their system, there are various graphical user interfaces or GUIs that can be used on top of either YUM or RPM. These GUIs are what people commonly see and interact with and not YUM or RPM.

No comments:

Post a Comment