The IBM i finally has Yum! So what is Yum? It’s a Package Manager for RPMs! So what are RPMs? Why should we start using Yum instead of 5733-OPS? I’ll cover these questions and more in this article.
What is Yum? No more PTFs?
Yum is an automatic updater and package installer/remover for rpm systems. It automatically computes dependencies and figures out what things should occur to install packages. It makes it easier to maintain groups of machines without having to manually update each one using rpm. Yum has a plugin interface for adding simple features. Yum can also be used from other python programs via its module interface.
– Yum Trac
What does a package manager like Yum accomplish? It gives the user a convenient command line interface for installing software. In the IBM i world, that software would be software in the PASE environment.
The main feature of Yum is that it handles the software dependencies. Git has many dependencies, for example. Instead of thinking about having to remember to install libssl-dev and the other software that Git depends on, the Yum user can just run yum install git and be done.
What are RPMs?
RPM has a few definitions. In this context, we’re referring to packaged software that is bundled in the RPM format. These are files that use the .rpm extension. The RPM will install the software and its dependencies.
IBM has graciously setup a repository, a place to host IBM i PASE RPMs, for use with Yum. This repository is where Yum downloads and unpacks RPMs.
What about 5733-OPS?
IBM hasn’t officially said anything about the trajectory of 5733-OPS. Maintaining RPM software through Product installations and PTFs is unsustainable. This structure also doesn’t give System Administrators a convenient way to manage any missing dependencies.
IBM won’t be continuing with 5733-OPS, and it is my prediction that it will see it’s End of Life around the end of 2019, since the major deliverables thus far have an EOL at that time. I highly suggest people start using Yum as soon as possible to manage PASE software.
Getting Started with Yum
Jesse Gorzinski’s post does the best job describing how to install Yum. I was going to try to summarize it, but it’s short enough as it is.
Tips & Tricks
Yum and RPM are powerful tools that open up a world of software accessible via the command line. Instead of having to rely on a product, its options, and PTFs, one can now maintain software with a command line interface that is familiar to nearly any *nix user. Imagine being able to offer all the tools that fresh college students expect? BASH, yum, gcc, make, git, nodejs, nginx, all of these and more are available through the new RPM repository offered by IBM. Let’s go over a few tips and tricks that will help us tap into all these tools.
yum install <package> # Install a package
yum remove <package> # Remove a package
yum search <package> # Search for a package
yum list installed # List all installed packages
yum list available # List all available packages
yum list # List all packages
If you feel like you’re about to do a lot of Yum work, the Yum Shell is somewhat handy. It allows you to just type yum commands without the need to tack on Yum. Here’s an example:
Check When RPMs Were Last Updated
yum list installed is handy and will tell you what packages are installed, but what if you what packages are installed and when they were installed? Well, that’s just a simple RPM command:
rpm -qa --last
-q is for query mode, -a is for query all, --last just asks for the last updated time. So what if we want to query a single package’s last update? Just as simple:
rpm -q <package> --last