This is a blog series designed to help people starting out with Slackware, or just considering it, be able to use it to their fullest extent, presented in a beginner-friendly manner.
One of the common criticism towards Slackware is that its method of package management is archaic and unintuitive by the standards of most modern distros. This claim is somewhat debatable. The default package manager, slackpkg, works fine for managing the official packages, but that only accounts for what comes on the Slackware install media (granted, that's approx. 15GB worth of packages, but still not much).
The disadvantage of slackpkg is that it doesn't automatically resolve dependencies on packages, like something like apt or dnf would.
Of course, third-party package managers exist, most notably one that I've covered on this very blog: sbopkg. This package manager enables you to install, remove, and otherwise manage packages from the SlackBuilds.org (SBo) repository, which utilizes special build scripts to compile a large variety of packages from source, similar in concept to FreeBSD's ports system and the Arch User Repository (AUR).
sbopkg even offers a rudimentary form of automatic dependency resolution in the form of a supplementary program known as sqg, which comes bundled into the sbopkg package. sqg generates a queue of packages, including dependencies, that can be loaded into sbopkg and installed as normal.
Aside from sbopkg, other third-party package managers exist, such as slapt-get, which manages the official packages, but with automatic dependency resolution, and is complemented by slapt-src, which manages SBo packages.
This bundle of programs even allows you to add new repos to install packages from.
But what if you could take the features of the best package managers on Slackware, and combine them into one package manager to rule them all?
That's where the subject of today's blog entry, slpkg, comes in.
Automatic dependency resolution.
Ability to add new repos, both binary- and source-based.
Manages both the official packages and any third-party package you can throw at it.
Easy syntax and plenty of useful command options.
All of these are qualities present in slpkg. For these reasons and more, slpkg is easily one of the best possible tools for someone who wants easy package management on Slackware, singlehandedly putting the distro into a class of user-friendliness not too dissimilar from more popular distros like Fedora and Arch.
With this long-winded preamble out of the way, let's actually get to installing and using slpkg.
INSTALLING AND USING SLPKG
The slpkg package is available from the SlackBuilds.org (SBo) repository, meaning it can easily be installed using sbopkg. However, the slpkg package requires some Python dependencies, and while you could go and manually add each one to a queue in definitive order, it's better to work smarter, not harder, and use the following terminal command (as root, not with sudo):
sqg -p slpkg
followed by:
sbopkg -i slpkg
and typing q when prompted instead of p so as to install from the queuefile generated by sqg.
Once it's installed, you would be wise to view and most likely edit slpkg's configuration file in order to ensure you're using the right repositories.
To enable and disable certain repositories, point your favorite editor to
/etc/slpkg/repositories.toml
This will open up a configuration file where you can choose what repos to install from. For example, since I'm on Slackware -current instead of the stable release, 15.0, I'm using the SBo mirror run by ponce as my default repo, since the main SBo repo only supports stable releases, so ponce added some patches to enable packages to build on Slackware -current.
In this file, you'll also find some repos for alternative desktop environments for Slackware, most of which I mentioned in a previous entry.
Select whatever repos you like (if you wish to use SlackBuilds on your system, make note of what version of Slackware you're on. If you're on current, use the ponce repo, and if you're on 15.0, use the regular SBo repo), and then type slpkg update to add the new repos and pull down any updates that are available.
From here, you can just type slpkg to be presented with a list of common options and arguments for slpkg, and you can figure out the rest, and start installing packages!
CONCLUSION
I hope using slpkg can make Slackware easier to use for some of you out there, and maybe it can even get some that are on the fence about Slackware to give it a shot. As always, I must stress that this blog should not be your sole source of Slackware info, as the LinuxQuestions forum and SlackDocs wiki provide plenty of useful information for anyone hoping to use Slackware.
Of course, none of this information would be out there if it wasn't for Slackware existing, and if you have the means to do so, you can help the project keep existing through the various official means of donating.
The main Slackware project run by Patrick Volkerding offers the following ways of offering financial support:
Official Slackware Patreon
Patrick Volkerding's PayPal
Official Slackware Cafepress Store #1 (flippy design)
Official Slackware Cafepress Store #2 (classic design)
Official Slackware Patreon
Patrick Volkerding's PayPal
Official Slackware Cafepress Store #1 (flippy design)
Official Slackware Cafepress Store #2 (classic design)
And the Slackware ARM project, maintained by Stuart Winter, has the following as well:
Official Slackware ARM Patreon
Stuart Winter's PayPal
Hopefully you learned something, and I'll see you soon enough.
Comments
Displaying 0 of 0 comments ( View all | Add Comment )