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 ~]#