Beginning on 18 January 2019:
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.
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
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/.
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.
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
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
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.