Top 22 YUM Command Examples in RedHat/CentOS 7

In this tutorial, I will take you through Top 22 YUM Command Examples in RedHat/CentOS 7. YUM command is the most widely used command in RedHat and CentOS environment to download and install packages from Repository. It is also able to detect and install the dependent packages which otherwise will be a very difficult  to do if we have to do it manually. So in a way yum command makes our life way too easy in that sense.

Prerequisites

You need to login as either root user or any other user with sudo access to run all yum commands. Here I am using root user for running all the below yum commands.

Top 22 YUM Command Examples in RedHat/CentOS 7 1

YUM Command Examples

Also Read: How to Install or Enable ssh on Ubuntu

1. Update Packages using yum update

To update all the currently installed packages in the system, run yum update command. This command is a daily use yum command which you will mostly use before installing any new packages to update your system.

[root@localhost ~]# yum update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
epel/x86_64/metalink | 9.5 kB 00:00:00
* base: centos.excellmedia.net
* epel: repos.del.extreme-ix.org
* extras: centos.excellmedia.net
* openstack-rocky: centos.excellmedia.net
* rdo-qemu-ev: centos.excellmedia.net
* updates: centos.excellmedia.net

2. Install Packages Silently 

If you want to install packages without displaying the output in CLI window, then you can use -q option with yum install command to quietly install packages as shown below.

[root@localhost ~]# yum install cups -y -q

NOTE:

Please ensure you are using -y option along with -q option, otherwise all the output will display in the CLI after sometime to ask you at the end if you want to proceed with the installation.

3. Complete all remaining transactions

Sometimes it might happen that while running yum update, system went to shutdown state. In that case you need to run yum-complete-transaction command to complete all remaining transactions.

[root@localhost john]# yum-complete-transaction
No unfinished transactions left.

4. Skip Broken Packages during yum update

Sometimes you might have encountered error like broken packages while running yum update command, to resolve those error you might want to  use --skip-broken option with yum update command to skip the broken packages as shown below. This is another very important yum command which you will use in the event of any disaster when your system suddenly shutdown while updating Linux packages.

[root@localhost ~]# yum update --skip-broken
Resolving Dependencies
--> Running transaction check
---> Package audit.x86_64 0:2.8.4-4.el7 will be updated
---> Package audit.x86_64 0:2.8.5-4.el7 will be an update

...........................................................................................................

5. Check all the installed packages through yum list installed packages

To List all currently installed packages, you need to use yum list installed command. This yum command is generally used to check all the Linux packages currently available in your server.

[root@localhost ~]# yum list installed

Installed Packages
GeoIP.x86_64 1.5.0-14.el7 @base
NetworkManager.x86_64 1:1.18.0-5.el7_7.1 @updates
NetworkManager-libnm.x86_64 1:1.18.0-5.el7_7.1 @updates
NetworkManager-team.x86_64 1:1.18.0-5.el7_7.1 @updates
NetworkManager-tui.x86_64 1:1.18.0-5.el7_7.1 @updates
PyYAML.x86_64 3.10-11.el7 @base
acl.x86_64 2.2.51-14.el7 @anaconda
adobe-mappings-cmap.noarch 20171205-3.el7 @base
adobe-mappings-cmap-deprecated.noarch 20171205-3.el7 @base
adobe-mappings-pdf.noarch 20180407-1.el7 @base

.........................................................................................................

6. Check History through yum history

To check all the commands used with yum in the past, you can run yum history command.

[root@localhost ~]# yum history
Loaded plugins: fastestmirror
ID | Command line | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
79 | install pssh | 2020-01-12 07:27 | Install | 1
78 | update | 2020-01-12 07:25 | O, U | 17 E<
77 | install java-11-openjdk- | 2019-12-12 08:08 | Install | 1 >
76 | install java-11-openjdk | 2019-12-12 08:03 | Install | 6
75 | install -y epel-release | 2019-12-11 06:31 | Install | 1
74 | remove -y epel-release | 2019-12-11 06:31 | Erase | 1
73 | install -y mariadb-serve | 2019-12-11 05:42 | Install | 1
72 | install -y rabbitmq-serv | 2019-12-11 05:42 | Install | 1
71 | install -y epel-release | 2019-12-11 05:40 | Install | 1
70 | remove -y epel-release | 2019-12-11 05:39 | Erase | 1
history list

7. Clean up Repo using yum clean all

If you want to clean up all repo, you can do that by using yum clean all command. There may be an instance where you might face some issues while running any of the yum command, the first thing you will think to do is to clean up your repo through yum clean command as shown below.

[root@localhost ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: base epel extras kubernetes openstack-rocky puppetlabs-pc1 rdo-qemu-ev updates
Cleaning up list of fastest mirrors
Other repos take up 38 M of disk space (use --verbose for details)

8. Install Packages using yum install 

To install any packages like python3 in your system, you need to use yum install python3 command.

[root@localhost ~]# yum install python3
Loaded plugins: fastestmirror
Determining fastest mirrors
epel/x86_64/metalink | 9.5 kB 00:00:00
* base: mirrors.piconets.webwerks.in
* epel: mirrors.piconets.webwerks.in
* extras: mirrors.piconets.webwerks.in
* openstack-rocky: mirrors.piconets.webwerks.in
* rdo-qemu-ev: centos.excellmedia.net
* updates: mirrors.piconets.webwerks.in

.....................................................................................................

9. Remove packages using yum remove

If you want remove any package say python3 in our case, then to do that you need to run yum remove python3 command. This will remove python3 package from your system.

[root@localhost ~]# yum remove python3
Loaded plugins: fastestmirror
Resolving Dependencies
--> Running transaction check
---> Package python3.x86_64 0:3.6.8-10.el7 will be erased
--> Processing Dependency: python(abi) = 3.6 for package: python3-setuptools-39.2.0-10.el7.noarch
--> Processing Dependency: python(abi) = 3.6 for package: python3-libs-3.6.8-10.el7.x86_64
--> Processing Dependency: python(abi) = 3.6 for package: python3-pip-9.0.3-5.el7.noarch
--> Processing Dependency: python(abi) = 3.6 for package: python3-setuptools-39.2.0-10.el7.noarch
--> Processing Dependency: python(abi) = 3.6 for package: python3-libs-3.6.8-10.el7.x86_64
--> Processing Dependency: python(abi) = 3.6 for package: python3-pip-9.0.3-5.el7.noarch
--> Running transaction check

...............................................................................................................................

10. Check Repolist Using yum repolist

To check the total number of repolist, you can execute yum repolist command and check.

[root@localhost ~]# yum repolist
repo id repo name status
base/7/x86_64 CentOS-7 - Base 10,097
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,509
extras/7/x86_64 CentOS-7 - Extras 307
kubernetes Kubernetes 451
openstack-rocky/x86_64 OpenStack Rocky Repository 2,535
puppetlabs-pc1/x86_64 Puppet Labs PC1 Repository el 7 - x86_64 192
rdo-qemu-ev/x86_64 RDO CentOS-7 - QEMU EV 87
updates/7/x86_64 CentOS-7 - Updates 1,012
repolist: 28,190

11. Check update through yum check-update

If you want to check if any update is available any of the installed packages in your system, then you can check it through by running yum check-update command.

[root@localhost ~]# yum check-update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.piconets.webwerks.in
* epel: mirrors.piconets.webwerks.in
* extras: mirrors.piconets.webwerks.in
* openstack-rocky: mirrors.piconets.webwerks.in
* rdo-qemu-ev: centos.excellmedia.net
* updates: mirrors.piconets.webwerks.in

kubeadm.x86_64 1.17.1-0 kubernetes
kubectl.x86_64 1.17.1-0 kubernetes
kubelet.x86_64 1.17.1-0 kubernetes

12. Upgrade packages using yum upgrade

To upgrade packages in your system, you need to use yum upgrade command. Since I have the latest python version already installed hence it is not showing any latest updates to install.

[root@localhost ~]# yum upgrade python3
No packages marked for update

13. Show UpdateInfo Summary using yum updateinfo

To show all the latest security fixes and bug fixes available, you need to run yum updateinfo summarycommand. Since i have the latest security patches already installed hence it is not showing anything to me.

[root@localhost ~]# yum updateinfo summary
updateinfo summary done

You might want to see other commands available to check installed and available advisories. For example, if you want to see all the installed and available advisories, then you check it by running below command.

yum updateinfo list all

If you want list all available advisories, then you need to run below command.

yum updateinfo list available

If you want list all installed advisories, then you need to use execute below command.

yum updateinfo list installed

14. Reinstall Package using yum reinstall

If you want to reinstall any packages, then you need to use yum reinstall command.

[root@localhost ~]# yum reinstall python3
Resolving Dependencies
--> Running transaction check
---> Package python3.x86_64 0:3.6.8-10.el7 will be reinstalled
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================================================================
Package Arch Version Repository Size
========================================================================================================================================================================
Reinstalling:
python3 x86_64 3.6.8-10.el7 base 69 k

Transaction Summary
========================================================================================================================================================================
Reinstall 1 Package

Total download size: 69 k
Installed size: 39 k
Is this ok [y/d/N]:

...................................................................................................................

15. Download a Package without Installing through yum-plugin-downloadonly

In some cases, you do not want to install the package just download it. For those purposes there is an option --downloadonly with yum which will only download the package and not install it. Here I have downloaded all the packages related to cups in /home/john directory as you can see below.

[root@localhost ~]# yum install --downloadonly --downloaddir=/home/john cups
Resolving Dependencies
--> Running transaction check
---> Package cups.x86_64 1:1.6.3-40.el7 will be installed
--> Processing Dependency: cups-filesystem = 1:1.6.3-40.el7 for package: 1:cups-1.6.3-40.el7.x86_64
--> Processing Dependency: ghostscript-cups for package: 1:cups-1.6.3-40.el7.x86_64
--> Running transaction check
---> Package cups-filesystem.noarch 1:1.6.3-40.el7 will be installed
--> Processing Dependency: cups-filters for package: 1:cups-filesystem-1.6.3-40.el7.noarch
---> Package ghostscript-cups.x86_64 0:9.25-2.el7_7.3 will be installed
--> Processing Dependency: ghostscript = 9.25-2.el7_7.3 for package: ghostscript-cups-9.25-2.el7_7.3.x86_64
--> Running transaction check
---> Package cups-filters.x86_64 0:1.0.35-26.el7 will be installed
--> Processing Dependency: cups-filters-libs(x86-64) = 1.0.35-26.el7 for package: cups-filters-1.0.35-26.el7.x86_64
....................................................................................................................................

Check download Packages in /home/john directory if it is downloaded or not.

[root@localhost john]# ls -lrt
total 5892
-rw-r--r-- 1 root root 2254884 Jul 4 2014 poppler-data-0.4.6-3.el7.noarch.rpm
-rw-r--r-- 1 root root 335992 Jul 4 2014 qpdf-libs-5.0.1-3.el7.x86_64.rpm
-rw-r--r-- 1 root root 25576 Apr 25 2018 avahi-glib-0.6.31-19.el7.x86_64.rpm
-rw-r--r-- 1 root root 27672 Apr 25 2018 liberation-fonts-common-1.07.2-16.el7.noarch.rpm
-rw-r--r-- 1 root root 232864 Apr 25 2018 liberation-mono-fonts-1.07.2-16.el7.noarch.rpm
-rw-r--r-- 1 root root 88128 Nov 12 2018 openjpeg-libs-1.5.1-18.el7.x86_64.rpm
-rw-r--r-- 1 root root 1343440 Aug 22 17:21 cups-1.6.3-40.el7.x86_64.rpm

16. Check Installed and Available Kernel Packages

If you want to check all the Installed and available Kernel Packages, you can check it through yum list kernel command.

[root@localhost john]# yum list kernel
Installed Packages
kernel.x86_64 3.10.0-957.el7 @anaconda
kernel.x86_64 3.10.0-1062.4.3.el7 @updates
kernel.x86_64 3.10.0-1062.9.1.el7 @updates

17. Create Metadata Cache through yum makecache

If you want to build your metadata cache, you can do it by running yum makecache command. You usually use this yum command when you want your cache to be fully updated with all the metadata.

[root@localhost ~]# yum makecache
(1/10): extras/7/x86_64/other_db | 100 kB 00:00:00
(2/10): epel/x86_64/prestodelta | 453 B 00:00:00
(3/10): openstack-rocky/x86_64/other_db | 418 kB 00:00:00
(4/10): puppetlabs-pc1/x86_64/other_db | 13 kB 00:00:00
(5/10): base/7/x86_64/other_db | 2.6 MB 00:00:01
(6/10): rdo-qemu-ev/x86_64/other_db | 61 kB 00:00:00
(7/10): updates/7/x86_64/other_db | 368 kB 00:00:00
(8/10): kubernetes/other | 40 kB 00:00:01
(9/10): epel/x86_64/other_db | 3.3 MB 00:00:02
(10/10): epel/x86_64/updateinfo_zck | 1.5 MB 00:00:06
kubernetes 451/451
Metadata Cache Created

18. Install Packages Locally using yum localinstall

If you want to install some package which is available locally in your system rather than download and install from the Repo, then you can do that by using yum localinstall command. This yum command is specifically useful where you do not have any internet connection in your server and you wanted to install from local rpm only.

[root@localhost john]# yum localinstall cups-1.6.3-40.el7.x86_64.rpm
Loaded plugins: fastestmirror
Examining cups-1.6.3-40.el7.x86_64.rpm: 1:cups-1.6.3-40.el7.x86_64
Marking cups-1.6.3-40.el7.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package cups.x86_64 1:1.6.3-40.el7 will be installed
--> Processing Dependency: cups-filesystem = 1:1.6.3-40.el7 for package: 1:cups-1.6.3-40.el7.x86_64
--> Processing Dependency: ghostscript-cups for package: 1:cups-1.6.3-40.el7.x86_64
--> Running transaction check
---> Package cups-filesystem.noarch 1:1.6.3-40.el7 will be installed
--> Processing Dependency: cups-filters for package: 1:cups-filesystem-1.6.3-40.el7.noarch
---> Package ghostscript-cups.x86_64 0:9.25-2.el7_7.3 will be installed
--> Processing Dependency: ghostscript = 9.25-2.el7_7.3 for package: ghostscript-cups-9.25-2.el7_7.3.x86_64
--> Running transaction check
---> Package cups-filters.x86_64 0:1.0.35-26.el7 will be installed
.....................................................................................................................................................

19. Search Packages through yum search

If you want to search a package let’s say cups package from repository you need to run yum search cups command to do that. It will display all the packages relating to cups package. From there you can select the package you need and install it.

[root@localhost ~]# yum search cups
========================================================================== N/S matched: cups ===========================================================================
apcupsd-cgi.x86_64 : Web interface for apcupsd
apcupsd-gui.x86_64 : GUI interface for apcupsd
bluez-cups.x86_64 : CUPS printer backend for Bluetooth printers
cups.x86_64 : CUPS printing system
cups-bjnp.x86_64 : CUPS backend for the Canon BJNP network printers
cups-client.x86_64 : CUPS printing system - client programs
cups-devel.i686 : CUPS printing system - development environment
cups-devel.x86_64 : CUPS printing system - development environment
cups-filesystem.noarch : CUPS printing system - directory layout
cups-filters.x86_64 : OpenPrinting CUPS filters and backends

20. Search Package Name of a Command

Sometimes you are not sure of the package name, only aware of the command that you wanted to use. yum command will search the package name for you if you provide the command name. In this example to search the netstat package name you need to execute yum provides netstat command. It will provide you the complete package name.

[root@localhost ~]# yum provides netstat
net-tools-2.0-0.25.20131004git.el7.x86_64 : Basic networking tools
Repo : @base
Matched from:
Filename : /usr/bin/netstat

21. Check Package Information through yum info

If you want to know about some package, you need to use yum info command. For example, if you have some package net-tools and you want to know about this package, then you need to use yum info net-tools command.

[root@localhost ~]# yum info net-tools
Installed Packages
Name : net-tools
Arch : x86_64
Version : 2.0
Release : 0.25.20131004git.el7
Size : 917 k
Repo : installed
From repo : base
Summary : Basic networking tools
URL : http://sourceforge.net/projects/net-tools/
License : GPLv2+
Description : The net-tools package contains basic networking tools,
: including ifconfig, netstat, route, and others.
: Most of them are obsolete. For replacement check iproute package

22. Check Package Groups through yum grouplist

If you want to check the available Environment grouplist in which all packages are grouped together, you need to run yum grouplist command.

[root@localhost ~]# yum grouplist
Available Environment Groups:
Minimal Install
Compute Node
Infrastructure Server
File and Print Server
Desktop
MATE Desktop
Basic Web Server
Virtualization Host
Server with GUI
GNOME Desktop
KDE Plasma Workspaces
Development and Creative Workstation
Available Groups:
Cinnamon
Compatibility Libraries
Console Internet Tools
Development Tools
Done

If you want to install any package of a Particular Group say you wanted to install Basic web server group packages, then you need to use yum groupinstall "Basic web server" command to do that.

[root@localhost ~]# yum groupinstall "Basic web server"
Warning: Group core does not have any packages to install.
Resolving Dependencies
--> Running transaction check
---> Package abrt-addon-ccpp.x86_64 0:2.1.11-55.el7.centos will be installed
--> Processing Dependency: abrt-libs = 2.1.11-55.el7.centos for package: abrt-addon-ccpp-2.1.11-55.el7.centos.x86_64
--> Processing Dependency: abrt = 2.1.11-55.el7.centos for package: abrt-addon-ccpp-2.1.11-55.el7.centos.x86_64
--> Processing Dependency: gdb >= 7.6.1-63 for package: abrt-addon-ccpp-2.1.11-55.el7.centos.x86_64
--> Processing Dependency: libreport-python for package: abrt-addon-ccpp-2.1.11-55.el7.centos.x86_64
--> Processing Dependency: elfutils for package: abrt-addon-ccpp-2.1.11-55.el7.centos.x86_64
--> Processing Dependency: abrt-retrace-client for package: abrt-addon-ccpp-2.1.11-55.el7.centos.x86_64


...............................................................................................................................................................................................

Also Read: How to install and configure ClamAV in Linux

 

Popular Searches

  • yum download only
  • yum clean cache
  • yum package manager
  • yum install specific version
  • yum linux
  • yum command

Leave a Reply