Keeping Current WIth KSlackCheck

Unlike many other distros, Slackware does not come with a simplified package updating system to download the latest packages. Home users and server admins instead check the Slackware changelogs and security lists to keep up with current packages, then download and install them manually. Over time, however, some users have put together their own scripts and packages to simplify the process. There are a few available, but the lastest version of KSlackCheck has just been released to support Slackware 10.1 and I figured it was about time I tried it out.

Slackware development is spread across a few different versions, resulting in separate changelogs and security/package updates for each. In addition, there is a “current” version where the most up-to-date packages can be found. KSlackCheck, through a KDE GUI app, pulls the changelogs and package lists to compare with your current system and let you know what updates you may need. If you are running without a GUI, there’s an ncurses version of the package as well. Installation of KSlackCheck is, of course, from a Slackware package.

Upon first running Kslackcheck, you’re prompted for your choice of language: English or Italian. Next you’re asked which changelog you want to view: 9.1, 10, 10.1, or current. While the language preference is only requested once, the version request has popped up on every visit. I thought this might be irritating at first, but I realized it works out as I can check the 10.1 and current logs at will on my 10.0 system.

The first time I ran the software it promptly displayed the selected changelog. Subsequent uses advised me the changelog had not been updated, but asked if I would like to view the changelog anyway.

The last segment is the coolest: once you hit OK and move beyond the changelog, you are asked if you want to download updated packages. Available packages for your chosen version that are newer than what’s on your system are displayed (following a brief reminder that you should be aware of what you’re downloading and the impact it can have on your system). KSlackCheck does not install the packages, but you can pick and choose the packages you need. KSlackCheck then calls KGet and you can select the download location. Packages are downloaded to ~/.kslackcheck2.3/version#/ by default.

While it’s not integrated into the GUI, KSlackCheck supports a blacklisting feature. In looking in the subdirectory for your chosen version number, there’s a file called blacklist. Open it with your editor of choice and you’ll be able to list by name any packages you do not want KSlackCheck to handle. For example, if you build a package from source yourself due to special compilation options, the blacklist will keep KSlackCheck from displaying/downloading that package.

So far I’ve updated a handful of packages on the laptop and haven’t had any problems. I’m going to install it on my Slackware servers and see how the ncurses version behaves. If it goes well, I’m going to be a very happy admin. GUI improvements might include separate tabs to display the changelog and updated packages (rather than having to go through one to get to the other) and a click-to-blacklist option, but in general this is a very handy tool.