Slackware 14.1 was released on november 7th, 2013. I’d been waiting for this release. In this post, I’ll explain why, and what I thought of it after installing it and using it for a few days.
Slackware? But why?
Slackware is not the first distribution most people will look at, when looking for a Linux distribution. I’ve been a Slackware user for a long time now. The first version I installed was probably
67 or 7.1 (as ShadowX kindly pointed out in the comments, there is no such thing as Slackware 6.), but I can’t be sure, because that’s a long time ago.
I did run Ubuntu for several years in between. This started with the first or second Ubuntu release (4.10 or 5.02). It looked great. It worked good. It was a beautiful distribution and I was very excited about every new release, which came every 6 months. Then, Canonical’s course with Ubuntu started to cause problems for me. New releases would not run great out-of-the-box. There was the move to PulseAudio that resulted in sound not working, until I could fix that (but nowadays this shouldn’t be an issue — it wasn’t for me in later releases). One day, after running updates, X could no longer start. It turned out that the graphics card in the workstation I used at the time, a Quadro4, was no longer on the list of supported cards of the driver (the proprietary driver from Nvidia). That wasn’t a good update. I’ve also had X break after an upgrade because Ubuntu switched to (or from) xrandr and it wouldn’t play nice with my video driver and/or hardware. My relationship with Ubuntu started to show some cracks, and eventually the switch from Gnome to Unity made me decide that Ubuntu might be moving in a direction I didn’t particularly care for, even though I would still advise other people to try Ubuntu if they were looking at trying out “Linux”. After weighing a few of the many, many (good!) options, I decided to go back to Slackware on the desktop.
If this sounds completely ridiculous to you, I can understand: switching from a distribution like Ubuntu — which, after installing it, will try to leave you with a fully functional desktop that Canonical has designed/put together — because I had to fiddle with it to get everything to work right, to Slackware, which has the reputation of being a distribution that leaves you with little to nothing after installing it. But wait, I can explain! This is how it works in my silly, silly brain: if I install an operating system such as Ubuntu, which is made to be easy and simple, and I have to configure basic functions, such as playing audio, it fails for me. It won’t meet my expectations, and that’s disappointing. I don’t feel the same way when I look at Slackware, because it is made to be a configure-it-to-your-own-needs type of distribution, so I’m expecting to have to configure things. It would only fail if it wouldn’t let me tinker with it. Slackware has not failed me in this regard, where Ubuntu has a few times. But that doesn’t mean Slackware requires you to get anything to work. Seeing Slackware as a distribution that requires you to put a lot of time and effort into it is, in my opinion, the wrong way of looking at it.
The philosophies of Slackware are simple: the software it ships with is, as much as possible, vanilla. No patched Slackware-specific versions or patches here, unless absolutely necessary. This does NOT mean, however, that these software versions have not been well tested. Quite the contrary, actually. Additionally, Slackware’s creator and benevolent dictator for life, Patrick Volkerding, believes in the classic UNIX-philosophies, such as “write programs that do one thing, and do it well.”, where programs work together to accomplish more complex tasks. This results in an operating system that:
- ships with software and defaults that the developer(s) of said software intended for (which is not the same thing as software that is unusable after installing it);
- is easy to configure, because that’s how it was made in the first place.
These design choices have always defined Slackware, and I hope they always will. It means Slackware is generally simple, not complex. It’s extremely easy to find out how the system works under the hood; it is very accessible. It is a base system you can build on if you want to, but it’s by no means necessary for anybody to do so, provided their hardware all works without having to fix anything — your mileage may vary. Also, if you’re the type of user that doesn’t want to spend time setting up their own personal “space” after a fresh install, Slackware might not be your first choice.
A week before the release of Slackware 14.1, my laptop broke down. It wouldn’t boot. It wouldn’t even really come on. I replaced it with a ThinkPad T61, and installed the SSD from the broken down laptop in it. After booting it, there was no networking, because it probably lacked the necessary modules and/or firmware. At that point, Slackware 14.1 was very close to being released, according to the changelogs (release candidate 3, the last stop before the actual release). The installation on the SSD was Slackware 14, 32bit. I decided to wait for 14.1 and install the 64bit version instead of reinstalling Slackware 14, which is over a year old. I didn’t care to spend a lot of time trying to fix the networking situation if I was going to reinstall the whole thing anyway, either. I used Slax (a great live environment you run from USB or CD, which, incidentally, is based on Slackware) in the meantime, on a USB stick. When the distribution was released, I downloaded the 64bit DVD-image and proceeded to install it.
If you’ve ever installed Slackware, and you remember the process, you’ll know what to expect. Slackware’s installer is the same as it’s always been. Actually, the whole installation process is the same as always. Patrick does not like changing anything for the sake of changing it. If it works, it doesn’t need change. It sounds a little unexciting, but it has that feeling of coming home. It’s familiar. Slackware still ships with and installs Lilo by default, although a package for Grub is also on the DVD if you prefer.
Installing Slackware is very simple, but it helps if you know what you’re doing. The installer has no partitioning tool, for example. Then again, why would it, if you can use cfdisk or fdisk? Both those tools are on the bootable environment you install from, and both allow you to partition your drive(s), where cfdisk is menu-driven and easier to use. I had no partitioning to do because I was overwriting an installation and I have /home on a separate partition that I wasn’t going to touch during installation. I also already had a swap-partition for the same reason. I ran setup and was greeted with the very familiar installer. The steps are easy and are menu-driven, so in my experience, Slackware is just as easy to install as, say, Debian, and it doesn’t take long at all. Because I know what steps will follow (because they don’t change).
Upgrading an existing installation is an undertaking that could be simpler. It’s not as easy as apt-get dist-upgrade. The process is described in http://slackware.osuosl.org/slackware-current/UPGRADE.TXT and if I had to mention one thing I miss in Slackware, it’s there not being a safe and simple upgrade process. On the other hand, automating this kind of thing might not really fall in line with the ideas behind this operating system. I end up re-installing if I want to go from one version to the next. Since /home is on a separate partition, I only backup /root and /etc usually, just in case. It costs a little bit more time, but not too much: I know my way around Slackware enough that I can configure it relatively easily.
After installation (which is smooth as it always has been in my experience) and first boot, everything worked on the laptop. Wan, Lan, touch pad and sound worked right away, but also those special function keys to change sound volume or screen brightness. I also had a functioning build environment. The only thing I installed afterwards was wicd, which I find extremely useful for managing Wifi-networks, because it comes with several usable clients (among which an curses-based interface). It’s not part of Slackware’s installation, but it can be found in the form of a package, in /extra on the DVD.
You have no user at this point, other than root. The installation asked for a root password. I added a user for myself and copied some things from my old home-dir (which I renamed) into the new one. This allowed me to keep everything I wanted to keep, and have a fresh setup at the same time.
If you start Slackware for the first time, you’ll notice it still drops you into runlevel 3. This means you log in to a textual, not a graphical environment. Of course, running startx loads X and the window manager/desktop environment you selected in the last steps of the installation, but if you prefer to log in graphically instead, you change /etc/inittab accordingly (you’ll want runlevel 4). This will start a display manager at boot (specified in /etc/rc.d/rc.4) and allow you to login to your environment of choice. Your graphical environment is not going to be Slackware-themed. It’s going to be about how it would be if you had downloaded a fresh copy from the creator(s), and installed it from source.
So on one hand, after installation, I had a fully functional operating system that didn’t really need any extra work. On the other hand, I have an installation that I haven’t fully tailored to my own satisfaction, since everything is in its default state. And, since Slackware is made to be configurable, it never gets in your way when you want to customize it to your personal preferences.
I like installing software through packages. It allows for easy uninstalling and upgrading. The package manager in Slackware is very capable and flexible, but like the rest of the operating system, lacks complexity. This means it does no dependency resolution for you, for example, nor does it have a GUI (unless someone made one). I have experience with both Debian and Ubuntu, both for servers and desktop use, so I’m aware of the advantages of automatic dependency resolution. I’ve also been held back by it before. It can be both extremely powerful (actually, it simply is very powerful and both Debian and Ubuntu are great testaments to that) and also limiting (because somebody else decides what needs to be installed on your system, rather than you).
A package in Slackware can be installed, replaced or removed. There is a menu-driven tool provided, pkgtool. You can look in /var/log/packages to see which packages are installed. All software I want to install but is not in the distribution can usually be found at slackbuilds.org. This is a large collection of slackbuilds, which, by means of running the provided script, are turned from source into packages on your computer. So far I’ve found just about everything I’ve wanted to install on both my desktop and my server (which has Slackware 14 running) in the official packages or on slackbuilds.org.
If you choose to rely on dependency resolution, you can opt to use slapt-get (or maybe consider Debian instead), which does handle dependency resolution for you, but I have not really had any need for it. The packages I install usually come from Slackbuilds.org, and dependencies are listed for each package and can easily be installed first. This is, admittedly, the scenic route to package installation, but it’s by no means very time consuming, generally.
Slackware has really low system requirements. At minimum, you’ll need a 486 with 64MB RAM, according to the web site. Chances are, your computer is a little faster than that. Mine sure is, and consequently I have an operating system that boots pretty fast (but not as fast as it could — don’t forget, though, that the boot process, too, is extremely configurable and tweakable) and is otherwise quite fast. I selected XFCE as my primary graphical environment. Within seconds of typing startx, it’s on my screen, ready to go. No complaints there, either. Beside XFCE, you can choose other environments like Window Maker, KDE or FVWM, during the last stage of installation, or later on. There is no Gnome, Unity, MATE, Trinity and whatnot, though. If you really want Gnome, you will want to look at a project like Dropline Gnome (although this installs PAM, which you might not want, unless I’m mistaken and it doesn’t install PAM anymore) or GNOME SlackBuild, but I don’t know how up-to-date these are.
I’ve used this installation for a few days and so far the only thing actually missing was the Flash player, which you can install from a SlackBuild, although at the time of writing, the packages are made for Slackware 14 as Slackbuilds.org hasn’t yet started providing packages for 14.1. There’s always a very good chance that packages for older versions will work on the most recent release, as was the case with Flash player.
Slackware 14.1 is exactly what I expected it to be: Slackware as it has always been. It’s both extremely uneventful and unexciting, because it’s the same experience as it has been since, well, the beginning, probably. It also hasn’t let me down because it lived up to my expectations from it. This makes me feel very much at home on my own computer. I have full control if I want it, the operating system isn’t going to be in my way and I haven’t had to fiddle with anything to get it to work. The Slackware experience is a stable experience, and if you’re looking for a stable experience from an operating system that doesn’t hold your hand unnecessarily, puts you in control, without being some kind of Linux From Scratch type of setup after installation that maybe actually boots, then you would probably at least appreciate Slackware.
If you want a distribution that looks and feel more like a “whole”, you might not care about Slackware as much.
Me? I simply love Slackware. 14.1 is not changing that, but it does reaffirm it.
- Very low hardware requirements
- Very clean and configurable, yet initially functional environment that doesn’t get in your way
- Adheres to classic UNIX philosophies
- Not the streamlined experience you’d get from distributions such as Ubuntu
- Can be conservative and intimidating for new users
- Upgrading from an older version is an adventure
- A script to backup your databases
- Mapping Umbraco document properties automatically