Upgrade Unbreakable Enterprise Kernel (UEK) from UEKR3 to UEKR5 on Oracle Linux 7

Before proceeding with the upgrading steps, we just record down what we are having in current Oracle Linux 7.

Server Release Version: 7.2
UEK Release: ol7_UEKR3
ol7_addons repository for various addons such as Docker Engine
ol7_latest repository for the latest releases of OL7 core packages
PostgreSQL 9.6

[root@racnode1 ~]# cat /etc/system-release
Oracle Linux Server release 7.2
[root@racnode1 ~]# yum repolist
Loaded plugins: ulninfo
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
repo id                         repo name                                   status
!ksplice-uptrack/7Server/x86_64 Ksplice Uptrack for OL                         16
!ol7_UEKR3/x86_64               Latest Unbreakable Enterprise Kernel 
                                Release 3 for Oracle Linux 7Server (x86_64)   912
!ol7_addons/x86_64              Oracle Linux 7Server Add ons (x86_64)         340
!ol7_latest/x86_64              Oracle Linux 7Server Latest (x86_64)       13,211
!pgdg96/7Server/x86_64          PostgreSQL 9.6 7Server - x86_64               875
repolist: 15,354
[root@racnode1 ~]#

Update yum repository files from http://yum.oracle.com/public-yum-ol7.repo which contains the latest repositories information. Make sure to put into the right directory where yum expects it, which is /etc/yum.repos.d/:

[root@racnode1 yum.repos.d]# cd /etc/yum.repos.d
[root@racnode1 yum.repos.d]# ls -ltr
total 16
-rw-r--r-- 1 root root 191 Sep 2 2011 ksplice-uptrack.repo
-rw-r--r-- 1 root root 2560 Nov 20 2015 public-yum-ol7.repo.rpmnew
-rw-r--r-- 1 root root 2323 Nov 28 2015 public-yum-ol7.repo
-rw-r--r-- 1 root root 1012 Sep 21 2016 pgdg-96-redhat.repo
[root@racnode1 yum.repos.d]# wget http://yum.oracle.com/public-yum-ol7.repo
--2020-01-06 11:35:37-- http://yum.oracle.com/public-yum-ol7.repo
Resolving yum.oracle.com (yum.oracle.com)... 104.116.170.250
Connecting to yum.oracle.com (yum.oracle.com)|104.116.170.250|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 16402 (16K) [text/plain]
Saving to: ‘public-yum-ol7.repo.1’

2020-01-06 11:35:51 (646 KB/s) - ‘public-yum-ol7.repo.1’ saved [16402/16402]

The new file is named as “public-yum-ol7.repo.1”, so we have to make a backup for the old one, and rename the new one to old one:

[root@racnode1 yum.repos.d]# ls -ltr public-yum-ol7.repo*
-rw-r--r-- 1 root root 2560 Nov 20 2015 public-yum-ol7.repo.rpmnew
-rw-r--r-- 1 root root 2323 Nov 28 2015 public-yum-ol7.repo
-rw-r--r-- 1 root root 16402 Aug 26 23:57 public-yum-ol7.repo.1
[root@racnode1 yum.repos.d]# mv public-yum-ol7.repo public-yum-ol7.repo.bak
[root@racnode1 yum.repos.d]# mv public-yum-ol7.repo.1 public-yum-ol7.repo
[root@racnode1 yum.repos.d]#

Enable the new repository, and also disable the old one accordingly. Install yum-utils if it has not been, otherwise “yum-config-manager” will not be found.

[root@racnode1 yum.repos.d]# yum-config-manager --enable ol7_UEKR5
-bash: yum-config-manager: command not found


[root@racnode1 yum.repos.d]# yum install yum-utils
...
..
.
Complete!
[root@racnode1 yum.repos.d]#
[root@racnode1 yum.repos.d]# yum-config-manager --enable ol7_UEKR5
===== repo: ol7_UEKR5 =============================================
[ol7_UEKR5]
async = True
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/7Server
baseurl = https://yum.oracle.com/repo/OracleLinux/OL7/UEKR5/x86_64/
cache = 0
cachedir = /var/cache/yum/x86_64/7Server/ol7_UEKR5
check_config_file_age = True
compare_providers_priority = 80
cost = 1000
deltarpm_metadata_percentage = 100
deltarpm_percentage =
enabled = True
enablegroups = True
exclude =
failovermethod = priority
ftp_disable_epsv = False
gpgcadir = /var/lib/yum/repos/x86_64/7Server/ol7_UEKR5/gpgcadir
gpgcakey =
gpgcheck = True
gpgdir = /var/lib/yum/repos/x86_64/7Server/ol7_UEKR5/gpgdir
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
hdrdir = /var/cache/yum/x86_64/7Server/ol7_UEKR5/headers
http_caching = all
includepkgs =
ip_resolve =
keepalive = True
keepcache = False
mddownloadpolicy = sqlite
mdpolicy = group:small
mediaid =
metadata_expire = 21600
metadata_expire_filter = read-only:present
metalink =
minrate = 0
mirrorlist =
mirrorlist_expire = 86400
name = Latest Unbreakable Enterprise Kernel Release 5 for Oracle Linux 7
       Server (x86_64)
old_base_cache_dir =
password =
persistdir = /var/lib/yum/repos/x86_64/7Server/ol7_UEKR5
pkgdir = /var/cache/yum/x86_64/7Server/ol7_UEKR5/packages
proxy = False
proxy_dict =
proxy_password =
proxy_username =
repo_gpgcheck = False
retries = 10
skip_if_unavailable = False
ssl_check_cert_permissions = True
sslcacert =
sslclientcert =
sslclientkey =
sslverify = True
throttle = 0
timeout = 30.0
ui_id = ol7_UEKR5/x86_64
ui_repoid_vars = releasever,
basearch
username =
[root@racnode1 yum.repos.d]#
[root@racnode1 yum.repos.d]# yum-config-manager --disable ol7_UEKR3
==================== repo: ol7_UEKR3 ===========================
[ol7_UEKR3]
async = True
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/7Server
baseurl = https://yum.oracle.com/repo/OracleLinux/OL7/UEKR3/x86_64/
cache = 0
cachedir = /var/cache/yum/x86_64/7Server/ol7_UEKR3
check_config_file_age = True
compare_providers_priority = 80
cost = 1000
deltarpm_metadata_percentage = 100
deltarpm_percentage =
enabled = False
enablegroups = True
exclude =
failovermethod = priority
ftp_disable_epsv = False
gpgcadir = /var/lib/yum/repos/x86_64/7Server/ol7_UEKR3/gpgcadir
gpgcakey =
gpgcheck = True
gpgdir = /var/lib/yum/repos/x86_64/7Server/ol7_UEKR3/gpgdir
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
hdrdir = /var/cache/yum/x86_64/7Server/ol7_UEKR3/headers
http_caching = all
includepkgs =
ip_resolve =
keepalive = True
keepcache = False
mddownloadpolicy = sqlite
mdpolicy = group:small
mediaid =
metadata_expire = 21600
metadata_expire_filter = read-only:present
metalink =
minrate = 0
mirrorlist =
mirrorlist_expire = 86400
name = Latest Unbreakable Enterprise Kernel Release 3 for Oracle Linux 7Server (x86_64)
old_base_cache_dir =
password =
persistdir = /var/lib/yum/repos/x86_64/7Server/ol7_UEKR3
pkgdir = /var/cache/yum/x86_64/7Server/ol7_UEKR3/packages
proxy = False
proxy_dict =
proxy_password =
proxy_username =
repo_gpgcheck = False
retries = 10
skip_if_unavailable = False
ssl_check_cert_permissions = True
sslcacert =
sslclientcert =
sslclientkey =
sslverify = True
throttle = 0
timeout = 30.0
ui_id = ol7_UEKR3/x86_64
ui_repoid_vars = releasever,
basearch
username =

[root@racnode1 yum.repos.d]# yum repolist
Loaded plugins: ulninfo
repo id                        repo name                      status
ksplice-uptrack/7Server/x86_64 Ksplice Uptrack for OL 16
ol7_UEKR5/x86_64      Latest Unbreakable Enterprise Kernel Release 5
                      for Oracle Linux Server (x86_64)           193
ol7_latest/x86_64     Oracle Linux 7Server Latest (x86_64)    16,060
pgdg96/7Server/x86_64 PostgreSQL 9.6 7Server - x86_64          1,198
repolist: 17,467
[root@racnode1 yum.repos.d]#

We can see ol7_addons repository is not enabled by default. so we have to enable it manually by :

[root@racnode1 yum.repos.d]# yum-config-manager --enable ol7_addons
[root@racnode1 yum.repos.d]# yum repolist
Loaded plugins: ulninfo
repo id                         repo name                      status
ksplice-uptrack/7Server/x86_64  Ksplice Uptrack for OL             16
ol7_UEKR5/x86_64         latest Unbreakable Enterprise Kernel 
                   Release 5for Oracle Linux 7Server (x86_64)     193
ol7_addons/x86_64  Oracle Linux 7Server Add ons (x86_64)          340
ol7_latest/x86_64  Oracle Linux 7Server Latest (x86_64)        16,060
pgdg96/7Server/x86_64 PostgreSQL 9.6 7Server - x86_64           1,198
repolist: 17,807
[root@racnode1 yum.repos.d]#

Upgrade now with yum upgrade option, which will delete the old packages. Otherwise use ‘update’ option to keep the old packages.

[root@racnode1 yum.repos.d]# yum upgrade
Loaded plugins: ulninfo
Resolving Dependencies
-> Running transaction check
->Package NetworkManager.x86_64 1:1.0.6-27.0.1.el7 will be obsoleted
->Package NetworkManager.x86_64 1:1.18.0-5.el7_7.1 will be obsoleting
...

...

Updating : libuser-0.60-9.el7.x86_64 180/733
Updating : postgresql96-libs-9.6.16-2PGDG.rhel7.x86_64 181/733
Updating : passwd-0.79-5.el7.x86_64 182/733
Updating : curl-7.29.0-54.0.1.el7_7.1.x86_64 183/733

IMPORTANT: A legacy Oracle Linux yum server repo file was found. 
Oracle Linux yum server repository configurations have changed which 
means public-yum-ol7.repo will no longer be updated. New repository 
configuration files have been installed but are disabled. 
To complete the transition, run this script as the root user:

/usr/bin/ol_yum_configure.sh

See https://yum.oracle.com/faq.html for more information.

Installing : oraclelinux-release-el7-1.0-8.el7.x86_64 184/733
Updating : gnupg2-2.0.22-5.el7_5.x86_64 185/733
Updating : rhn-client-tools-2.0.2-24.0.7.el7.x86_64

...
..
.

Complete!

Execute below command as per upgrade warning messages:

[root@racnode1 yum.repos.d]# /usr/bin/ol_yum_configure.sh
Repository ol7_UEKR5 already enabled
Repository ol7_addons already enabled
Repository ol7_latest already enabled
[root@racnode1 yum.repos.d]# yum list installed kernel-uek
Loaded plugins: ulninfo
Installed Packages
kernel-uek.x86_64 3.8.13-55.1.6.el7uek @anaconda/7.1
kernel-uek.x86_64 3.8.13-118.2.1.el7uek @ol7_UEKR3
kernel-uek.x86_64 4.14.35-1902.8.4.el7uek @ol7_UEKR5
[root@racnode1 yum.repos.d]#

Reboot the server, and check the upgrading is successful.

[root@racnode1 yum.repos.d]# reboot
login as: root
root@192.168.78.51's password:
Last login: Mon Jan 6 11:03:51 2020 from 192.168.78.1
[root@racnode1 ~]# uname -r
4.14.35-1902.8.4.el7uek.x86_64
[root@racnode1 ~]# cat /etc/system-release
Oracle Linux Server release 7.7
[root@racnode1 ~]#

Uninstall the old kernel(s)

[root@racnode1 ~]# yum list installed kernel*
Loaded plugins: ulninfo
Installed Packages
kernel.x86_64              3.10.0-229.el7            @anaconda/7.1
kernel.x86_64              3.10.0-327.el7            @ol7_latest
kernel.x86_64              3.10.0-1062.9.1.el7       @ol7_latest
kernel-devel.x86_64        3.10.0-229.el7            @ol7_latest
kernel-devel.x86_64        3.10.0-327.el7            @ol7_latest
kernel-devel.x86_64        3.10.0-1062.9.1.el7       @ol7_latest
kernel-headers.x86_64      3.10.0-1062.9.1.el7       @ol7_latest
kernel-tools.x86_64        3.10.0-1062.9.1.el7       @ol7_latest
kernel-tools-libs.x86_64   3.10.0-1062.9.1.el7       @ol7_latest
kernel-uek.x86_64          3.8.13-55.1.6.el7uek      @anaconda/7.1
kernel-uek.x86_64          3.8.13-118.2.1.el7uek     @ol7_UEKR3
kernel-uek.x86_64          4.14.35-1902.8.4.el7uek   @ol7_UEKR5
kernel-uek-devel.x86_64    3.8.13-118.2.1.el7uek     @ol7_UEKR3
kernel-uek-devel.x86_64    4.14.35-1902.8.4.el7uek   @ol7_UEKR5
kernel-uek-firmware.noarch 3.8.13-55.1.6.el7uek      @anaconda/7.1
kernel-uek-firmware.noarch 3.8.13-118.2.1.el7uek     @ol7_UEKR3

kernel.x86_64,  3.8.13 and 3.10.0  are no longer required, so they can be deleted. YUM will skip the currently running kernel, so we can use below command to uninstall the unwanted kernels.

[root@racnode1 ~]# yum remove kernel*
[root@racnode1 ~]# yum list installed kernel*
Loaded plugins: ulninfo
Installed Packages
kernel-uek.x86_64 4.14.35-1902.8.4.el7uek @ol7_UEKR5
[root@racnode1 ~]#

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.