To follow on from my PowerWire Open Source on IBM i theme, this time I would like to run through Open Source Package Management with you all.
So, what is Package Management?
Firstly, let us step back and run through how we typically manage our software on the IBM i.
If we had a requirement for additional software, say BRMS (Backup Management software), we would source it from IBM, pay their invoice, and install it via the license programs features. Up until now, this was the same for Open Source features on the IBM i, whether it be Node.js, Python etc. These features were kept current by updates to the PTF group SF99225. All well and good, we included this group in our scheduled fix maintenance procedures.
Going forward, the problem IBM encountered with continuing this maintenance path for Open Source was with dependencies, for example, Node.js might have a dependency on OpenSSL, so this would have to be included in any installation of Node.js. So, IBM no longer package open source software in the form of a PTFs.
Instead, they have moved over to the Linux world way of operating.
Linux uses a utility called the Red Hat Package Manager (RPM) to install software packages.
This is the route IBM now takes to supply IBM i open source software as RPM packages.
Access for Client Solutions
The latest version of IBM i Access Client Solutions, 18.104.22.168, introduced new functionality to help us manage our open source software and all is dependencies.
Your IBM i will need to be at v7.2 or later, to use this feature.
It uses a secure shell connection (SSH) to your server. Make sure this server is running by using the start TCP server command STRTCPSVR *SSHD
Take the Open Source Package Management option, from the Tools menu of ACS and make a connection vis SSH
Accept any secure messages that may appear.
The next screen has three tabs; Installed, Updates and Available.
On our box, we have Nodejs version 8.10 installed, if we need to update this to version 8.11, we use the Updates Available tab to select our requirement.
The package manage will now go away and find all it needs for the new version of Node.
As we can see from the figure above, after checking which dependencies this version of Node requires, that OpenSSL is also required.
Answer the confirmation prompt if you wish to proceed.
The package manager will now chug away finding all the bits for you and confirm all is well.
Node.js is now at version 8.11.3 – job done!
Behind the Scenes
For those of you who noticed, ACS uses a package manager called YUM for the work behind the scenes.
Thankfully, using ACS I didn’t need to know anything about YUM, it handled the job very well.
There are numerous web-sites that explain YUM in a great more detail that I can say in an article like this. Use you favourite search engine for more details!
Hopefully, this article will give you a quick insight in how the new package manager makes life easier for open source packages. Cracking job IBM.
The only reservation I have, is with how this will fit in with organisations existing fix management procedures – time will tell.
If you have any questions on IBM i open source, let me know in the comments below.
Also, please note that everything IBM OSS has been moved to a new repository. The link can be found here.
I’m looking forward to the next round of the i-UG user group meetings this year in the UK, this is at the Mount Hotel in Wolverhampton on 8th November 2018. Full details can be found on the i-UG site here.
Andy Youens is an IBM i consultant/instructor at Milton Keynes, UK-based FormaServe Systems.