Search

Top 60 Oracle Blogs

Recent comments

Little things worth knowing: the latest public-yum-ol7.repo configuration file enables an upgrade to UEK R5

For a little while now I have been using Ansible for all installation/configuration tasks I do in the lab. I can’t really be bothered to do these things by typing commands anymore: once you get the hang of Ansible, you can develop an urge to automate everything. As part of my playbook installing the Oracle database on Oracle Linux, I replace /etc/yum.repos.d/public-yum-ol7.repo with the current version from Oracle’s server to make sure I have the latest and greatest software available.

This step is not needed outside playground/lab environments. For “real” deployments you would use a repository file provisioned during build time, pointing to your local Spacewalk/Satellite/insert favourite tool server. I should briefly point out this is my lab system and I’m perfectly happy to point yum at Oracle’s public YUM servers. If this were a system outside my own lab I’d of course use proper channels to maintain software releases on my  servers. These however are outside the scope of this post.

The setup

I haven’t downloaded the latest Oracle Linux 7.6 ISO yet so I’m starting off on Oracle Linux 7.4 with Kernel UEK 4. I know, it’s a looooong upgrade. Here is my current configuration:

[root@server4 ~]# cat /etc/os-release
NAME="Oracle Linux Server"
VERSION="7.4"
ID="ol"
VERSION_ID="7.4"
PRETTY_NAME="Oracle Linux Server 7.4"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:7:4:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://bugzilla.oracle.com/"
ORACLE_BUGZILLA_PRODUCT="Oracle Linux 7"
ORACLE_BUGZILLA_PRODUCT_VERSION=7.4
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=7.4

[root@server4 ~]# rpm -q kernel-uek
kernel-uek-4.1.12-94.3.9.el7uek.x86_64
[root@server4 ~]#

Oracle’s Unbreakable Enterprise Kernel Release 4 is based on the upstream release 4.1.x. 

Upgrading!

With the latest version of the /etc/yum.repos.d/public-yum-ol7.repo in place I upgrade the freshly provisioned system – after it has been created using virt-install and my kickstart file – to “latest” using yum upgrade …

A little later, when the system was upgraded and my prompt returned, I rebooted the VM. When it came up, I was a little surprised to see a change in kernel version:

[root@server4 ~]# reboot
Connection to server4 closed by remote host.
Connection to server4 closed.
[martin@server1 ~]$
[martin@server1 ~]$ ssh root@server4
root@server4's password:
Last login: Sat Dec 15 12:16:38 2018 from 192.168.100.1
[root@server4 ~]# uname -r
4.14.35-1818.5.4.el7uek.x86_64
[root@server4 ~]#

So what happened? First of all, I have 2 UEK kernels on my system now. 

[root@server4 ~]# rpm -qi kernel-uek
Name : kernel-uek
Version : 4.1.12
Release : 94.3.9.el7uek
Architecture: x86_64
Install Date: Thu 13 Dec 2018 19:17:37 GMT
Group : System Environment/Kernel
Size : 160287394
License : GPLv2
Signature : RSA/SHA256, Sat 15 Jul 2017 05:06:17 BST, Key ID 72f97b74ec551f03
Source RPM : kernel-uek-4.1.12-94.3.9.el7uek.src.rpm
Build Date : Sat 15 Jul 2017 04:54:05 BST
Build Host : x86-ol7-builder-02.us.oracle.com
Relocations : (not relocatable)
Vendor : Oracle America
URL : http://www.kernel.org/
Summary : The Linux kernel
Description :
The kernel package contains the Linux kernel (vmlinuz), the core of any
Linux operating system. The kernel handles the basic functions
of the operating system: memory allocation, process allocation, device
input and output, etc.
Name : kernel-uek
Version : 4.14.35
Release : 1818.5.4.el7uek
Architecture: x86_64
Install Date: Sat 15 Dec 2018 12:24:50 GMT
Group : System Environment/Kernel
Size : 61690109
License : GPLv2
Signature : RSA/SHA256, Tue 04 Dec 2018 05:22:41 GMT, Key ID 72f97b74ec551f03
Source RPM : kernel-uek-4.14.35-1818.5.4.el7uek.src.rpm
Build Date : Tue 04 Dec 2018 05:12:59 GMT
Build Host : ca-build85.us.oracle.com
Relocations : (not relocatable)
Vendor : Oracle America
URL : http://www.kernel.org/
Summary : Oracle Unbreakable Enterprise Kernel Release 5
Description :
The kernel package contains the Linux kernel (vmlinuz), the core of any
Linux operating system. The kernel handles the basic functions
of the operating system: memory allocation, process allocation, device
input and output, etc.
[root@server4 ~]#

The first entry in the list – 4.1.12 – is UEK R4 whilst the second – 4.14.35 – is UEK R5. This can easily be explained looking at the enabled repositories:

[root@server4 ~]# yum repolist
Loaded plugins: ulninfo
repo id repo name status
ol7_UEKR5/x86_64 Latest Unbreakable Enterprise Kernel Release 5 for Oracle Linux 7Server (x86_64) 115
ol7_latest/x86_64 Oracle Linux 7Server Latest (x86_64) 11,708
repolist: 11,823

When comparing with another Oracle Linux 7.4 installation using the stock public-yum-ol7.repo I can see this instead:

[root@rac18pri1 ~]# yum repolist
Loaded plugins: ulninfo
repo id repo name status
ol7_UEKR4/x86_64 Latest Unbreakable Enterprise Kernel Release 4 for Oracle Linux 7Server (x86_64) 124
ol7_latest/x86_64 Oracle Linux 7Server Latest (x86_64) 11,708
repolist: 11,832

While I appreciate being upgraded to the latest kernel automatically, there might be people out there who don’t. The good news is that my system still had the ability to boot to UEK R4 should I need to:

https://martincarstenbach.files.wordpress.com/2018/12/181214-boot-screen... 150w, https://martincarstenbach.files.wordpress.com/2018/12/181214-boot-screen... 300w" sizes="(max-width: 719px) 100vw, 719px" />
This figure shows the interactive boot menu after the UEK R5 update with UEK R5 highlighted as the default kernel

If you have to go back to UEK R4, you might be able to change the default entry back to UEK R4, reboot, and see what happens. .