X

News, tips, partners, and perspectives for the Oracle Linux operating system and upstream Linux kernel work

Modularizing the Oracle Linux Yum Server Repository Configurations: Breaking Up is Hard to Do

TL;DR: Oracle Linux yum server changes - Action Required After 18-JAN-2019

Beginning on 18 January 2019:

  • the existing repo files (public-yum-ol7.repo and public-yum-ol6.repo) for yum.oracle.com will no longer be updated, in favor of smaller repo files that are more targeted in scope
  • running a yum update on an Oracle Linux 6 or Oracle Linux 7 system will automatically install .repo files relevant to your system
  • it will be easier to enable specific repositories for Oracle Linux yum server and to keep your yum repository definitions up to date
  • to complete the transition from the legacy .repo file you must run the script: /usr/bin/ol_yum_configure.sh after it is installed.
 

Background

Since launching Oracle Linux yum server more than 9 years ago, we’ve added quite a bit of software. From free updates and errata for Oracle Linux, to Oracle Container Runtime for Docker, Container Services for use with Kubernetes to Python, Node.js and PHP with corresponding connectors for Oracle Database.

As we continued to add new packages over the years, we simply added more repository definitions to our single yum repo file, turning it into a bit of a monolith. In hindsight, we could have planned this a little better.

But let’s not dwell on the past. On January 18, 2019 we will publish release RPMs in the _latest repository that deliver separate, smaller repo files. This change will simplify installing new software from Oracle Linux yum server and keeping repository definitions up to date.

 

New Release RPMs for Oracle Linux 7 and Oracle Linux 6

As part of this change, the following RPMs will be published on Oracle Linux yum server.

RPM Description
oraclelinux-release-el7, oraclelinux-release-el6 Oracle Linux, UEK & Virtualization tools
oraclelinux-patchonly-release-el7, oraclelinux-patchonly-release-el6 Oracle Linux patch repositories (for Oracle Cloud Infrastructure customers only)
oracle-softwarecollection-release-el7, oracle-softwarecollection-release-el6 Software Collection Library for Oracle Linux
oracle-openstack-release-el7, oracle-openstack-release-el6 Oracle OpenStack for Oracle Linux
oracle-spacewalk-server-release-el7, oracle-spacewalk-server-release-el6 Spacewalk Server
oracle-spacewalk-client-release-el7, oracle-spacewalk-client-release-el6 Spacewalk Client
oracle-gluster-release-el7, oracle-gluster-release-el6 Gluster Storage
oracle-ceph-release-el7 Ceph Storage
oracle-release-el7, oracle-release-el6 Oracle Instant Client
oracle-epel-release-el7 EPEL for Oracle Linux
oraclelinux-developer-release-el7, oraclelinux-developer-release-el6 Packages for Developers and Oracle Cloud Infrastructure
mysql-release-el7, mysql-release-el6 MySQL Community releases
oracle-golang-release-el7 Stable releases of the Go programming language
oracle-php-release-el7, oracle-php-release-el6 Stable PHP releases
oracle-nodejs-release-el7, oracle-nodejs-release-el6 Stable Node.js releases
 

Once these changes take effect, use the following command to see an up to date list of installed and available release packages:

yum list *release-el7
 

What This Means

Rather than using a single repo file with definitions for all RPMs on Oracle Linux yum server, these release RPMs let you configure and update repositories for exactly the RPMs you are interested in. Only interested in Oracle Linux 7 with EPEL? Simply install epel-release-el7 (oraclelinux-release-el7 is already there on your system and will automatically be updated if needed). Let’s suppose we release Node.js 11 at some point in the future. Previously, to install Node.js 11, we’d ask you to re-download public-yum-ol7.repo and enable the Node.js repo. Using these release RPMs, you’ll run: yum update nodejs-release-el7. These commands will leave you with a repo file for Oracle Linux, one for Unbreakable Enterprise Kernel and one for EPEL or Node.js, as the case may be.

These change do not affect any user created or custom .repo files under /etc/yum.repos.d/.

 

What You Need to Do

For those running Oracle Linux releases or images released after January 18 2019 —whether on premises or in Oracle Cloud Infrastructure— without a monolithic public-yum-ol7.repo or public-yum-ol6.repo file, you will not have to do anything. Simply install the release RPM you are interested in and yum repo files will be configured accordingly. If you have a “legacy system” with a monolithic .repo file, you must complete the transition by running a script. This is so that can be sure we don’t disable previously enabled repositories, resulting in unexpected behavior.

 

For Legacy Oracle Linux Installations With a public-yum-ol7.repo or public-yum-ol6.repo file

Most of you will fall into this category. If you update an existing oraclelinux-release-el7 package or install one of the new release RPMs, new repo files will be placed into /etc/yum/repos.d/ but they will be disabled via a .disabled extension. Note that a simple yum update may trigger oraclelinux-release-el7 being updated. A script, /usr/bin/ol_yum_configure.sh will be installed. Run this script to complete the transition to the new Oracle Linux yum server experience.

To complete the yum configuration, run the following as the root user:

/usr/bin/ol_yum_configure.sh
 

For New Systems without an existing public-yum-ol7.repo file

If your system is already configured to use the release RPM-based yum configuration approach, there are no extra actions required. Simply install a release RPM based on what you are interested in:

yum list *release-el7*
 

To confirm whether your system follows the new approach, confirm that either oraclelinux-release-el7 or oraclelinux-release-el6 is installed:

 
rpm -q oraclelinux-release-el7
oraclelinux-release-el7-1-1.el7.noarch
 

Conclusion

While breaking up can be hard to do, in the long run you will find it makes installing and updating software from Oracle Linux yum server easier. See the Oracle Linux documentation for more details. Also, if you have any questions about these changes or anything else related to Oracle Linux, come find us and other Oracle Linux experts in the Oracle Developer Community.

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.