Overview

This post is more or less notes for moving from CentOS 7.9 to Oracle Linux 7.9 using a script that Oracle kindly provides for the very low low cost of free.

Server Make/Model that is being used in the is article is Dell Inc. PowerEdge T130.

The GitHub repository for the script that converts the CentOS machine into a Oracle Linux machine.

CentOS Stream isn’t supported by this script.

Some Inital Prep

Upgraded the machine using the yum(1) command so CentOS 7 had the latest packages installed. Made sure to reboot afterwards. This was a fresh installation of CentOS 7 that isn’t being used in production.

sudo yum upgrade -y

Obtaining the Script

To obtain the script, I used the raw git user content to pull the centos2ol.sh file from the GitHub repository. This will output it to the current working directory.

I’ve skimmed the script and it’s pretty well written. Kudos to Oracle.

curl https://raw.githubusercontent.com/oracle/centos2ol/main/centos2ol.sh -o centos2ol.sh

Followed the documentation and continued with running the command for running the script. Note that this assumes that the script has been downloaded into my current directory location.

sudo bash centos2ol.sh

I will provide the output from the script as it was run below and do my best to explain it a little. Though at this time, I’ve just decided to post as is and then promply upate the document with the appropriate data.

Script is checks for required packages needed for it to run. These include the following packages:

  • rpm(1)
  • yum(1)
  • curl(1)

Then the script will check the distribution to make sure it’s supported. If I was running something like CentOS 8 Stream it would exit telling me that it’s not supported. If it’s another unsupported linux distrobution, the result will be the same.

Checks to see if the epel-release package needs to be replaced by the Oracle Linux equivilent. If it’s installed, the script will add it to the list of packages that needs to be replaced.

Script will check /var/run/yum.pid to make sure that yum isn’t already in use or being used by another program. If it is, script will exit.

Script will check to see if python2 or python is installed on the OS. For CentOS 8 it will check the /usr/libexec/platform-python path to verify this. We’re upgrading from CentOS 7.9 so. The script wont touch this. This is just provided for general notation.

I will continue to walk through this more. Stay tuned.

Checking for required packages...
Checking your distribution...
package epel-release is not installed
Checking for yum lock...
Checking for required python packages...
Finding your repository directory...
Learning which repositories are enabled...
Repositories enabled before update include:
base
extras
updates
Downloading Oracle Linux yum repository file...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 16402  100 16402    0     0   2456      0  0:00:06  0:00:06 --:--:--  3939
Looking for yumdownloader...
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: linux-mirrors.fnal.gov
 * extras: mirrors.cmich.edu
 * updates: mirror.dal10.us.leaseweb.net
Resolving Dependencies
--> Running transaction check
---> Package yum-utils.noarch 0:1.1.31-54.el7_8 will be installed
--> Processing Dependency: python-kitchen for package: yum-utils-1.1.31-54.el7_8.noarch
--> Processing Dependency: libxml2-python for package: yum-utils-1.1.31-54.el7_8.noarch
--> Running transaction check
---> Package libxml2-python.x86_64 0:2.9.1-6.el7_9.6 will be installed
---> Package python-kitchen.noarch 0:1.1.1-5.el7 will be installed
--> Processing Dependency: python-chardet for package: python-kitchen-1.1.1-5.el7.noarch
--> Running transaction check
---> Package python-chardet.noarch 0:2.2.1-3.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=====================================================================================================================
 Package                        Arch                   Version                         Repository               Size
=====================================================================================================================
Installing:
 yum-utils                      noarch                 1.1.31-54.el7_8                 base                    122 k
Installing for dependencies:
 libxml2-python                 x86_64                 2.9.1-6.el7_9.6                 updates                 247 k
 python-chardet                 noarch                 2.2.1-3.el7                     base                    227 k
 python-kitchen                 noarch                 1.1.1-5.el7                     base                    267 k

Transaction Summary
=====================================================================================================================
Install  1 Package (+3 Dependent packages)

...

Complete!

Output showing the script backing up and removing the old repository files. Also shows it configuring the ol7_latest repository.

Backing up and removing old repository files...
Removing CentOS-specific yum configuration from /etc/yum.conf
Downloading Oracle Linux release package...
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
ol7_UEKR5                                                                                     | 3.0 kB  00:00:00     
ol7_latest                                                                                    | 3.6 kB  00:00:00     
(1/5): ol7_latest/x86_64/group_gz                                                             | 136 kB  00:00:00     
(2/5): ol7_UEKR5/x86_64/updateinfo                                                            | 226 kB  00:00:00     
(3/5): ol7_latest/x86_64/updateinfo                                                           | 3.4 MB  00:00:01     
(4/5): ol7_UEKR5/x86_64/primary_db                                                            |  44 MB  00:00:04     
(5/5): ol7_latest/x86_64/primary_db                                                           |  39 MB  00:00:05     
warning: /tmp/tmp.iAxicewUBZ/oraclelinux-release-el7-1.0-17.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Public key for oraclelinux-release-el7-1.0-17.el7.x86_64.rpm is not installed
(1/3): oraclelinux-release-el7-1.0-17.el7.x86_64.rpm                                          |  22 kB  00:00:00     
(2/3): redhat-release-server-7.9-6.0.1.el7_9.x86_64.rpm                                       |  12 kB  00:00:00     
(3/3): oraclelinux-release-7.9-1.0.9.el7.x86_64.rpm                                           |  63 kB  00:00:05     
Switching old release package with Oracle Linux...
warning: oraclelinux-release-7.9-1.0.9.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
warning: file /etc/yum.repos.d/CentOS-x86_64-kernel.repo: remove failed: No such file or directory
warning: file /etc/yum.repos.d/CentOS-fasttrack.repo: remove failed: No such file or directory
warning: file /etc/yum.repos.d/CentOS-Vault.repo: remove failed: No such file or directory
warning: file /etc/yum.repos.d/CentOS-Sources.repo: remove failed: No such file or directory
warning: file /etc/yum.repos.d/CentOS-Media.repo: remove failed: No such file or directory
warning: file /etc/yum.repos.d/CentOS-Debuginfo.repo: remove failed: No such file or directory
warning: file /etc/yum.repos.d/CentOS-CR.repo: remove failed: No such file or directory
warning: file /etc/yum.repos.d/CentOS-Base.repo: remove failed: No such file or directory
Enabling ol7_latest,ol7_optional_latest which replaces updates
Loaded plugins: fastestmirror
================================================= repo: ol7_latest ==================================================
[ol7_latest]
async = True
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/7Server
baseurl = https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/
cache = 0
cachedir = /var/cache/yum/x86_64/7Server/ol7_latest
check_config_file_age = True
...

Output showing the script configuring the ol7_optional_latest repository.

============================================= repo: ol7_optional_latest =============================================
[ol7_optional_latest]
async = True
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/7Server
baseurl = https://yum.oracle.com/repo/OracleLinux/OL7/optional/latest/x86_64/
cache = 0
cachedir = /var/cache/yum/x86_64/7Server/ol7_optional_latest
check_config_file_age = True
compare_providers_priority = 80
cost = 1000
deltarpm_metadata_percentage = 100
deltarpm_percentage = 
enabled = 1
enablegroups = True
exclude = 
failovermethod = priority
ftp_disable_epsv = False
gpgcadir = /var/lib/yum/repos/x86_64/7Server/ol7_optional_latest/gpgcadir
gpgcakey = 
gpgcheck = True
gpgdir = /var/lib/yum/repos/x86_64/7Server/ol7_optional_latest/gpgdir
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
hdrdir = /var/cache/yum/x86_64/7Server/ol7_optional_latest/headers
...
Installing base packages for Oracle Linux...
Loaded plugins: fastestmirror
No Match for argument: centos-backgrounds
No Match for argument: centos-gpg-keys
No Match for argument: centos-release
No Match for argument: centos-release-cr
No Match for argument: desktop-backgrounds-basic
No Match for argument: centos-release-advanced-virtualization
No Match for argument: centos-release-ansible26
No Match for argument: centos-release-ansible-27
No Match for argument: centos-release-ansible-28
No Match for argument: centos-release-ansible-29
No Match for argument: centos-release-azure
No Match for argument: centos-release-ceph-jewel
No Match for argument: centos-release-ceph-luminous
No Match for argument: centos-release-ceph-nautilus
No Match for argument: centos-release-ceph-octopus
No Match for argument: centos-release-configmanagement
No Match for argument: centos-release-dotnet
No Match for argument: centos-release-fdio
No Match for argument: centos-release-gluster40
No Match for argument: centos-release-gluster41
No Match for argument: centos-release-gluster5
No Match for argument: centos-release-gluster6
No Match for argument: centos-release-gluster7
No Match for argument: centos-release-gluster8
No Match for argument: centos-release-gluster-legacy
No Match for argument: centos-release-messaging
No Match for argument: centos-release-nfs-ganesha28
No Match for argument: centos-release-nfs-ganesha30
No Match for argument: centos-release-nfv-common
No Match for argument: centos-release-nfv-openvswitch
No Match for argument: centos-release-openshift-origin
No Match for argument: centos-release-openstack-queens
No Match for argument: centos-release-openstack-rocky
No Match for argument: centos-release-openstack-stein
No Match for argument: centos-release-openstack-train
No Match for argument: centos-release-openstack-ussuri
No Match for argument: centos-release-opstools
No Match for argument: centos-release-ovirt42
No Match for argument: centos-release-ovirt43
No Match for argument: centos-release-ovirt44
No Match for argument: centos-release-paas-common
No Match for argument: centos-release-qemu-ev
No Match for argument: centos-release-qpid-proton
No Match for argument: centos-release-rabbitmq-38
No Match for argument: centos-release-samba411
No Match for argument: centos-release-samba412
No Match for argument: centos-release-scl
No Match for argument: centos-release-scl-rh
No Match for argument: centos-release-storage-common
No Match for argument: centos-release-virt-common
No Match for argument: centos-release-xen
No Match for argument: centos-release-xen-410
No Match for argument: centos-release-xen-412
No Match for argument: centos-release-xen-46
No Match for argument: centos-release-xen-48
No Match for argument: centos-release-xen-common
No Match for argument: libreport-centos
No Match for argument: libreport-plugin-mantisbt
No Match for argument: libreport-plugin-rhtsupport
No Match for argument: python3-syspurpose
No Match for argument: python-oauth
No Match for argument: rocky-backgrounds
No Match for argument: rocky-gpg-keys
No Match for argument: rocky-logos
No Match for argument: rocky-release
No Match for argument: sl-logos
No Match for argument: yum-rhn-plugin
> > Determining fastest mirrors
ol7_UEKR6                                                                                     | 3.0 kB  00:00:00     
ol7_latest                                                                                    | 3.6 kB  00:00:00     
ol7_optional_latest                                                                           | 3.0 kB  00:00:00     
(1/7): ol7_latest/x86_64/group_gz                                                             | 136 kB  00:00:00     
(2/7): ol7_UEKR6/x86_64/updateinfo                                                            | 492 kB  00:00:00     
(3/7): ol7_optional_latest/x86_64/primary_db                                                  | 5.6 MB  00:00:00     
(4/7): ol7_optional_latest/x86_64/updateinfo                                                  | 1.4 MB  00:00:00     
(5/7): ol7_latest/x86_64/updateinfo                                                           | 3.4 MB  00:00:01     
(6/7): ol7_UEKR6/x86_64/primary_db                                                            |  34 MB  00:00:06     
(7/7): ol7_latest/x86_64/primary_db                                                           |  39 MB  00:00:05     
> --> Running transaction check
---> Package basesystem.noarch 0:10.0-7.el7.centos will be updated
---> Package basesystem.noarch 0:10.0-7.0.1.el7 will be an update
---> Package centos-logos.noarch 0:70.0.6-3.el7.centos will be erased
...
--> Finished Dependency Resolution

=====================================================================================================================
 Package                     Arch           Version                                        Repository           Size
=====================================================================================================================
Installing:
 kernel-uek                  x86_64         5.4.17-2136.305.5.4.el7uek                     ol7_UEKR6           105 M
 oracle-logos                noarch         70.7.0-1.0.7.el7                               ol7_latest          4.7 M
Updating:
 basesystem                  noarch         10.0-7.0.1.el7                                 ol7_latest          4.5 k
 grub2                       x86_64         1:2.02-0.87.0.17.el7_9.7                       ol7_latest           35 k
 grubby                      x86_64         8.28-26.0.7.el7                                ol7_latest           72 k
 initscripts                 x86_64         9.49.53-1.0.1.el7_9.1                          ol7_latest          443 k
 plymouth                    x86_64         0.8.9-0.34.20140113.0.1.el7                    ol7_latest          115 k
Removing:
 centos-logos                noarch         70.0.6-3.el7.centos                            @anaconda/7          22 M
Updating for dependencies:
 grub2-common                noarch         1:2.02-0.87.0.17.el7_9.7                       ol7_latest          733 k
 grub2-efi-x64               x86_64         1:2.02-0.87.0.17.el7_9.7                       ol7_latest          1.1 M
 grub2-pc                    x86_64         1:2.02-0.87.0.17.el7_9.7                       ol7_latest           35 k
 grub2-pc-modules            noarch         1:2.02-0.87.0.17.el7_9.7                       ol7_latest          860 k
 grub2-tools                 x86_64         1:2.02-0.87.0.17.el7_9.7                       ol7_latest          1.8 M
 grub2-tools-extra           x86_64         1:2.02-0.87.0.17.el7_9.7                       ol7_latest          1.0 M
 grub2-tools-minimal         x86_64         1:2.02-0.87.0.17.el7_9.7                       ol7_latest          178 k
 linux-firmware              noarch         999:20211203-999.9.1.gitb0e898fb.el7           ol7_latest          202 M
 plymouth-core-libs          x86_64         0.8.9-0.34.20140113.0.1.el7                    ol7_latest          107 k

Transaction Summary
=====================================================================================================================
Install  2 Packages
Upgrade  5 Packages (+9 Dependent packages)
Remove   1 Package

Total download size: 318 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
warning: /var/cache/yum/x86_64/7Server/ol7_latest/packages/grub2-2.02-0.87.0.17.el7_9.7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Public key for grub2-2.02-0.87.0.17.el7_9.7.x86_64.rpm is not installed
(1/16): grub2-2.02-0.87.0.17.el7_9.7.x86_64.rpm                                               |  35 kB  00:00:00     
(2/16): grub2-common-2.02-0.87.0.17.el7_9.7.noarch.rpm                                        | 733 kB  00:00:00     
(3/16): grub2-efi-x64-2.02-0.87.0.17.el7_9.7.x86_64.rpm                                       | 1.1 MB  00:00:00     
(4/16): grub2-pc-2.02-0.87.0.17.el7_9.7.x86_64.rpm                                            |  35 kB  00:00:00     
(5/16): grub2-pc-modules-2.02-0.87.0.17.el7_9.7.noarch.rpm                                    | 860 kB  00:00:00     
(6/16): grub2-tools-2.02-0.87.0.17.el7_9.7.x86_64.rpm                                         | 1.8 MB  00:00:00     
(7/16): grub2-tools-extra-2.02-0.87.0.17.el7_9.7.x86_64.rpm                                   | 1.0 MB  00:00:00     
(8/16): grub2-tools-minimal-2.02-0.87.0.17.el7_9.7.x86_64.rpm                                 | 178 kB  00:00:00     
(9/16): grubby-8.28-26.0.7.el7.x86_64.rpm                                                     |  72 kB  00:00:00     
(10/16): initscripts-9.49.53-1.0.1.el7_9.1.x86_64.rpm                                         | 443 kB  00:00:00     
(11/16): basesystem-10.0-7.0.1.el7.noarch.rpm                                                 | 4.5 kB  00:00:05     
(12/16): oracle-logos-70.7.0-1.0.7.el7.noarch.rpm                                             | 4.7 MB  00:00:00     
(13/16): plymouth-0.8.9-0.34.20140113.0.1.el7.x86_64.rpm                                      | 115 kB  00:00:00     
(14/16): plymouth-core-libs-0.8.9-0.34.20140113.0.1.el7.x86_64.rpm                            | 107 kB  00:00:00     
Public key for kernel-uek-5.4.17-2136.305.5.4.el7uek.x86_64.rpm is not installed   ]  12 MB/s | 121 MB  00:00:15 ETA 
(15/16): kernel-uek-5.4.17-2136.305.5.4.el7uek.x86_64.rpm                                     | 105 MB  00:00:08     
(16/16): linux-firmware-20211203-999.9.1.gitb0e898fb.el7.noarch.rpm                           | 202 MB  00:04:34     
---------------------------------------------------------------------------------------------------------------------
Total                                                                                1.2 MB/s | 318 MB  00:04:35     
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Importing GPG key 0xEC551F03:
 Userid     : "Oracle OSS group (Open Source Software group) <build@oss.oracle.com>"
 Fingerprint: 4214 4123 fecf c55b 9086 313d 72f9 7b74 ec55 1f03
 Package    : 7:oraclelinux-release-7.9-1.0.9.el7.x86_64 (installed)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
  Updating   : 1:grub2-common-2.02-0.87.0.17.el7_9.7.noarch                                                     1/31 
  Updating   : 1:grub2-tools-minimal-2.02-0.87.0.17.el7_9.7.x86_64                                              2/31 
  Updating   : 1:grub2-tools-2.02-0.87.0.17.el7_9.7.x86_64                                                      3/31 
...

Removed:
  centos-logos.noarch 0:70.0.6-3.el7.centos                                                                          

Installed:
  kernel-uek.x86_64 0:5.4.17-2136.305.5.4.el7uek                oracle-logos.noarch 0:70.7.0-1.0.7.el7               

Updated:
  basesystem.noarch 0:10.0-7.0.1.el7                         grub2.x86_64 1:2.02-0.87.0.17.el7_9.7                  
  grubby.x86_64 0:8.28-26.0.7.el7                            initscripts.x86_64 0:9.49.53-1.0.1.el7_9.1             
  plymouth.x86_64 0:0.8.9-0.34.20140113.0.1.el7             

Dependency Updated:
  grub2-common.noarch 1:2.02-0.87.0.17.el7_9.7            grub2-efi-x64.x86_64 1:2.02-0.87.0.17.el7_9.7             
  grub2-pc.x86_64 1:2.02-0.87.0.17.el7_9.7                grub2-pc-modules.noarch 1:2.02-0.87.0.17.el7_9.7          
  grub2-tools.x86_64 1:2.02-0.87.0.17.el7_9.7             grub2-tools-extra.x86_64 1:2.02-0.87.0.17.el7_9.7         
  grub2-tools-minimal.x86_64 1:2.02-0.87.0.17.el7_9.7     linux-firmware.noarch 999:20211203-999.9.1.gitb0e898fb.el7
  plymouth-core-libs.x86_64 0:0.8.9-0.34.20140113.0.1.el7

Finished Transaction
> Leaving Shell
Updating initrd...
Switch successful. Syncing with Oracle Linux repositories.
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package NetworkManager.x86_64 1:1.18.8-2.el7_9 will be updated
---> Package NetworkManager.x86_64 1:1.18.8-2.0.1.el7_9 will be an update
---> Package NetworkManager-libnm.x86_64 1:1.18.8-2.el7_9 will be updated
---> Package NetworkManager-libnm.x86_64 1:1.18.8-2.0.1.el7_9 will be an update
---> Package NetworkManager-team.x86_64 1:1.18.8-2.el7_9 will be updated
---> Package NetworkManager-team.x86_64 1:1.18.8-2.0.1.el7_9 will be an update
---> Package NetworkManager-tui.x86_64 1:1.18.8-2.el7_9 will be updated
---> Package NetworkManager-tui.x86_64 1:1.18.8-2.0.1.el7_9 will be an update
---> Package NetworkManager-wifi.x86_64 1:1.18.8-2.el7_9 will be updated
...
--> Finished Dependency Resolution

Dependencies Resolved

=====================================================================================================================
 Package                         Arch          Version                              Repository                  Size
=====================================================================================================================
Installing:
 kernel                          x86_64        3.10.0-1160.62.1.el7                 ol7_latest                  50 M
Updating:
 NetworkManager                  x86_64        1:1.18.8-2.0.1.el7_9                 ol7_latest                 1.9 M
 NetworkManager-libnm            x86_64        1:1.18.8-2.0.1.el7_9                 ol7_latest                 1.7 M
 NetworkManager-team             x86_64        1:1.18.8-2.0.1.el7_9                 ol7_latest                 165 k
 NetworkManager-tui              x86_64        1:1.18.8-2.0.1.el7_9                 ol7_latest                 329 k
 NetworkManager-wifi             x86_64        1:1.18.8-2.0.1.el7_9                 ol7_latest                 202 k
 binutils                        x86_64        2.27-44.base.0.3.el7_9.1             ol7_latest                 5.4 M
 btrfs-progs                     x86_64        5.12.1-1.el7                         ol7_UEKR6                  833 k
 chrony                          x86_64        3.4-1.0.1.el7                        ol7_latest                 250 k
 coreutils                       x86_64        8.22-24.0.1.el7_9.2                  ol7_latest                 3.3 M
 curl                            x86_64        7.29.0-59.0.3.el7_9.1                ol7_latest                 272 k
 cyrus-sasl-lib                  x86_64        2.1.26-24.0.1.el7_9                  ol7_latest                 155 k
 dbus                            x86_64        1:1.10.24-15.0.1.el7                 ol7_latest                 245 k
 dbus-libs                       x86_64        1:1.10.24-15.0.1.el7                 ol7_latest                 169 k
 device-mapper                   x86_64        7:1.02.170-6.0.5.el7_9.5             ol7_latest                 297 k
 device-mapper-event             x86_64        7:1.02.170-6.0.5.el7_9.5             ol7_latest                 192 k
 device-mapper-event-libs        x86_64        7:1.02.170-6.0.5.el7_9.5             ol7_latest                 192 k
 device-mapper-libs              x86_64        7:1.02.170-6.0.5.el7_9.5             ol7_latest                 325 k
 dhclient                        x86_64        12:4.2.5-83.0.1.el7_9.1              ol7_latest                 286 k
 dhcp-common                     x86_64        12:4.2.5-83.0.1.el7_9.1              ol7_latest                 176 k
 dhcp-libs                       x86_64        12:4.2.5-83.0.1.el7_9.1              ol7_latest                 133 k
 dmidecode                       x86_64        1:3.2-5.0.1.el7_9.1                  ol7_latest                  82 k
 dracut                          x86_64        033-572.0.9.el7                      ol7_latest                 331 k
 dracut-config-rescue            x86_64        033-572.0.9.el7                      ol7_latest                  62 k
 dracut-network                  x86_64        033-572.0.9.el7                      ol7_latest                 106 k
 e2fsprogs                       x86_64        1.45.4-3.0.5.el7                     ol7_UEKR6                  1.0 M
 e2fsprogs-libs                  x86_64        1.45.4-3.0.5.el7                     ol7_UEKR6                  222 k
 efibootmgr                      x86_64        17-2.0.1.el7                         ol7_latest                  34 k
 expat                           x86_64        2.1.0-14.0.1.el7_9                   ol7_latest                  82 k
 firewalld                       noarch        0.6.3-13.0.1.el7_9                   ol7_latest                 449 k
 firewalld-filesystem            noarch        0.6.3-13.0.1.el7_9                   ol7_latest                  51 k
 gettext                         x86_64        0.19.8.1-3.el7_9                     ol7_latest                 1.0 M
 gettext-libs                    x86_64        0.19.8.1-3.el7_9                     ol7_latest                 500 k
 glibc                           x86_64        2.17-325.0.1.el7_9                   ol7_latest                 3.6 M
 glibc-common                    x86_64        2.17-325.0.1.el7_9                   ol7_latest                  12 M
 hwdata                          x86_64        0.252-9.7.0.1.el7                    ol7_latest                 2.5 M
 iproute                         x86_64        5.12.0-1.0.3.el7                     ol7_UEKR6                  727 k
 iptables                        x86_64        1.4.21-35.0.1.el7                    ol7_latest                 432 k
 irqbalance                      x86_64        3:1.0.8-2.el7                        ol7_latest                  44 k
 iwl100-firmware                 noarch        999:39.31.5.1-999.9.1.el7            ol7_latest                 153 k
 iwl1000-firmware                noarch        999:39.31.5.1-999.9.1.el7            ol7_latest                 216 k
 iwl105-firmware                 noarch        999:18.168.6.1-999.9.1.el7           ol7_latest                 237 k
 iwl135-firmware                 noarch        999:18.168.6.1-999.9.1.el7           ol7_latest                 246 k
 iwl2000-firmware                noarch        999:18.168.6.1-999.9.1.el7           ol7_latest                 240 k
 iwl2030-firmware                noarch        999:18.168.6.1-999.9.1.el7           ol7_latest                 249 k
 iwl3160-firmware                noarch        999:22.0.7.0-999.9.1.el7             ol7_latest                 1.7 M
 iwl3945-firmware                noarch        999:15.32.2.9-999.9.1.el7            ol7_latest                  91 k
 iwl4965-firmware                noarch        999:228.61.2.24-999.9.1.el7          ol7_latest                 105 k
 iwl5000-firmware                noarch        999:8.83.5.1_1-999.9.1.el7           ol7_latest                 297 k
 iwl5150-firmware                noarch        999:8.24.2.2-999.9.1.el7             ol7_latest                 150 k
 iwl6000-firmware                noarch        999:9.221.4.1-999.9.1.el7            ol7_latest                 170 k
 iwl6000g2a-firmware             noarch        999:17.168.5.3-999.9.1.el7           ol7_latest                 313 k
 iwl6000g2b-firmware             noarch        999:17.168.5.2-999.9.1.el7           ol7_latest                 313 k
 iwl6050-firmware                noarch        999:41.28.5.1-999.9.1.el7            ol7_latest                 246 k
 iwl7260-firmware                noarch        999:22.0.7.0-999.9.1.el7             ol7_latest                 8.9 M
 kernel-tools                    x86_64        3.10.0-1160.62.1.el7                 ol7_latest                 8.2 M
 kernel-tools-libs               x86_64        3.10.0-1160.62.1.el7                 ol7_latest                 8.1 M
 kexec-tools                     x86_64        2.0.15-51.0.3.el7_9.3                ol7_latest                 356 k
 kmod                            x86_64        20-28.0.3.el7                        ol7_latest                 125 k
 kmod-libs                       x86_64        20-28.0.3.el7                        ol7_latest                  53 k
 kpartx                          x86_64        0.4.9-135.0.1.el7_9                  ol7_latest                  81 k
 krb5-libs                       x86_64        1.15.1-51.0.1.el7_9                  ol7_latest                 809 k
 libblkid                        x86_64        2.23.2-65.0.3.el7_9.1                ol7_latest                 183 k
 libcom_err                      x86_64        1.45.4-3.0.5.el7                     ol7_UEKR6                   44 k
 libcurl                         x86_64        7.29.0-59.0.3.el7_9.1                ol7_latest                 224 k
 libgcc                          x86_64        4.8.5-44.0.3.el7                     ol7_latest                 103 k
 libgomp                         x86_64        4.8.5-44.0.3.el7                     ol7_latest                 159 k
 libmount                        x86_64        2.23.2-65.0.3.el7_9.1                ol7_latest                 185 k
 libsmartcols                    x86_64        2.23.2-65.0.3.el7_9.1                ol7_latest                 143 k
 libss                           x86_64        1.45.4-3.0.5.el7                     ol7_UEKR6                   48 k
 libstdc++                       x86_64        4.8.5-44.0.3.el7                     ol7_latest                 306 k
 libuuid                         x86_64        2.23.2-65.0.3.el7_9.1                ol7_latest                  84 k
 libxml2                         x86_64        2.9.1-6.0.3.el7_9.6                  ol7_latest                 668 k
 libxml2-python                  x86_64        2.9.1-6.0.3.el7_9.6                  ol7_latest                 247 k
 lvm2                            x86_64        7:2.02.187-6.0.5.el7_9.5             ol7_latest                 1.3 M
 lvm2-libs                       x86_64        7:2.02.187-6.0.5.el7_9.5             ol7_latest                 1.1 M
 microcode_ctl                   x86_64        2:2.1-73.11.0.1.el7_9                ol7_latest                 4.2 M
 mokutil                         x86_64        15.3-1.0.7.el7                       ol7_latest                  44 k
 nss-softokn                     x86_64        3.67.0-3.0.1.el7_9                   ol7_latest                 358 k
 nss-softokn-freebl              x86_64        3.67.0-3.0.1.el7_9                   ol7_latest                 337 k
 numactl-libs                    x86_64        2.0.12-5.0.3.el7                     ol7_latest                  30 k
 openssh                         x86_64        7.4p1-22.0.1.el7_9                   ol7_latest                 510 k
 openssh-clients                 x86_64        7.4p1-22.0.1.el7_9                   ol7_latest                 654 k
 openssh-server                  x86_64        7.4p1-22.0.1.el7_9                   ol7_latest                 459 k
 os-prober                       x86_64        1.58-9.0.1.el7                       ol7_latest                  41 k
 parted                          x86_64        3.1-32.0.1.el7                       ol7_latest                 608 k
 pciutils-libs                   x86_64        3.5.1-3.0.1.el7                      ol7_latest                  46 k
 plymouth-scripts                x86_64        0.8.9-0.34.20140113.0.1.el7          ol7_latest                  38 k
 policycoreutils                 x86_64        2.5-34.0.1.el7                       ol7_latest                 916 k
 polkit                          x86_64        0.112-26.0.1.el7_9.1                 ol7_latest                 170 k
 python                          x86_64        2.7.5-90.0.3.el7                     ol7_latest                  96 k
 python-firewall                 noarch        0.6.3-13.0.1.el7_9                   ol7_latest                 355 k
 python-libs                     x86_64        2.7.5-90.0.3.el7                     ol7_latest                 5.6 M
 python-perf                     x86_64        3.10.0-1160.62.1.el7                 ol7_latest                 8.2 M
 rsyslog                         x86_64        8.24.0-57.0.1.el7_9.2                ol7_latest                 621 k
 selinux-policy                  noarch        3.13.1-268.0.13.el7_9.2              ol7_latest                 499 k
 selinux-policy-targeted         noarch        3.13.1-268.0.13.el7_9.2              ol7_latest                 7.2 M
 shadow-utils                    x86_64        2:4.6-5.0.1.el7                      ol7_latest                 1.2 M
 shim-x64                        x86_64        15.3-1.0.7.el7                       ol7_latest                 479 k
 systemd                         x86_64        219-78.0.7.el7_9.5                   ol7_latest                 5.1 M
 systemd-libs                    x86_64        219-78.0.7.el7_9.5                   ol7_latest                 420 k
 systemd-sysv                    x86_64        219-78.0.7.el7_9.5                   ol7_latest                  98 k
 tuned                           noarch        2.11.0-11.0.1.el7_9                  ol7_latest                 270 k
 util-linux                      x86_64        2.23.2-65.0.3.el7_9.1                ol7_latest                 2.0 M
 vim-minimal                     x86_64        2:7.4.629-8.0.1.el7_9                ol7_latest                 443 k
 xfsprogs                        x86_64        5.4.0-1.0.1.el7                      ol7_UEKR6                  1.0 M
 yum                             noarch        3.4.3-168.0.3.el7                    ol7_latest                 1.2 M
 yum-plugin-fastestmirror        noarch        1.1.31-54.0.1.el7_8                  ol7_optional_latest         34 k
 yum-utils                       noarch        1.1.31-54.0.1.el7_8                  ol7_latest                 122 k
Installing for dependencies:
 fuse-libs                       x86_64        2.9.4-1.0.9.el7                      ol7_latest                  97 k
 iwlax2xx-firmware               noarch        999:20211203-999.9.1.el7             ol7_latest                  11 M
 libzstd                         x86_64        1.4.4-1.el7                          ol7_UEKR6                  259 k

Transaction Summary
=====================================================================================================================
Install    1 Package  (+3 Dependent packages)
Upgrade  108 Packages

Total download size: 180 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/112): NetworkManager-libnm-1.18.8-2.0.1.el7_9.x86_64.rpm                                   | 1.7 MB  00:00:00     
(2/112): NetworkManager-team-1.18.8-2.0.1.el7_9.x86_64.rpm                                    | 165 kB  00:00:00     
(3/112): NetworkManager-tui-1.18.8-2.0.1.el7_9.x86_64.rpm                                     | 329 kB  00:00:00     
(4/112): NetworkManager-wifi-1.18.8-2.0.1.el7_9.x86_64.rpm                                    | 202 kB  00:00:00     
(5/112): binutils-2.27-44.base.0.3.el7_9.1.x86_64.rpm                                         | 5.4 MB  00:00:00     
(6/112): chrony-3.4-1.0.1.el7.x86_64.rpm                                                      | 250 kB  00:00:00     
(7/112): btrfs-progs-5.12.1-1.el7.x86_64.rpm                                                  | 833 kB  00:00:00     
(8/112): coreutils-8.22-24.0.1.el7_9.2.x86_64.rpm                                             | 3.3 MB  00:00:00     
(9/112): curl-7.29.0-59.0.3.el7_9.1.x86_64.rpm                                                | 272 kB  00:00:00     
(10/112): cyrus-sasl-lib-2.1.26-24.0.1.el7_9.x86_64.rpm                                       | 155 kB  00:00:00     
(11/112): dbus-1.10.24-15.0.1.el7.x86_64.rpm                                                  | 245 kB  00:00:00     
(12/112): dbus-libs-1.10.24-15.0.1.el7.x86_64.rpm                                             | 169 kB  00:00:00     
(13/112): device-mapper-1.02.170-6.0.5.el7_9.5.x86_64.rpm                                     | 297 kB  00:00:00     
(14/112): device-mapper-event-1.02.170-6.0.5.el7_9.5.x86_64.rpm                               | 192 kB  00:00:00     
(15/112): device-mapper-event-libs-1.02.170-6.0.5.el7_9.5.x86_64.rpm                          | 192 kB  00:00:00     
(16/112): device-mapper-libs-1.02.170-6.0.5.el7_9.5.x86_64.rpm                                | 325 kB  00:00:00     
(17/112): dhclient-4.2.5-83.0.1.el7_9.1.x86_64.rpm                                            | 286 kB  00:00:00     
(18/112): dhcp-common-4.2.5-83.0.1.el7_9.1.x86_64.rpm                                         | 176 kB  00:00:00     
(19/112): dhcp-libs-4.2.5-83.0.1.el7_9.1.x86_64.rpm                                           | 133 kB  00:00:00     
(20/112): dmidecode-3.2-5.0.1.el7_9.1.x86_64.rpm                                              |  82 kB  00:00:00     
(21/112): dracut-033-572.0.9.el7.x86_64.rpm                                                   | 331 kB  00:00:00     
(22/112): dracut-config-rescue-033-572.0.9.el7.x86_64.rpm                                     |  62 kB  00:00:00     
(23/112): dracut-network-033-572.0.9.el7.x86_64.rpm                                           | 106 kB  00:00:00     
...
---------------------------------------------------------------------------------------------------------------------
Total                                                                                 14 MB/s | 180 MB  00:00:12     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : libgcc-4.8.5-44.0.3.el7.x86_64                                                                  1/220 
  Updating   : nss-softokn-freebl-3.67.0-3.0.1.el7_9.x86_64                                                    2/220 
  Updating   : glibc-common-2.17-325.0.1.el7_9.x86_64                                                          3/220 
  Updating   : glibc-2.17-325.0.1.el7_9.x86_64                                                                 4/220 
  Updating   : coreutils-8.22-24.0.1.el7_9.2.x86_64                                                            5/220 
  Updating   : systemd-libs-219-78.0.7.el7_9.5.x86_64                                                          6/220 
  Updating   : libuuid-2.23.2-65.0.3.el7_9.1.x86_64                                                            7/220 
  Updating   : libcom_err-1.45.4-3.0.5.el7.x86_64                                                              8/220 
...
Complete!
yum-plugin-fastestmirror-1.1.31-54.0.1.el7_8.noarch
Loaded plugins: fastestmirror
Resolving Dependencies
--> Running transaction check
---> Package yum-plugin-fastestmirror.noarch 0:1.1.31-54.0.1.el7_8 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

=====================================================================================================================
 Package                           Arch            Version                       Repository                     Size
=====================================================================================================================
Removing:
 yum-plugin-fastestmirror          noarch          1.1.31-54.0.1.el7_8           @ol7_optional_latest           53 k

Transaction Summary
=====================================================================================================================
Remove  1 Package

Installed size: 53 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : yum-plugin-fastestmirror-1.1.31-54.0.1.el7_8.noarch                                               1/1 
  Verifying  : yum-plugin-fastestmirror-1.1.31-54.0.1.el7_8.noarch                                               1/1 

Removed:
  yum-plugin-fastestmirror.noarch 0:1.1.31-54.0.1.el7_8                                                              

Complete!
Sync successful.
Updating the GRUB2 bootloader.
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.4.17-2136.305.5.4.el7uek.x86_64
Found initrd image: /boot/initramfs-5.4.17-2136.305.5.4.el7uek.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1160.62.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.62.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1160.59.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.59.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-0a3ee1fbc220430eaa5969ffd7502d55
Found initrd image: /boot/initramfs-0-rescue-0a3ee1fbc220430eaa5969ffd7502d55.img
done
Switching default boot kernel to the UEK.
Removing yum cache
Switch complete.
Oracle recommends rebooting this system.

The script recommends a reboot. But, I’ll do that after a few checks.

Post Conversion Testing

This section goes into soem testing to make sure that everything has moved over expectedly.

So far so good. Looks like the oracle-release file has been updated to reflect the new OS version.

cat /etc/oracle-release 
Oracle Linux Server release 7.9

Looks like the os-release file is also showing the new OS. All of the information that tells us what the new OS is is available.

cat /etc/os-release 
NAME="Oracle Linux Server"
VERSION="7.9"
ID="ol"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.9"
PRETTY_NAME="Oracle Linux Server 7.9"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:7:9: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.9
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=7.9

Now I will reboot the server to see if it blows up.

Looks like it did blow up. More information will be provided in the troubleshooting section.

The troubleshooting was successful and the update is booting into the OS consistently across reboots. So, I think everything should be good to go. Though there is more recommended testing on the server before we make that determination.

Using the uname(1) command. I checked the new kernel of the server and it looks like it successfully installed the UEK 5.4.17 kernel. Which also confirms that the script worked as expected.

uname -r
5.4.17-2136.305.5.4.el7uek.x86_64

Nothing else to test at the moment. IF there is anythign that comes to mind. I will make sure to update my notes.

Troubleshooting Log

04-06-2022T23:03:00 - No Boot Disk Found

Issue came up where the server didn’t recognize the disk on boot. This was right after I rebooted the server post running the script. I believe this is related to all of the EFI partition labels I had. Couldn’t find the appropriate one. So, the server failed to boot to the OS.

Little more research is required so I can explain this better.

To resolve the issue I needed to delete all of the boot options that were availailable in the UEFI boot menu of the server and choose the disk again. After removing all of the UEFI labels and choosing the appropriate disk once they were deleted, I was able to boot into Oracle. I have checked and this change resolves the issue across reboots.

Closing Notes

Looks like the system has been migrated/converted to Oracle Linux Server 7.9. The whole purpose behind this was to see if the script that is pushed out by Oracle works as expected. Looks like it does. Performed a system upgrade to the server and it looks like everything is working as expected. We have successfully switched over from CentOS 7.9 to Oracle Linux Server 7.9.

The next steps for this server will probably be upgrading it to Oracle Linux Server 8.