IBM Repositories¶
IBM provides a set of repositories to use with yum. Previously, there was one repo called “ibm” pointing here. Since the end of 2021, this repo has been deprecated and obsoleted by the repos provided by the ibmi-repos package.
The ibmi-repos package is now required by yum and contains two repos:
ibmi-release
ibmi-base
The ibmi-release repo points to a release-specific directory. Depending on what IBM i version you are running, the repo will dynamically determine the correct path use. This repo will contain rpms which are applicable to that specific release.
The ibmi-base repo will contain packages which are applicable to all releases supported by that repo (ie. there’s a minimum release). Over time, this repo will change as older IBM i releases go out of support and a new minimum release base repo is created.
Since August 18 2022, IBM i 7.3+ systems will see an ibmi-repos update in the ibmi-release repo. This update changes the ibmi-base repo URL from the old 7.2+ repo to the new 7.3+ repo.
IBM i 7.2 users are unaffected, since the 7.2 ibmi-release repo does not have the update. Users still on IBM i 7.2 can continue using the old repo (and systems can still be bootstrapped using the 7.2 bootstrap), however there will be no more updates to 7.2 packages - security or otherwise. Users still on IBM i 7.2 are encouraged to update to IBM i 7.3 or newer, supported release.
Transition¶
Since December 2021, any system using a current bootstrap will start with the ibmi-repos package installed. Any system set up using a prior bootstrap will not have the ibmi-repos package and will instead have an ibm.repo file. See the FAQs below for how to deal with the old repo file.
FAQs¶
Why are you making this change?¶
By providing the IBM repos in an rpm, it allows us to push out updates to our repo files using the same yum update mechanism.
Some examples of changes may include:
The path to repo needs to change
The protocol changes (FTP -> HTTPS)
We start signing our repo metadata
etc
Why are you adding a new ibm-base repo instead of updating the existing repo?¶
Because ibm.repo is not tracked by rpm, it becomes tricky to take over ownership of the file by rpm while preventing any local modifications from being overwritten while also being a seamless transition for users. By providing a new repo file, all users will immediately get access to the new repo because there are no conflicts with existing repo files. This also allowed us to give the repo a more meaningful name.
What if I’ve deleted or disabled the ibm repo file?¶
Because the ibmi-repos package ships new repo files, the existing repo file is unaffected. However, the new repos will be enabled by default. You can disable them using yum-config-manager --disable ibmi-base ibmi-release
Note that the new repo files are shipped with skip_if_unavailable=1
set. This means that if you’ve disabled the ibm repo because your system does not have internet access, these repo files will not cause yum failures, but only warnings like
https://public.dhe.ibm.com/software/ibmi/products/pase/rpms/repo-7.4/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
What if I’ve made changes to the existing ibm repo file?¶
Because the ibmi-repos package ships new repo files, the existing repo file is unaffected. It is recommended to rename the ibm.repo and disable the new repos with yum-config-manager --disable ibmi-base ibmi-release
or manually apply your changes to the new repo files.
What happens if I make changes to the new ibmi-base or ibmi-release repos?¶
Both of these files are marked as special config files inside rpm, which means that rpm will detect if they’ve been modified and if so it will not overwrite them. Instead, you will see a message from yum:
warning: /QOpenSys/etc/yum/repos.d/ibmi-base.repo created as /QOpenSys/etc/yum/repos.d/ibmi-base.repo.rpmnew
It is up to you to look at the .rpmnew file to see what changes have been made and, if applicable, adjust the repo file accordingly.
You said ibm and ibmi-base point to the same location; will that cause any problems?¶
There should not be any problems with both ibm and ibmi-base pointing to the same location. Yum will see two repos providing the same packages and will pick one when it goes to install updates.
Though there should be no problems having them both enabled, it’s recommended that you disable the ibm repo using yum-config-manager --disable ibm
. Once you have verified yum continues to work without it enabled, you can remove it using rm /QOpenSys/etc/yum/repos.d/ibm.repo
.
What should I do with the existing ibm repo file?¶
This repo is no longer needed as the ibmi-base repo supersedes it. It’s recommended that you disable the ibm repo using yum-config-manager --disable ibm
. Once you have verified yum continues to work without it enabled, you can remove it using rm /QOpenSys/etc/yum/repos.d/ibm.repo
.
Can I remove the ibmi-repos package?¶
No, yum has been made to depend on it and yum will prevent removing itself.
If you do not want these new repo files to be enabled, you can disable them using yum-config-manager --disable ibmi-base ibmi-release
.
Will the ACS clone tool work with the new repos?¶
Yes, the ACS clone tool should work with any repository.
Will the ACS yum proxy work with the new repo?¶
Yes, the ACS yum proxy should work with all HTTP-based repositories.