BEST YUM COMMAND WITH EXAMPLES A PACKAGE MANAGER IN RHEL/CENTOS/FEDORA
Introduction
In this article we are going learn some most useful yum command with example. YUM is a Package Manager tool and most convenient way to handle packages and its dependencies.
YUM stands for Yellowpage Updater Modifier is a Package Manager tool for rpm package supportable Linux distros/Operating Systems ex: RHEL 5/6/7 and so on. It is used to install, uninstall, update, list available packages, list installed packages and search the rpm packages from the database. The main purpose of yum is to install rpm packages easily with all required dependencies and convenient way of package manager for administrators. YUM was first introduced on RHEL 5 then available on all later versions. When we try to install some package from client side using yum command it’s downloads the requested package and its dependencies from YUM Repository Package Manager Server and makes us available to install it.
So let’s have a look at yum command examples.
1. Install a Package using YUM Command
To install a package using yum command follow the below command, Here I am installing dhcp package.
[root@elinuxbook ~]# yum install dhcp # Install DHCP Package using yum command
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
* base: mirror.nbrc.ac.in
* extras: mirrors.nhanhoa.com
* updates: centos-hcm.viettelidc.com.vn
base | 3.7 kB 00:00
extras | 3.4 kB 00:00
updates | 3.4 kB 00:00
Resolving Dependencies
--> Running transaction check
---> Package dhcp.x86_64 12:4.1.1-51.P1.el6.centos will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
dhcp x86_64 12:4.1.1-51.P1.el6.centos base 823 k
Transaction Summary
================================================================================
Install 1 Package(s)
Total download size: 823 k
Installed size: 1.9 M
Is this ok [y/N]: y
Downloading Packages:
dhcp-4.1.1-51.P1.el6.centos.x86_64.rpm | 823 kB 00:01
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : 12:dhcp-4.1.1-51.P1.el6.centos.x86_64 1/1
Verifying : 12:dhcp-4.1.1-51.P1.el6.centos.x86_64 1/1
Installed:
dhcp.x86_64 12:4.1.1-51.P1.el6.centos
Complete!
You can also use yum command with option -y. This will assume Yes for any question asked during package installation. for example :
Total download size: 913 k Is this ok [y/N]: y
[root@elinuxbook ~]# yum -y install dhcp # Install dhcp package using yum with -y
2. Update all Installed Packages or a Single Package using YUM Command
We can use yum command to update a already installed package from its lower version to upper released version.
To update all installed Packages and Repositories just run the command yum update. Refer the output below.
[root@elinuxbook ~]# yum update # Update all Installed Packages and Repositories
To Update a particular package you have to mention the package name, Here I am updating httpd package. Refer the output below.
[root@elinuxbook ~]# yum update httpd # Update httpd Package
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Update Process
Loading mirror speeds from cached hostfile
* base: mirror.nbrc.ac.in
* extras: mirrors.nhanhoa.com
* updates: centos-hcm.viettelidc.com.vn
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.2.15-55.el6.centos.2 will be updated
---> Package httpd.x86_64 0:2.2.15-56.el6.centos.3 will be an update
--> Processing Dependency: httpd-tools = 2.2.15-56.el6.centos.3 for package: httpd-2.2.15-56.el6.centos.3.x86_64
--> Running transaction check
---> Package httpd-tools.x86_64 0:2.2.15-55.el6.centos.2 will be updated
---> Package httpd-tools.x86_64 0:2.2.15-56.el6.centos.3 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Updating:
httpd x86_64 2.2.15-56.el6.centos.3 updates 834 k
Updating for dependencies:
httpd-tools x86_64 2.2.15-56.el6.centos.3 updates 79 k
Transaction Summary
================================================================================
Upgrade 2 Package(s)
Total download size: 913 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): httpd-2.2.15-56.el6.centos.3.x86_64.rpm | 834 kB 00:06
(2/2): httpd-tools-2.2.15-56.el6.centos.3.x86_64.rpm | 79 kB 00:00
--------------------------------------------------------------------------------
Total 114 kB/s | 913 kB 00:07
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : httpd-tools-2.2.15-56.el6.centos.3.x86_64 1/4
Updating : httpd-2.2.15-56.el6.centos.3.x86_64 2/4
Cleanup : httpd-2.2.15-55.el6.centos.2.x86_64 3/4
Cleanup : httpd-tools-2.2.15-55.el6.centos.2.x86_64 4/4
Verifying : httpd-2.2.15-56.el6.centos.3.x86_64 1/4
Verifying : httpd-tools-2.2.15-56.el6.centos.3.x86_64 2/4
Verifying : httpd-tools-2.2.15-55.el6.centos.2.x86_64 3/4
Verifying : httpd-2.2.15-55.el6.centos.2.x86_64 4/4
Updated:
httpd.x86_64 0:2.2.15-56.el6.centos.3
Dependency Updated:
httpd-tools.x86_64 0:2.2.15-56.el6.centos.3
Complete!
3. List Packages using yum command
To list all installed packages in system and available packages in YUM repository Package Manager server use the command yum list, Refer the Sample output below.
[root@elinuxbook ~]# yum list # List all Installed and Available Packages
To list only installed packages use command yum list installed, Refer the output below.
[root@elinuxbook ~]# yum list installed # List only Installed Packages
To list particular package use command yum list <Package Name>. If the package is already installed then you will see the output as Installed Package and if the package is not installed then you will get output as Available Package. Here Available package means the package is available in YUM Repository Package Manager Server to install.
For example dhcp package is currently not installed in my system, In that case when I am trying to list for package dhcp It is showing as Available Package (Highlighted in Red colour on output below).
[root@elinuxbook ~]# yum list dhcp
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirror.nbrc.ac.in
* extras: mirrors.nhanhoa.com
* updates: centos-hcm.viettelidc.com.vn
Available Packages
dhcp.x86_64 12:4.1.1-51.P1.el6.centos base
And httpd package is installed in my system, When I am trying to list httpd package it is showing me as Installed Package (Highlighted in Red colour on the output below).
[root@elinuxbook ~]# yum list httpd
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirror.nbrc.ac.in
* extras: mirrors.nhanhoa.com
* updates: centos-hcm.viettelidc.com.vn
Installed Packages
httpd.x86_64 2.2.15-56.el6.centos.3 @updates
To list recently added packages to YUM Repository Package Manager Server use command yum list recent. Follow the sample output below.
[root@elinuxbook ~]# yum list recent # To list recently add packages to YUM Repository Package Manager Server
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirror.nbrc.ac.in
* extras: centos-hn.viettelidc.com.vn
* updates: centos-hn.viettelidc.com.vn
Recently Added Packages
openjpeg.x86_64 1.3-16.el6_8 updates
openjpeg-devel.i686 1.3-16.el6_8 updates
openjpeg-devel.x86_64 1.3-16.el6_8 updates
openjpeg-libs.i686 1.3-16.el6_8 updates
openjpeg-libs.x86_64 1.3-16.el6_8 updates
tomcat6.noarch 6.0.24-105.el6_8 updates
tomcat6-admin-webapps.noarch 6.0.24-105.el6_8 updates
tomcat6-docs-webapp.noarch 6.0.24-105.el6_8 updates
tomcat6-el-2.1-api.noarch 6.0.24-105.el6_8 updates
tomcat6-javadoc.noarch 6.0.24-105.el6_8 updates
tomcat6-jsp-2.1-api.noarch 6.0.24-105.el6_8 updates
tomcat6-lib.noarch 6.0.24-105.el6_8 updates
tomcat6-servlet-2.5-api.noarch 6.0.24-105.el6_8 updates
tomcat6-webapps.noarch 6.0.24-105.el6_8 updates
4. Uninstall/Erase/Remove a Package
To Uninstall or Remove a package use the below command, Here I am Uninstalling dhcp package.
[root@elinuxbook ~]# yum remove dhcp # Uninstall dhcp Package
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package dhcp.x86_64 12:4.1.1-51.P1.el6.centos will be erased
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Removing:
dhcp x86_64 12:4.1.1-51.P1.el6.centos @base 1.9 M
Transaction Summary
================================================================================
Remove 1 Package(s)
Installed size: 1.9 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : 12:dhcp-4.1.1-51.P1.el6.centos.x86_64 1/1
Verifying : 12:dhcp-4.1.1-51.P1.el6.centos.x86_64 1/1
Removed:
dhcp.x86_64 12:4.1.1-51.P1.el6.centos
Complete!
5. Check Information of a Package
We can use yum command to check the Package Information like Package Architecture, Version, Size, Description etc.. To check the Package information use command yum info <Package Name>, Refer the output below. Here I am checking the information of dhcp Package.
[root@elinuxbook ~]# yum info dhcp # Check Information of dhcp Package
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirror.nbrc.ac.in
* extras: mirrors.nhanhoa.com
* updates: centos-hcm.viettelidc.com.vn
Available Packages
Name : dhcp
Arch : x86_64
Epoch : 12
Version : 4.1.1
Release : 51.P1.el6.centos
Size : 823 k
Repo : base
Summary : Dynamic host configuration protocol software
URL : http://isc.org/products/DHCP/
License : ISC
Description : DHCP (Dynamic Host Configuration Protocol) is a protocol which
: allows individual devices on an IP network to get their own
: network configuration information (IP address, subnetmask,
: broadcast address, etc.) from a DHCP server. The overall purpose
: of DHCP is to make it easier to administer a large network. The
: dhcp package includes the ISC DHCP service and relay agent.
:
: To use DHCP on your network, install a DHCP service (or relay
: agent), and on clients run a DHCP client daemon. The dhcp package
: provides the ISC DHCP service and relay agent.
6. YUM Help for More Options and Features
To refer more yum command options and features you can use yum help.
[root@elinuxbook ~]# yum help # To access yum help page for more yum features and options
7. Reinstall a Package using yum command
To Reinstalled a already installed package we can use command yum reinstall <Package Name>, Refer the output below.
[root@elinuxbook ~]# yum reinstall httpd # Reinstall httpd Package
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Reinstall Process
Loading mirror speeds from cached hostfile
* base: mirror.nbrc.ac.in
* extras: mirrors.nhanhoa.com
* updates: centos-hcm.viettelidc.com.vn
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.2.15-56.el6.centos.3 will be reinstalled
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Reinstalling:
httpd x86_64 2.2.15-56.el6.centos.3 updates 834 k
Transaction Summary
================================================================================
Reinstall 1 Package(s)
Total download size: 834 k
Installed size: 3.0 M
Is this ok [y/N]: y
Downloading Packages:
httpd-2.2.15-56.el6.centos.3.x86_64.rpm | 834 kB 00:05
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : httpd-2.2.15-56.el6.centos.3.x86_64 1/1
Verifying : httpd-2.2.15-56.el6.centos.3.x86_64 1/1
Installed:
httpd.x86_64 0:2.2.15-56.el6.centos.3
Complete!
8. Install and Manage Group Packages using YUM Command
We can install Group Packages using yum command. Group Package is nothing but a bunch of packages which may concern with some single device for example a group may contain all package related to all Languages or Drivers of the system or some firmwares etc…
We can check a group package contains what list of packages by using yum groupinfo “<Group Package Name>”, Refer the Output below.
[root@elinuxbook ~]# yum -y groupinfo "Desktop" # Check the Informating of Group Package
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Group Process
Loading mirror speeds from cached hostfile
* base: mirror.nbrc.ac.in
* extras: mirrors.nhanhoa.com
* updates: centos-hcm.viettelidc.com.vn
Group: Desktop
Description: A minimal desktop that can also be used as a thin client.
Mandatory Packages:
NetworkManager
NetworkManager-gnome
alsa-plugins-pulseaudio
at-spi
control-center
dbus
gdm
gdm-user-switch-applet
gnome-panel
gnome-power-manager
gnome-screensaver
gnome-session
gnome-terminal
gvfs-archive
gvfs-fuse
gvfs-smb
metacity
nautilus
notification-daemon
polkit-gnome
xdg-user-dirs-gtk
yelp
Default Packages:
control-center-extra
eog
gdm-plugin-fingerprint
gnome-applets
gnome-media
gnome-packagekit
gnome-vfs2-smb
gok
openssh-askpass
orca
pulseaudio-module-gconf
pulseaudio-module-x11
vino
Optional Packages:
sabayon-apply
tigervnc-server
xguest
To install a Group Package use command yum groupinstall “<Group Package Name>”.
[root@elinuxbook ~]# yum groupinstall "Desktop" # Install Group Package
To list available group packages which are installed or in YUM Repositiry Server you can use command yum grouplist, Refer the output below.
[root@elinuxbook ~]# yum grouplist # List the Available Group Packages which are installed or in YUM Repository Package Manager Server
To update the already installed group package from Lower version to latest released version use below command.
[root@elinuxbook ~]# yum groupupdate "Desktop" # To update the Group Package
To Uninstall a Group Package use the below command.
[root@elinuxbook ~]# yum groupremove "Desktop" # To Uninstall a Group Package
9. Search for Package using YUM Command
To search for a Package using yum command use command yum search <Package Name>. Here I am searching for dhcp package. Refer the output below.
[root@elinuxbook ~]# yum search dhcp # Search for a Package using yum command
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirror.nbrc.ac.in
* extras: mirrors.nhanhoa.com
* updates: centos-hcm.viettelidc.com.vn
============================== N/S Matched: dhcp ===============================
dhcp-common.x86_64 : Common files used by ISC dhcp client and server
dhcp-devel.i686 : Development headers and libraries for interfacing to the DHCP
: server
dhcp-devel.x86_64 : Development headers and libraries for interfacing to the
: DHCP server
sblim-cmpi-dhcp.i686 : SBLIM WBEM-SMT DHCP
sblim-cmpi-dhcp.x86_64 : SBLIM WBEM-SMT DHCP
sblim-cmpi-dhcp-devel.i686 : SBLIM WBEM-SMT DHCP - Header Development Files
sblim-cmpi-dhcp-devel.x86_64 : SBLIM WBEM-SMT DHCP - Header Development Files
sblim-cmpi-dhcp-test.x86_64 : SBLIM WBEM-SMT DHCP - Testcase Files
dhclient.x86_64 : Provides the dhclient ISC DHCP client daemon and
: dhclient-script
dhcp.x86_64 : Dynamic host configuration protocol software
dnsmasq.x86_64 : A lightweight DHCP/caching DNS server
dnsmasq-utils.x86_64 : Utilities for manipulating DHCP server leases
Name and summary matches only, use "search all" for everything.
10. Clean cached installed files during Installation or Updation
When we are trying to install any package through yum command yum extracts the rpm package on our system and then installs the package. but after installed the package the extracted files are stores there only which may unnecessarily uses our disk space. We can clean that unused file by yum clean command.
[root@elinuxbook ~]# yum clean packages # To clean all unwanted files created during package installation
[root@elinuxbook ~]# yum clean all # To clean all unwanted extracted files
11. List available Repositories
Check all enabled Repositories use command yum repolist, Refer the output below.
[root@elinuxbook ~]# yum repolist # Check enabled repolist
Loaded plugins: fastestmirror, refresh-packagekit, security
Determining fastest mirrors
* base: mirror.nbrc.ac.in
* extras: centos-hn.viettelidc.com.vn
* updates: centos-hn.viettelidc.com.vn
base | 3.7 kB 00:00
base/primary_db | 4.7 MB 00:08
extras | 3.4 kB 00:00
extras/primary_db | 37 kB 00:00
updates | 3.4 kB 00:00
updates/primary_db | 5.4 MB 00:09
repo id repo name status
base CentOS-6 - Base 6,696
extras CentOS-6 - Extras 64
updates CentOS-6 - Updates 974
repolist: 7,734
We tried to include all possible yum command, if some command missed out please let us know on the comment box below so that we can include that in this article.
If you found this article please like us, subscribe us or if you have something to say please feel free to comment on the comment box below.