While building a demo environment for an upcoming presentation I noticed an upgrade from UEK 5 to UEK 6 on my Oracle Linux 7 VM. As it turned out, the kernel change has been triggered by an upgrade of oraclelinux-release-el7
RPM. I am a great fan of Oracle’s UEK and the team behind it, so this is a welcome change for me. It might however meet you unprepared, which is why I put this little article together.
Whether or not the contents of my article applies to you depends on your yum configuration, and the source of your packages.
Background
Oracle split the monolithic public-yum.repo
file into more manageable parts a little while ago (see for example my older post here). The bulk of the files in /etc/yum.repos.d
is managed by the aforementioned oraclelinux-release-el7
package:
[opc@simplevm ~]$ rpm -ql oraclelinux-release-el7 /etc/yum.repos.d/oracle-linux-ol7.repo /etc/yum.repos.d/uek-ol7.repo /etc/yum.repos.d/virt-ol7.repo /usr/bin/ol_yum_configure.sh /usr/share/doc/oraclelinux-release-el7 /usr/share/doc/oraclelinux-release-el7/LICENSE [opc@simplevm ~]$
To prove the point I spun up a VM in Oracle Cloud Infrastructure based on the latest Oracle Linux image at the time of writing: Oracle-Linux-7.8-2020.09.23-0. The image is based on Oracle Linux 7.8 with fixes up to September 23rd. It ships with UEK5 4.14.35-1902.306.2.el7uek.x86_64.
The following yum repositories are configured when the machine comes up:
[opc@simplevm ~]$ sudo yum repolist Loaded plugins: langpacks, ulninfo repo id repo name status ol7_UEKR5/x86_64 Latest Unbreakable Enterprise Kernel Release 5 for Oracle Linux 7Server (x86_64) 217 ol7_addons/x86_64 Oracle Linux 7Server Add ons (x86_64) 467 ol7_developer/x86_64 Oracle Linux 7Server Development Packages (x86_64) 1,611 ol7_developer_EPEL/x86_64 Oracle Linux 7Server EPEL Packages for Development (x86_64) 33,126 ol7_ksplice Ksplice for Oracle Linux 7Server (x86_64) 8,957 ol7_latest/x86_64 Oracle Linux 7Server Latest (x86_64) 20,917 ol7_oci_included/x86_64 Oracle Software for OCI users on Oracle Linux 7Server (x86_64) 627 ol7_optional_latest/x86_64 Oracle Linux 7Server Optional Latest (x86_64) 15,257 ol7_software_collections/x86_64 Software Collection Library release 3.0 packages for Oracle Linux 7 (x86_64) 15,366 repolist: 96,545 [opc@simplevm ~]$
The effect of upgrading oraclelinux-release-el7
To cut a long story short let’s update oraclelinux-release-el7:
[opc@simplevm ~]$ rpm -q oraclelinux-release-el7 oraclelinux-release-el7-1.0-12.1.el7.x86_64 [opc@simplevm ~]$ sudo yum upgrade oraclelinux-release-el7 Loaded plugins: langpacks, ulninfo Resolving Dependencies --> Running transaction check ---> Package oraclelinux-release-el7.x86_64 0:1.0-12.1.el7 will be updated ---> Package oraclelinux-release-el7.x86_64 0:1.0-13.1.el7 will be an update --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================== Package Arch Version Repository Size ======================================================================================================================== Updating: oraclelinux-release-el7 x86_64 1.0-13.1.el7 ol7_latest 19 k Transaction Summary ======================================================================================================================== Upgrade 1 Package Total download size: 19 k Is this ok [y/d/N]: y Downloading packages: Delta RPMs disabled because /usr/bin/applydeltarpm not installed. oraclelinux-release-el7-1.0-13.1.el7.x86_64.rpm | 19 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Updating : oraclelinux-release-el7-1.0-13.1.el7.x86_64 1/2 warning: /etc/yum.repos.d/oracle-linux-ol7.repo created as /etc/yum.repos.d/oracle-linux-ol7.repo.rpmnew Cleanup : oraclelinux-release-el7-1.0-12.1.el7.x86_64 2/2 Verifying : oraclelinux-release-el7-1.0-13.1.el7.x86_64 1/2 Verifying : oraclelinux-release-el7-1.0-12.1.el7.x86_64 2/2 Updated: oraclelinux-release-el7.x86_64 0:1.0-13.1.el7 Complete! [opc@simplevm ~]$
Once that’s done, let’s compare the list of enabled repositories:
[opc@simplevm ~]$ sudo yum repolist Loaded plugins: langpacks, ulninfo ol7_UEKR6 | 2.8 kB 00:00:00 ol7_addons | 2.8 kB 00:00:00 ol7_latest | 3.4 kB 00:00:00 ol7_optional_latest | 2.8 kB 00:00:00 (1/2): ol7_UEKR6/x86_64/updateinfo | 52 kB 00:00:00 (2/2): ol7_UEKR6/x86_64/primary_db | 7.6 MB 00:00:00 repo id repo name status ol7_UEKR6/x86_64 Latest Unbreakable Enterprise Kernel Release 6 for Oracle Linux 7Server (x86_64) 174 ol7_addons/x86_64 Oracle Linux 7Server Add ons (x86_64) 467 ol7_developer/x86_64 Oracle Linux 7Server Development Packages (x86_64) 1,611 ol7_developer_EPEL/x86_64 Oracle Linux 7Server EPEL Packages for Development (x86_64) 33,126 ol7_ksplice Ksplice for Oracle Linux 7Server (x86_64) 8,957 ol7_latest/x86_64 Oracle Linux 7Server Latest (x86_64) 20,917 ol7_oci_included/x86_64 Oracle Software for OCI users on Oracle Linux 7Server (x86_64) 627 ol7_optional_latest/x86_64 Oracle Linux 7Server Optional Latest (x86_64) 15,257 ol7_software_collections/x86_64 Software Collection Library release 3.0 packages for Oracle Linux 7 (x86_64) 15,366 repolist: 96,502
If you look carefully you notice the absence of the previously present ol7_UEKR5 repository, which has been replaced by ol7_UEKR6. If you were to upgrade kernel-uek – after all there are more recent 4.14.x kernels out there – you might be surprised:
[opc@simplevm ~]$ sudo yum upgrade kernel-uek Loaded plugins: langpacks, ulninfo Resolving Dependencies --> Running transaction check ---> Package kernel-uek.x86_64 0:5.4.17-2011.7.4.el7uek will be installed --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================== Package Arch Version Repository Size ======================================================================================================================== Installing: kernel-uek x86_64 5.4.17-2011.7.4.el7uek ol7_UEKR6 58 M Transaction Summary ======================================================================================================================== Install 1 Package Total download size: 58 M Installed size: 65 M
Had I hit return at this stage, my system would have upgraded UEK5 to UEK6.
This is exactly the upgrade I would have done, but you might not. UEK Release 6 is still relatively fresh out there, and you should dobule-check if your Oracle software is certified with it. This applies specifically to ASM Filter Driver, ASM Cluster File System (ACFS) and ASMLib. To stick with UEK Release 5 for now you can either change the yum configuration in /etc/yum.repos.d/uek-ol7.repo
or alternatively call yum-config-manager
.
Since I tend to perform all these tasks with Ansible, I simply go with the proven enablerepo/disablerepo attributes:
- name: update all packages (remain on the UEK5 branch) yum: name: '*' state: latest enablerepo: ol7_UEKR5 disablerepo: ol7_UEKR6 update_cache: yes
A similar approach is possible on the command line:
[opc@simplevm ~]$ sudo yum upgrade kernel-uek --enablerepo ol7_UEKR5 --disablerepo ol7_UEKR6 Loaded plugins: langpacks, ulninfo Resolving Dependencies --> Running transaction check ---> Package kernel-uek.x86_64 0:4.14.35-2025.401.4.el7uek will be installed --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================== Package Arch Version Repository Size ======================================================================================================================== Installing: kernel-uek x86_64 4.14.35-2025.401.4.el7uek ol7_UEKR5 53 M Transaction Summary ======================================================================================================================== Install 1 Package Total download size: 53 M Installed size: 58 M Is this ok [y/d/N]: y Downloading packages: Delta RPMs disabled because /usr/bin/applydeltarpm not installed. kernel-uek-4.14.35-2025.401.4.el7uek.x86_64.rpm | 53 MB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : kernel-uek-4.14.35-2025.401.4.el7uek.x86_64 1/1 ... Verifying : kernel-uek-4.14.35-2025.401.4.el7uek.x86_64 1/1 Installed: kernel-uek.x86_64 0:4.14.35-2025.401.4.el7uek Complete! [opc@simplevm ~]$
This way I remained on UEK5.
Summary
By enabling the UEK5 repository while at the same time disabling the UEK6 repository I can remain on the Release 5 branch for now, until my Oracle Linux 7.x systems are generally ready for UEK Release 6.
Happy patching!