Slackware 7.1

Slackware (www.slackware.com) is perhaps the oldest surviving Linux distribution in existence. It's also one of the most misunderstood. And it happens to be one of my two favorite distributions.

When I say it's a misunderstood distribution, I mean I read a lot of misinformed statements about it, such as ``It doesn't have a package management system,'' and ``it's so old it deserves to die,'' or even ``it's not currently maintained.'' It's sometimes hard to combat these types of remarks, because they are so far off the mark that one wonders whether the person making the remark is even on the same planet. It's like responding to ``But Linux doesn't have support'' or ``But NT is stable.'' One wonders whether it's better worth his time to simply let the holder of the opinion continue on his merry but misguided way.

Package Management. Slackware uses simple tarballs as packages with the tgz suffix. Installation scripts for source packages are included in the directory ``$packagename/install/doinst.sh''. Files from precompiled binary packages are simply extracted into their locations much as with other package managers. Package management software can be called from pkgtool, which is actually a front end for other tools, such as installpkg, upgradepkg, removepkg, and several other scripts. There are also user contributed tools, such as SlackUp and autoslack, that will keep a Slackware machine up-to-date by upgrading in place rather than upgrading from scratch. All these tools are simple shell or perl scripts.

When you hear people say ``Slackware doesn't have a package management system,'' they probably mean that the package tools it does use don't do dependency checking. Actually, the package tools do, indeed, do some checking prior to installation. If a package of the name you're installing exists, you'll be warned about this and advised to remove that package by hand or use upgradepkg on it before continuing.

What many newer users of RPM systems fail to realize is that you don't actually need such a dependency checking system to be a happy system administrator. In fact, RPM and DPKG can sometimes add a layer of complexity to your system that can ruin your whole day. This dependency checking function is a relatively new development and often difficult to implement; older UNIX systems have done without it for quite a long time. In practice, installing new distributions from scratch and restoring data and configuration files from backups can sometimes be speedier and more convenient than upgrading in place with tools like RPM and DPKG.

While RPM and DPKG have worked well for me over the years, I have had occasions where an installation script broke and couldn't recover due to some dependency problem. I have one or two memories of spending too much time reading through configuration scripts and installation logs trying to rectify the problem. At those times I felt like it would have been easier to upgrade from scratch (and restore from backups) than to upgrade in place. Further, upgrading from scratch helps you keep a much leaner and meaner system.

If you've used RPM for some time, you'll probably see a lot of *.conf.orig or *.rpmorig or similar files around your system. These are files that have been superseded either because of format changes or for other reasons, yet which still contain data that you might need to transfer by hand to the new configuration files with a new syntax or format. In fact, I still have some old Red Hat partitions on one of my boxes that mount under /mnt/rh[1-6], and if I do a find /mnt/rh* '*.rpmorig' -print I get a load of files. That's because I did a lot of in-place upgrades using Red Hat Linux. In contrast, my Slackware machine has stayed pretty lean and mean over the years, because it gets upgraded from scratch and restored from backups.

UNIX-Like. Slackware aims to be the most ``UNIX-like'' distro out there. It uses a simple BSDish startup rather than the more elaborate SysVish startup. I've already explained how the packaging system is simple; tarballs are almost synonymous with UNIX. Slackware also follows normal UNIX/Linux standards, such as the file system hierarchy and POSIX. You will also find a lack of distribution-specific tools, such as a control-panel or other front ends. Vi is pretty much the primary administration tool. Though, you can install any admin tools you happen to like, including RPM.

If you've ever installed FreeBSD, you'll notice a remarkable similarity between its setup tool and Slackware's. (BSDi sponsors both.) Slackware's installation is one of the easiest I've ever seen, despite its curses-based interface. (Again, simplicity is paramount in the UNIX philosophy.) You can have a Slackware machine installed very quickly, largely because of its simplicity and lack of dependency-checking sophistication. And speaking of UNIX and BSDi, many of the founding members of BSDi were also part of the CSRG at UC Berkeley where Berkeley UNIX was started.

For quite a while, Slackware was primarily the work of one man, Patrick Volkerding. Pat's emphasis has been on stability above all else. So he has been slow to include some of the more bleeding edge tools, which other distributions have included as soon as they were available, despite any problems there might have been with them. Pat's philosophy has kept Slackware system administrators pretty happy, because they haven't had to worry about the glibc issues, for example, that plagued many Red Hat users back when RHL 5.0 was first released. But now Pat has some more help, and it's also been a little easier to stay both stable and current now that most of those glibc issues have been worked out.

Thanks to help from Logan Johnson, David Cantrell, and Chris Lumens, Slackware is now one of the most current distributions of Linux available. It's so current that sometimes it now draws criticisms that it's too bleeding edge and not stable enough. (For example, there have been criticisms that perl-5.6.0 is too unstable for a production system. Or that egcs is too bleeding edge.)

The Name. How did it get that name? Take a look at www.subgenius.com, and also an old article from Linux Journal: www2.linuxjournal.com/lj-issues/issue2/2750.html. When Patrick first started the distribution, he didn't take himself or his distribution very seriously. He just wanted to maintain some upgrades to the then-current SLS distribution of Linux. But he wound up keeping SLS more up-to-date than SLS itself did. And his ``patches'' wound up becoming so extensive that his work was regarded as a distribution in its own right. So he got some ftp space and called his ``distribution'' Slackware. And before long, his distribution became the most popular one on the Net.

The name ``Slack'' is a reference to the tongue-in-cheek Church of the SubGenius. So is the familiar image of the pipe-smoking man. That is J. R. ``Bob'' Dobbs. There's no affiliation between Slackware and the Church of the SubGenius beyond Patrick's sense of humor and his never imagining back in 1993 that his ``distribution'' would ever become so popular.

Conclusion. Slackware has the reputation of both being a hacker's Linux distribution and a beginner's distribution, because it's so UNIX-like and stable it satisfies the old-timers and is a great introduction to UNIX for newbies. Sometimes you learn to swim best by jumping into the deep end of the pool.

While there aren't a lot of mailing lists and help groups specifically for Slackware (alt.os.linux.slackware is one), most general purpose Linux mailing lists have a respectable representation of ``Slackers'' quietly using Slackware but not saying much about it. Many times they're UNIX geezers who are too busy hacking code to advocate their favorite distribution of Linux. In any case, do yourself a favor and jump in the deep end of Linux by installing Slackware on a machine near you today!



dsj@dsj.net