The first version of Slackware Linux was released on July 16, 1993, by Patrick Volkerding. Slack was based on the Softlanding Linux System distro, and was designed to be installed from 3.5-inch diskettes in software "series."
The same old Slackware
It's somewhat comforting to realize that some things don't change, or at least don't change much. Slackware's software is still divvied up into software series, though the selection has expanded beyond the base system (A series) and X11 (X series), and requires a lot more than 24 diskettes' worth of space. Slack now requires 6 CDs for binaries and source, or one DVD.
I've been using Slackware on and off since 1996, and in all that time the installer has stayed largely the same dependable text-menu installer that greeted Linux users long before anyone had produced a GUI installer for Linux.
Whether this is a good or bad thing depends on your level of experience. I think a minimal installer is best, but some operations are best handled in the installation routine for most users. For instance, if you're installing Slackware on a new system or a system without any Linux partitions, you still have to deal with manual partitioning using fdisk or cfdisk before proceeding to the Slackware setup program.
The no-frills approach means that Slackware's installer doesn't require a lot of system resources. Where a few other distros use bloated installers that require a great deal of horsepower just to squeeze Linux onto the system, Slackware's system requirements include a mere 16MB of RAM and a 486 CPU.
Slackware's installer isn't the only component that has been slow to change. While other distros are working on replacing the aging System V init setup, Slackware still uses the even older BSD-style init setup.
Volkerding has also been cautious about moving to new packages in some cases, even when the majority of other distros have long since adopted newer versions. The most obvious example of this is the choice of kernel. Despite the fact that the 2.6 kernel has been out since December 2003, Slackware still ships with a 2.4 kernel by default. Slackware does include 2.6 kernels, but I'm surprised to see the distro sticking with 2.4 nearly three years after the release of 2.6.
Slackware is also one of the few distros to default to Apache 1.3.x instead of Apache 2.2.x, and doesn't even include Apache 2.2.x packages. I wasn't surprised when Slackware didn't make the move to the Apache 2 series right after it was released, but it has been a few years. Slack also comes with the 3.4.6 release of the GNU Compiler Collection (GCC), where most distros have moved on to the GCC 4.x series.
That's not to say that Slackware is not current with security releases. Though it includes older versions of some packages, Slackware has the most recent release of the older series. And Slackware does include the most recent versions of most packages. For instance, Slackware 11 includes Vim 7.0.109, Firefox 220.127.116.11, Thunderbird 18.104.22.168, Perl 5.8.8, and KDE 3.5.4 (which was current at the time of the release).
I installed Slackware 11 on a couple of different systems, and under VMware Workstation 5.5. Slack installed flawlessly in VMware, but had a little more difficulty with non-virtual hardware.
The first on my list was a Pentium 4-based laptop, with 1GB of RAM, an ATI video card, RealTek Ethernet chipset, Radeon R250 video card, and Intersil Prism 2.5 Wavelan wireless chipset. Slackware handled the video just fine, and the trackpad and USB on the system, but it didn't seem to like the wireless chipset or the RealTek Ethernet device. I wasn't shocked that Slackware didn't automagically configure the wireless card in the laptop, but Slackware 11 is the first OS I've put on the system that failed to use the onboard RealTek Ethernet.
Next, I tested Slackware on a IBM ThinkPad T43 with 512MB of RAM, the Centrino wireless chipset, and an ATI video card. I had hoped that Slack would do a bit better on a more mainstream laptop, but no such luck. Slackware froze entirely at bootup.
I had better luck with my workstation test system, which has an Athlon XP 2600+, 1GB of RAM, VIA onboard Ethernet, Nvidia GeForce FX 5500, SB Live soundcard, and a 17-inch LCD monitor. The onboard NIC and SB Live were detected just fine. I had to do a little tweaking to X to adjust the resolution to the monitor's native 1280x1024 resolution, but everything else worked right away.
While some of these problems can be solved with a bit of after-install troubleshooting, this isn't "problem" hardware that I'm working with -- I've run several other Linux distros on the same hardware, without any problem with hardware detection and setup. It's disappointing that Slack doesn't "just work" right out of the box on these machines.
I chose the "install everything" method, which provides about 3GB of software, including KDE, Xfce, Window Maker, and a couple of other window manager/desktop environments. Slackware no longer includes GNOME, though you can find GNOME distributions for Slackware, such as dropline GNOME. Slackware also includes a fair amount of desktop productivity software and LAMP packages like Apache, PHP, Python, MySQL, OpenSSH, and GCC.
While Slackware provides a good base system out of the box, its package selection is limited compared to Debian, Ubuntu, Fedora, or openSUSE. For those who prefer minimalist systems, you can select a much slimmer install than I did by going through the package selection menus at install time and winnowing the software selection down to just what you need.
My first order of business upon booting my new system was to log in as root and read the "Welcome to Linux (Slackware 11)!" message, which gives some tips on setting up printing using CUPS or LPRng, dealing with undetected hardware, and setting up CD burning. To put it mildly, these instructions are emphatically not suitable for new Linux users. For example, the advice for dealing with hardware that doesn't work straight away is to:
1. Load the support with kernel modules. This is probably the simplest way to handle the situation. Just edit /etc/rc.d/rc.modules so that it loads the modules you need.
2. Recompile your kernel, including the needed driver(s).
Experienced Linux users may read this and think, "OK, I'll just use insmod to load the modules, and then edit rc.modules so that they'll be loaded from now on when I reboot." Those who haven't had much experience with Linux -- or those who've started with distros that don't require this sort of manual intervention -- are going to be scratching their heads, or just reaching for a different install CD.
During installation, Slackware walks you through setting up a root user, but no regular users. After I read through the "getting started" message, I set up a normal user using the adduser utility, then logged in as a regular user and ran
startx to fire up X and check out Slackware's desktop experience. The default desktop is KDE, though you can easily change this using
Slackware ships packages with minimal tweaking, which means that KDE and other applications are pretty much as they were released by the upstream project. This isn't the case with many distros, which patch software and configure their desktop environment to suit a specific audience. There's certainly something to be said for Slackware's philosophy, except that some packages would benefit from a bit of tweaking.
For example, when I tried out WindowMaker, I noticed that the WindowMaker application menu included entries for OpenOffice.org -- which isn't installed with Slackware, so nothing happens when you try to launch OpenOffice.org. The application menus should at least reflect what's installed on the system.
I did notice that Slackware includes a little more multimedia support than other distros right out of the box. Most distros these days shy away from shipping MP3 support, or support for QuickTime movies, but Slackware includes both. Slack not only allows MP3 playback, but includes LAME for MP3 encoding as well. Ogg is included too, so folks who prefer Ogg for licensing or quality reasons have that to fall back on. Flash is not installed by default, but was easy enough to download and install using Firefox.
Update: Sorry, LAME is actually included in dropline GNOME, not Slackware 11. Apologies for any confusion.
Installing packages on Slackware is easy with the installpkg and pkgtool utilities, and Slackware 11 also includes an APT-like tool called slackpkg for working with packages over the network. It's not installed by default, but it's included in the extras package directory on the Slackware install media.
Like Debian's APT, slackpkg allows you to install packages over the network, perform upgrades, and remove packages. You can also use
slackpkg search to search through the package lists. Installing, removing, and upgrading worked just fine, but the search function could use a little tuning. A search for "pysol" returned a handful of results like kdebase and kdeartwork, which doesn't make much sense.
The slackpkg tool has one function that I don't recall seeing in APT or other distros -- the
clean-system command, which will remove all packages that aren't part of a "standard" Slackware install.
The Slackware 11 release continues a long tradition of stable, no-frills releases for experienced users. Slackware can be a fine desktop system or LAMP system if you're willing to do a little tweaking. The bottom line is that Slackware is a distro that caters to users who prefer an old-style, Unixy way of doing things. It's a distro that's well-suited for users who don't mind recompiling a kernel or editing configuration files to get things working. But Slackware is not a suitable distro for new users who want something that "just works," particularly when compared to distros like Fedora and Ubuntu that have more comprehensive hardware support straight out of the box, as well as GUI management tools that make understanding of the command line mostly unnecessary.