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)
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
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
The main window will show the 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
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
When finished, you can close this window.
Updating through Yum
- Use either
QP2TERM or SSH. We strongly recommend SSH.
- Make sure the Yum environment is on your path.
Updating all packages
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
STRTCPSVR or through the HTTP admin interface on
http://your.ibmi.here.example.com:2001/HTTPAdmin (may be different if using SSL).
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-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.