Step by Step Upgrade Linux 8.2 to 8.4 (Oracle Enterprise Linux)
In a recent blog, we demonstrated Step by Step Install Linux 8 (OEL) along with Guest Addition, in this article, we will perform Step by Step Upgrade Linux 8.2 to 8.4 (Oracle Enterprise Linux).
To upgrade OEL 8.2 to 8.4, we will be using command-line utility yum on server Linux.
1. Prechecks
1.1: Capture the system’s kernel release, OS version, etc before the upgrade.
[root@DBsGuruN ~]# grubby --default-kernel
/boot/vmlinuz-5.4.17-2011.1.2.el8uek.x86_64
[root@DBsGuruN ~]# grubby --info=ALL | grep kernel=\"
kernel="/boot/vmlinuz-5.4.17-2011.1.2.el8uek.x86_64"
kernel="/boot/vmlinuz-4.18.0-193.el8.x86_64"
kernel="/boot/vmlinuz-0-rescue-611d311fe7b44c74b8fdb2b947ef45f7"
[root@DBsGuruN ~]# uname -a
Linux DBsGuruN.dbsguru.com 5.4.17-2011.1.2.el8uek.x86_64 #2 SMP Mon Apr 20 22:10:46 PDT 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@DBsGuruN ~]# uname -r
5.4.17-2011.1.2.el8uek.x86_64
[root@DBsGuruN ~]# cat /etc/oracle-release
Oracle Linux Server release 8.2
1.2: Validate yum repository on the server. Generally, it’s configured at the time of OS installation. In case missing of the repository, using wget command it can be configured.
[root@DBsGuruN ~]# yum repolist
repo id repo name
ol8_UEKR6 Latest Unbreakable Enterprise Kernel Release 6 for Oracle Linux 8 (x86_64)
ol8_appstream Oracle Linux 8 Application Stream (x86_64)
ol8_baseos_latest Oracle Linux 8 BaseOS Latest (x86_64)
[root@DBsGuruN ~]#
1.3: Validate check-update before upgrade.
[root@DBsGuruN ~]# yum check-update
Last metadata expiration check: 0:05:27 ago on Sat 05 Jun 2021 08:11:06 PM IST.
NetworkManager.x86_64 1:1.30.0-7.0.1.el8 ol8_baseos_latest
NetworkManager-adsl.x86_64 1:1.30.0-7.0.1.el8 ol8_baseos_latest
NetworkManager-bluetooth.x86_64 1:1.30.0-7.0.1.el8 ol8_baseos_latest
NetworkManager-config-server.noarch 1:1.30.0-7.0.1.el8 ol8_baseos_latest
NetworkManager-libnm.x86_64 1:1.30.0-7.0.1.el8 ol8_baseos_latest
NetworkManager-team.x86_64 1:1.30.0-7.0.1.el8 ol8_baseos_latest
NetworkManager-tui.x86_64 1:1.30.0-7.0.1.el8 ol8_baseos_latest
NetworkManager-wifi.x86_64 1:1.30.0-7.0.1.el8 ol8_baseos_latest
NetworkManager-wwan.x86_64 1:1.30.0-7.0.1.el8 ol8_baseos_latest
PackageKit.x86_64 1.1.12-6.0.1.el8 ol8_appstream
PackageKit-command-not-found.x86_64 1.1.12-6.0.1.el8 ol8_appstream
PackageKit-glib.x86_64 1.1.12-6.0.1.el8 ol8_appstream
PackageKit-gstreamer-plugin.x86_64 1.1.12-6.0.1.el8
------------------Trimmed data------------------
webkit2gtk3.i686 2.30.4-1.el8 ol8_appstream
webkit2gtk3-plugin-process-gtk2.x86_64 2.24.4-2.el8_1 @AppStream
webkit2gtk3.x86_64 2.30.4-1.el8 ol8_appstream
webkit2gtk3.x86_64 2.24.4-2.el8_1 @AppStream
webkit2gtk3.x86_64 2.30.4-1.el8 ol8_appstream
webkit2gtk3-plugin-process-gtk2.x86_64 2.24.4-2.el8_1
1.4: Before moving to upgrade OEL 8.2 to OEL 8.4, make sure to shutdown/stop all dependent databases, services, applications, etc. if applicable.
1.5: Take backup before upgrade so you will be free mind, having a backup is a best practice whenever you have change.
2. Upgrade
2.1: Using command yum update -y upgrade all available packages. Take a deep breath and wait for the completion of the upgrade (Install, upgrade, cleanup) which takes generally approx 30-45 minutes to complete the upgrade.
[root@DBsGuruN ~]# yum update -y
Last metadata expiration check: 0:08:21 ago on Sat 05 Jun 2021 08:11:06 PM IST.
Dependencies resolved.
==============================================================================================================================================================================================================
Package Architecture Version Repository Size
==============================================================================================================================================================================================================
Installing:
kernel x86_64 4.18.0-305.3.1.el8_4 ol8_baseos_latest 5.9 M
kernel-core x86_64 4.18.0-305.3.1.el8_4 ol8_baseos_latest 36 M
kernel-devel x86_64 4.18.0-305.3.1.el8_4 ol8_baseos_latest 18 M
kernel-modules x86_64 4.18.0-305.3.1.el8_4 ol8_baseos_latest 28 M
kernel-uek x86_64 5.4.17-2102.201.3.el8uek ol8_UEKR6 62 M
kernel-uek-devel x86_64 5.4.17-2102.201.3.el8uek ol8_UEKR6 17 M
Upgrading:
NetworkManager x86_64 1:1.30.0-7.0.1.el8 ol8_baseos_latest 2.6 M
NetworkManager-adsl x86_64 1:1.30.0-7.0.1.el8 ol8_baseos_latest 141 k
NetworkManager-bluetooth x86_64 1:1.30.0-7.0.1.el8 ol8_baseos_latest 167 k
NetworkManager-config-server noarch 1:1.30.0-7.0.1.el8 ol8_baseos_latest 128 k
------------------Trimmed data------------------
Transaction Summary
==============================================================================================================================================================================================================
Install 42 Packages
Upgrade 1028 Packages
Total download size: 1.2 G
Downloading Packages:
(1/1070): iw-4.14-5.el8.x86_64.rpm 965 kB/s | 90 kB 00:00
(2/1070): setools-console-4.3.0-2.el8.x86_64.rpm 210 kB/s | 42 kB 00:00
(3/1070): libxmlb-0.1.15-1.el8.x86_64.rpm 279 kB/s | 91 kB 00:00
(4/1070): fuse3-3.2.1-12.0.3.el8.x86_64.rpm 609 kB/s | 51 kB 00:00
------------------Trimmed data------------------
python3-dasbus-1.2-2.el8.noarch python3-dnf-plugin-ulninfo-0.3-2.module+el8.4.0+20142+f119a2fa.noarch
python3-pyodbc-4.0.30-2.el8.x86_64 selinux-policy-devel-3.14.3-67.0.1.el8.noarch
setools-console-4.3.0-2.el8.x86_64 unixODBC-2.3.7-1.el8.x86_64
Complete!
[root@DBsGuruN ~]#
2.2: Reboot the server upon completion of the upgrade.
[root@DBsGuruN ~]# reboot
OR
[root@DBsGuruN ~]# shutdown -r now
3. Post validation
3.1: We saw before the upgrade OEL 8.2 Kernel version was 5.4.17-2011.1.2.el8uek.x86_64 and now upgraded to OEL 8.4 with Kernel version 5.4.17-2102.201.3.el8uek.x86_64.
[root@DBsGuruN ~]# grubby --default-kernel
/boot/vmlinuz-5.4.17-2102.201.3.el8uek.x86_64
[root@DBsGuruN ~]# grubby --info=ALL | grep kernel=\"
kernel="/boot/vmlinuz-5.4.17-2102.201.3.el8uek.x86_64"
kernel="/boot/vmlinuz-5.4.17-2011.1.2.el8uek.x86_64"
kernel="/boot/vmlinuz-4.18.0-305.3.1.el8_4.x86_64"
kernel="/boot/vmlinuz-4.18.0-193.el8.x86_64"
kernel="/boot/vmlinuz-0-rescue-611d311fe7b44c74b8fdb2b947ef45f7"
[root@DBsGuruN ~]# uname -a
Linux DBsGuruN.dbsguru.com 5.4.17-2102.201.3.el8uek.x86_64 #2 SMP Fri Apr 23 09:05:57 PDT 2021 x86_64 x86_64 x86_64 GNU/Linux
[root@DBsGuruN ~]# uname -r
5.4.17-2102.201.3.el8uek.x86_64
[root@DBsGuruN ~]# cat /etc/oracle-release
Oracle Linux Server release 8.4
3.2: Validate logs/command-line tool utility while upgrade and post-upgrade.
A. Open OS file /var/log/messages in an editor and review it errors.
B. Using command dmesg will validate any error while upgrade.
C. Use command ss -tulpn to verify network status
[root@DBsGuruN ~]# vi /var/log/messages
[root@DBsGuruN ~]# dmesg | grep -i 'err|warn|cri'
[root@DBsGuruN ~]# ss -tulpn
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 0.0.0.0:41728 0.0.0.0:* users:(("avahi-daemon",pid=963,fd=17))
udp UNCONN 0 0 0.0.0.0:5353 0.0.0.0:* users:(("avahi-daemon",pid=963,fd=15))
udp UNCONN 0 0 192.168.122.1:53 0.0.0.0:* users:(("dnsmasq",pid=1652,fd=5))
udp UNCONN 0 0 0.0.0.0%virbr0:67 0.0.0.0:* users:(("dnsmasq",pid=1652,fd=3))
udp UNCONN 0 0 0.0.0.0:111 0.0.0.0:* users:(("rpcbind",pid=895,fd=5),("systemd",pid=1,fd=37))
udp UNCONN 0 0 [fe80::636d:b514:28b2:1942]%enp0s8:546 [::]:* users:(("NetworkManager",pid=1109,fd=32))
udp UNCONN 0 0 [::]:5353 [::]:* users:(("avahi-daemon",pid=963,fd=16))
udp UNCONN 0 0 [::]:60936 [::]:* users:(("avahi-daemon",pid=963,fd=18))
udp UNCONN 0 0 [::]:111 [::]:* users:(("rpcbind",pid=895,fd=7),("systemd",pid=1,fd=39))
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=1119,fd=5))
tcp LISTEN 0 5 127.0.0.1:631 0.0.0.0:* users:(("cupsd",pid=1123,fd=10))
tcp LISTEN 0 128 127.0.0.1:6010 0.0.0.0:* users:(("sshd",pid=3316,fd=15))
tcp LISTEN 0 5 127.0.0.1:44321 0.0.0.0:* users:(("pmcd",pid=1510,fd=0))
tcp LISTEN 0 5 127.0.0.1:4330 0.0.0.0:* users:(("pmlogger",pid=2250,fd=9))
tcp LISTEN 0 128 0.0.0.0:111 0.0.0.0:* users:(("rpcbind",pid=895,fd=4),("systemd",pid=1,fd=36))
tcp LISTEN 0 32 192.168.122.1:53 0.0.0.0:* users:(("dnsmasq",pid=1652,fd=6))
tcp LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=1119,fd=7))
tcp LISTEN 0 5 [::1]:631 [::]:* users:(("cupsd",pid=1123,fd=9))
tcp LISTEN 0 128 [::1]:6010 [::]:* users:(("sshd",pid=3316,fd=14))
tcp LISTEN 0 5 [::1]:44321 [::]:* users:(("pmcd",pid=1510,fd=3))
tcp LISTEN 0 5 [::1]:4330 [::]:* users:(("pmlogger",pid=2250,fd=10))
tcp LISTEN 0 128 [::]:111 [::]:* users:(("rpcbind",pid=895,fd=6),("systemd",pid=1,fd=38))
3.3: Optionally execute OS command hostnamectl which captures details of machine name, OS version, kernel version, etc.
[root@DBsGuruN ~]# hostnamectl
Static hostname: DBsGuruN.dbsguru.com
Icon name: computer-vm
Chassis: vm
Machine ID: 611d311fe7b44c74b8fdb2b947ef45f7
Boot ID: dfd1b8435c9c4463be798c1ac75e1f13
Virtualization: oracle
Operating System: Oracle Linux Server 8.4
CPE OS Name: cpe:/o:oracle:linux:8:4:server
Kernel: Linux 5.4.17-2102.201.3.el8uek.x86_64
Architecture: x86-64
3.4: Finally it’s time to perform checkout i.e to start all dependent databases, services, applications, etc if applicable.
Click here for Step by Step Install Linux 8 (OEL) along with Enable Guest Addition.
Click here for Step by Step Oracle 12cR2 Binary Installation and Database Creation On Linux.
Click here for How to Enable 64bit option in Oracle Virtual Machine while OS Installation on Window.
This document is just for learning purpose and always validate in the LAB environment first before applying in the LIVE environment.
Hope so you like this article!
Please share your valuable feedback/comments/subscribe and follow us below and don’t forget to click on the bell icon to get the most recent update. Click here to understand more about our pursuit.
Related Articles
- How to Enable PasswordLess SSH login in Linux
- Steps to Install & Configure SNMP in Oracle Linux 7
- Steps to Add and Extend Swap Space in Linux
- Steps To Increase Mount Point Space In Oracle Linux
- Steps to Move ISCSI Target to Another Linux Server