Resolving IBM Repository Paths for YUM installer

Resolving IBM Repository Paths for YUM installer

Overview

In 2022, IBM i migrated from a single repository to a multi-repository setup for installing and upgrading open source packages. IBM i stores the paths for these repositories in files under /QOpenSys/etc/yum/repos.d/. Originally ibm.repo was the only file used, but IBM has since moved to using ibmi-base and ibmi-release files as well, to point at the different repositories relevant to installing and updating open source packages.

The Three Repository Files

  1. ibm.repo - Points to the repo/ path, which is now outdated;

  2. ibmi-base.repo - Should point to repo-base-7.3, which is the new base going forward (it was released during 7.3);

  3. ibmi-release.repo - Is based on your current OS version and picks up updates that follow repo-base-7.3.

IBM i checks the repository paths from any file that contains enabled=1, in top-down order. That order can be seen with the following command:

yum repolist -v

Example output:

-bash-5.2$ yum repolist -v Config time: 0.008 Yum Version: 3.4.3 Setting up Package Sacks pkgsack time: 0.002 Repo-id : ibmi-base Repo-name : IBM i base Repo-revision: 1749593573 Repo-updated : Tue Jun 10 18:13:19 2025 Repo-pkgs : 657 Repo-size : 2.1 G Repo-baseurl : https://public.dhe.ibm.com/software/ibmi/products/pase/rpms/repo-base-7.3/ Repo-expire : 21600 second(s) (last: Fri Jun 13 19:53:45 2025) Repo-excluded: 316 Repo-filename: ///QOpenSys/etc/yum/repos.d/ibmi-base.repo Repo-id : ibmi-release Repo-name : IBM i 7.5 Repo-revision: 1712153157 Repo-updated : Wed Apr 3 10:05:58 2024 Repo-pkgs : 1 Repo-size : 8.0 k Repo-baseurl : https://public.dhe.ibm.com/software/ibmi/products/pase/rpms/repo-7.5/ Repo-expire : 21600 second(s) (last: Fri Jun 13 19:53:47 2025) Repo-excluded: 1 Repo-filename: ///QOpenSys/etc/yum/repos.d/ibmi-release.repo repolist: 658

Problem

Sometimes the ibmi-base.repo file does not get updated to set its baseurl to …repo-base-7.3/. If an IBM i does not have a current version of Node.js and this path is not set up correctly, the yum install process looks in the wrong repository for Node.js and the install fails.

Solution

  1. Open the repository directory so the file can be edited:

    wrklnk '/QOpenSys/etc/yum/repos.d/'
  2. Set the baseurl in ibmi-base.repo to the correct IBM repository. The file should look like this:

    ibmi-base.repo

    [ibmi-base] name=IBM i base baseurl=https://public.dhe.ibm.com/software/ibmi/products/pase/rpms/repo-base-7.3/ enabled=1 gpgcheck=0 skip_if_unavailable=1
  3. Clear and rebuild the yum cache, then install the Node.js version you need:

    yum clean all yum makecache yum install nodejs22

Substitute the Node.js version required by the Profound.js release you are installing (see Installing Node.js for IBM i).

Further Reading

  1. Everything you need to know about the new IBM i RPM repositories;

  2. yum-config-manager man page.