OSETC TECH

CentOS 7 /RHEL7: How To Check And Upgrade Packages Using YUM

Yum is a high level package managers like apt-get and smart. you can use YUM to install  new packages, remove old packages or check if packages has any updates in your system.

In this post, I will show you how to:

#1 YUM checking which installed Packages have any updates on your system

#2 YUM updating package for a single package

#3 YUM updating Packages for multiple packages

#4 YUM updating Packages for all packages

From manual page of “yum”:

yum  is an interactive, rpm based, package manager. It can automatically perform system updates, including dependency analysis and obsolete processing based on “repository”  metadata.  It  can  also  perform installation of new packages, removal of old packages and perform queries on the installed and/or available packages among many other commands/services (see below). yum is similar to other high level package managers like apt-get and smart.

CentOS 7 YUM Checking Updates

If you want to see if there are packages available for an update on centos 7 system, issue the following “yum” command with “check-update” option.

yum check-update

Outputs:

[root@devops Desktop]# yum check-update
Loaded plugins: fastestmirror, langpacks
base                                                                           | 3.6 kB  00:00:00
extras                                                                         | 3.4 kB  00:00:00
updates                                                                        | 3.4 kB  00:00:00
updates/7/x86_64/primary_db                                                    | 4.8 MB  00:00:22
Loading mirror speeds from cached hostfile
* base: mirrors.nwsuaf.edu.cn
* extras: mirrors.nwsuaf.edu.cn
* updates: mirrors.nwsuaf.edu.cn
NetworkManager.x86_64                               1:0.9.9.1-29.git20140326.4dba720.el7_0     updates
NetworkManager-glib.x86_64                          1:0.9.9.1-29.git20140326.4dba720.el7_0     updates
NetworkManager-tui.x86_64                           1:0.9.9.1-29.git20140326.4dba720.el7_0     updates
abrt.x86_64                                         2.1.11-12.el7.centos.0.1                   updates
abrt-addon-ccpp.x86_64                              2.1.11-12.el7.centos.0.1                   updates
abrt-addon-kerneloops.x86_64                        2.1.11-12.el7.centos.0.1                   updates
abrt-addon-pstoreoops.x86_64                        2.1.11-12.el7.centos.0.1                   updates
abrt-addon-python.x86_64                            2.1.11-12.el7.centos.0.1                   updates
abrt-addon-vmcore.x86_64                            2.1.11-12.el7.centos.0.1                   updates
abrt-addon-xorg.x86_64                              2.1.11-12.el7.centos.0.1                   updates
abrt-cli.x86_64                                     2.1.11-12.el7.centos.0.1                   updates
abrt-console-notification.x86_64                    2.1.11-12.el7.centos.0.1                   updates
abrt-dbus.x86_64                                    2.1.11-12.el7.centos.0.1                   updates
abrt-desktop.x86_64                                 2.1.11-12.el7.centos.0.1                   updates
abrt-gui.x86_64                                     2.1.11-12.el7.centos.0.1                   updates
abrt-gui-libs.x86_64                                2.1.11-12.el7.centos.0.1                   updates
abrt-libs.x86_64                                    2.1.11-12.el7.centos.0.1                   updates
abrt-python.x86_64                                  2.1.11-12.el7.centos.0.1                   updates
abrt-tui.x86_64                                     2.1.11-12.el7.centos.0.1                   updates
at.x86_64                                           3.1.13-17.el7_0.1                          updates
...

It will print all packages that have an update available. and the output will also show you the name of package have updates available, the version of installed package.

If you just want to see one particular package if there is a update, just appending the package name to “yum check-update” command. such as, Yum checking wget package update:

root@devops Desktop]# yum check-update wget
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.nwsuaf.edu.cn
* extras: mirrors.nwsuaf.edu.cn
* updates: mirrors.nwsuaf.edu.cn
wget.x86_64                                  1.14-10.el7_0.1                                   updates
[root@devops Desktop]#

If you can see “updates” string, it indicated that this package have a update.

CentOS 7 YUM Updating A Single Package

After checking the update for installed package on your system, you should be want to update it to the latest version. to update a single package, issue the following command:

yum update <package name>

Example: yum updating wget package

Firstly, checking the current version of wget package

[root@devops Desktop]# rpm -qa | grep wget
wget-1.14-10.el7.x86_64

Then, updating wget package using “yum update wget” command

[root@devops Desktop]# yum update wget

Loaded plugins: fastestmirror, langpacks

Loading mirror speeds from cached hostfile

* base: mirrors.nwsuaf.edu.cn

* extras: mirrors.nwsuaf.edu.cn

* updates: mirrors.nwsuaf.edu.cn

Resolving Dependencies

--> Running transaction check

---> Package wget.x86_64 0:1.14-10.el7 will be updated

---> Package wget.x86_64 0:1.14-10.el7_0.1 will be an update

--> Finished Dependency Resolution

Dependencies Resolved

======================================================================================================

Package            Arch                 Version                          Repository             Size

======================================================================================================

Updating:

wget               x86_64               1.14-10.el7_0.1                  updates               545 k

Transaction Summary

======================================================================================================

Upgrade  1 Package

Total download size: 545 k

Is this ok [y/d/N]: y

Downloading packages:

updates/7/x86_64/prestodelta                                                   | 218 kB  00:00:03

Delta RPMs reduced 545 k of updates to 253 k (53% saved)

wget-1.14-10.el7_1.14-10.el7_0.1.x86_64.drpm                                   | 253 kB  00:00:01

Finishing delta rebuilds of 1 package(s) (545 k)

warning: /var/cache/yum/x86_64/7/updates/packages/wget-1.14-10.el7_0.1.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY

Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

Importing GPG key 0xF4A80EB5:

Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"

Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5

Package    : centos-release-7-0.1406.el7.centos.2.3.x86_64 (@anaconda)

From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

Is this ok [y/N]: y

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

Updating   : wget-1.14-10.el7_0.1.x86_64                                                        1/2

Cleanup    : wget-1.14-10.el7.x86_64                                                            2/2

Verifying  : wget-1.14-10.el7_0.1.x86_64                                                        1/2

Verifying  : wget-1.14-10.el7.x86_64                                                            2/2

Updated:

wget.x86_64 0:1.14-10.el7_0.1

Complete!

CentOS 7 YUM updating Packages for multiple packages

If you want to update multiple packages at the same time, just appending packages names to “yum update” comand, just like the following format:

yum update <package name1> <package name2>

Example, yum updating wget and samba-client, issue the following command:

yum update wget samba-client

CentOS 7 YUM updating Packages For All Packages

If there are lots of packages that have update available, you must  be want know if there is a way to update it at once .  Of course, the answer is yes. just simply issue “yum update” command without any options.

yum update

Outputs:

[root@devops Desktop]# yum update

Loaded plugins: fastestmirror, langpacks

Loading mirror speeds from cached hostfile

* base: mirrors.nwsuaf.edu.cn

* extras: mirrors.nwsuaf.edu.cn

* updates: mirrors.nwsuaf.edu.cn

Resolving Dependencies

--> Running transaction check

---> Package NetworkManager.x86_64 1:0.9.9.1-13.git20140326.4dba720.el7 will be updated

---> Package NetworkManager.x86_64 1:0.9.9.1-29.git20140326.4dba720.el7_0 will be an update

---> Package NetworkManager-glib.x86_64 1:0.9.9.1-13.git20140326.4dba720.el7 will be updated

---> Package NetworkManager-glib.x86_64 1:0.9.9.1-29.git20140326.4dba720.el7_0 will be an update

---> Package NetworkManager-tui.x86_64 1:0.9.9.1-13.git20140326.4dba720.el7 will be updated

---> Package NetworkManager-tui.x86_64 1:0.9.9.1-29.git20140326.4dba720.el7_0 will be an update

---> Package abrt.x86_64 0:2.1.11-12.el7.centos will be updated

---> Package abrt.x86_64 0:2.1.11-12.el7.centos.0.1 will be an update

---> Package abrt-addon-ccpp.x86_64 0:2.1.11-12.el7.centos will be updated

...

--> Finished Dependency Resolution

Dependencies Resolved

======================================================================================================

Package                                  Arch   Version                                Repository

Size

======================================================================================================

Installing:

kernel                                   x86_64 3.10.0-123.9.3.el7                     updates  29 M

kernel-devel                             x86_64 3.10.0-123.9.3.el7                     updates 8.9 M

Updating:

NetworkManager                           x86_64 1:0.9.9.1-29.git20140326.4dba720.el7_0 updates 1.4 M

NetworkManager-glib                      x86_64 1:0.9.9.1-29.git20140326.4dba720.el7_0 updates 370 k

NetworkManager-tui                       x86_64 1:0.9.9.1-29.git20140326.4dba720.el7_0 updates 191 k

...

Transaction Summary

======================================================================================================

Install    2 Packages (+1 Dependent package)

Upgrade  213 Packages

Total download size: 333 M

Is this ok [y/d/N]:

It may be take a while to updating all package …..

done…