Software updates for open source packages are done through the yum utility. You can use yum directly, or if you prefer, through the Open Source Package Management screen in Access Client Solutions (ACS).

Yum and Environment

Yum will install any dependencies, including additional updates as needed to satisfy the requirements for a package.

This guide will assume you have Yum and the environment for it installed. See How to Set Up the IBM i Open Source Environment if you haven’t.

Updating through ACS

Note that the package management in ACS will require SSH to be running on your IBM i. See the page on How to Configure and Use SSH on IBM i.

From the main window of ACS, select Open Source Package Management from the Tools menu.

ACS package management menu (Linux)

ACS package management menu (Linux)

A window will pop up for authentication information or connecting to your IBM i over SSH. Either a password or SSH key (in OpenSSH format; you must convert PuTTY format keys with PuTTYgen. See the page on SSH for how to convert.) can be used; if you aren’t using an SSH key, then uncheck the box to use one. It will also ask if you’re using a chroot; if you don’t know, you aren’t and can ignore it.

ACS package management login

ACS package management login

If this is your first time connecting to the system, the system will prompt if this is the correct fingerprint for the host. The SSH guide explains in detail, but essentially if the fingerprint changes after this initial confirmation, it will warn you.

ACS package management trust on first use prompt

ACS package management trust on first use prompt

The main window will show the installed packages.

ACS package management installed packages

ACS package management installed packages

Click the available updates tab. Select the packages you want to update (likely all of them, you can select multiple) and click update.

ACS package management updates available

ACS package management updates available

A window will pop open with Yum. Answer yes or no to this screen, and Yum will output its progress.

ACS package management yum window

ACS package management yum window

When finished, you can close this window.

Updating through Yum

Prerequisites

  • Use either QP2TERM or SSH. We strongly recommend SSH.
  • Make sure the Yum environment is on your path.

Updating all packages

yum update

Updating only selected packages

You can specify either a specific package:

yum update rpm

Or you can specify multiple packages:

yum update curl bash

Or you can specify a wildcard to match multiple packages:

yum update "php-*"

Or again, multiple:

yum update python3-* python2-* ca-certificates-mozilla

Packages specified by the yum command will only be pulled in if an older version of the package is already installed; for example, php-* won’t install more PHP packages, only update installed packages (and any install/update anything required to satisfy dependencies for the new version).

Restarting web servers

Previous versions of software, such as PHP, will still be resident in memory until you restart any web servers using it. You can restart web servers from ENDTCPSVR/STRTCPSVR or through the HTTP admin interface on http://your.ibmi.here.example.com:2001/HTTPAdmin (may be different if using SSL).

Troubleshooting

ACS won’t connect.

Make sure your SSH server is running (STRTCPSVR *SSHD) and working, and that the port it’s on (likely 22) is responsive.

There’s a package conflict or unresolvable dependencies

This is usually a sign of incompatible repositories; try disabling ones you’re not using. You can do so by renaming/removing the .repo files in /QOpenSys/etc/yum/repos.d, or through a yum-utils command:

$ yum-config-manager --disablerepo=seiden_stable
$ # then to clean cache
$ yum clean metadata

Rarely, a defective package set may be pushed to a repository (for example, ours or IBM’s) that must be fixed by the repository maintainers themselves.

If you encounter this, please send a list of repositories enabled (files in /QOpenSys/etc/yum/repos.d and the error output from Yum/ACS.