The Slackware 12.2 interview

Slackware, in my mind, has never been a Linux distribution for novices who aren’t interested in learning about the whole Linux ecosystem. Note that’s not a criticism, just a comment. And in that comment lies the issue with a lot of the Slackware articles that have appeared over the years. Many of them appear to be authored from the point of view of a novice or the person who just needs a straight desktop-orientated distribution; I’m not saying Slackware is difficult, just that it requires a better understanding of Linux as a whole rather than the desktop alone that most are used to. At the same time, Slackware is probably amongst the best as a learning tool for Linux, if you have the interest. It’s been said:

To learn Red Hat is to know Red hat; to learn Slackware is to learn Linux

Slackware is best suited as a server in my mind, but with some work makes a fine desktop and laptop system too.

And now onto 12.2 itself.

Installation:

Much has been said about the ‘archaic’ Slackware installer but the fact of the matter is that it’s still simple and bulletproof, providing most of what’s needed for the base install. Everything is covered from install location, file system type and swap setup, to network setup, boot loader installation, GUI selection and package selection. Granted it’s not pretty like most graphical installers, but it just works. The only real pre-install requirement is to make sure your disks are partitioned correctly. That slightly advanced requirement for novices, aids though when you need to do complex installs such as mirrored boot disks, something that remains missing from most other mainstream distros. Post-install tasks include creating users, adding users to groups and configuring X amongst other things.

I’ve been running current ( development ) on one machine since 12.1 and as such, the difference is nothing much that you’d notice. Just more of the same reliability and stability that you’re used to with Slackware, and updates to most of the popular included packages. A different machine running 12.1 upgraded cleanly and without fuss using Patrick’s recommended method, slacktrack and slapt-get.

It has been mentioned by some users that they’ve experienced pauses during the install. The only attributable factor I can find is the compilation of Gutenprint driver files during that package’s install. I’ll look into this closer with subsequent installs.

The core:

The included kernel 2.6.27.7 brings improvements in filesystem ( XFS, JFS, EXT and Reiser ) and hardware support, and other areas like virtualisation ( KVM is now nicely embedded with a good feature set ) and wireless. Udev and HAL provide a neat solution to hardware detection and work well in the Slackware environment providing you follow the rules for adding users to the appropriate groups. Recent versions of Udev have differing places for configuration files so make sure you read the provided documents. Detection in the provided GUI’s work flawlessly providing users with fool-proof access to pluggable and other devices. Sound devices are well supported too with the kernel modules being automatically loaded, immediately after installation. The BSD-style initialisation mechanism is easy to understand and master, besting some of the more complex systems used in even popular distros. This extends to the venerable inetd system used for starting services on demand. pm-tools are also included for power management on desktop, server and laptop systems.

Networking:

Slackware continues to excel in this area with a wide variety of network applications ( including my favourites IPtraf, netwatch and nmap ) and easy to setup configuration. Also included are a number of Wifi tools, drivers and firmware, as well as Openvpn, ProFTPD/VSFTPD, RP PPP, the netkit package and Net-SNMP. Certainly it’s not something that other distribution users will be used to, but editing the network configuration file is easy to do for both static and DHCP setups. DNS and DHCP is covered by dnsmasq, although I tend to use the supplied ISC DHCP server and pdnsd, a 3rd party caching dns server with some nifty advanced features. Other 3rd party applications such as snort, nessus, nagios and wireshark are available and easily installed using standard compile methods.

Server applications such as MySQL, Apache and PHP ( LAMP stack ) are all included in their latest incarnations, Perl is at 5.10 and Tk/TCL at 8.5 is also still around.

Software/Packaging:

The bugbear of many an article author, Slackware has what I believe to be the best package management system available. Packages are available from a number of popular sources on the Internet ( slacky.it and linuxpackages.net to name two ) and wrappers such as slapt-get and swaret provide for automatic download/installation and even some dependency tracking. Keeping a Slackware install updated is easy in the extreme. You will find though that from time to time, you may need to compile an application that has no Slackware package available. This is easily done with the provided development tools and there are some additional tools available such as checkinstall, slacktrack and src2pkg that allow even novices to compile and install applications.

Development:

Slackware remains one of the best development platforms available for Linux with everything covered from c, c++, java, fortran to debuggers, compilers and assemblers. The supplied KDE GUI includes the Kdevelop tools for developing KDE applications.

GUIs:

Slackware has long forgone maintaining 2 primary GUIs in KDE and GNOME, and Patrick has selected KDE as his choice of GUI. Given KDE’s more advanced configurability, this suits the nature and ethos of Slackware to the tee. As an aside, I’ve compiled a number of KDE 3.5.x releases and can attest to the fact that it’s far easier than what Gnome has provided. There are no special alterations to the stock KDE installation but I find that a good thing as it means I can configure KDE the way I like it without interruption. XFCE is also included and as a lightweight solution for older systems, it’s unbeatable.

No binary video drivers are included but the supplied Xorg server has a good selection of built-in support for the majority of video cards available, and both the 3rd party NVidia and ATI drivers install cleanly and without fuss.

Applications:

Slackware ships with a good range of popular applications including encryption tools, editors ( including my favourite Joe ), browsers ( Firefox and Seamonkey ), email clients ( Thunderbird and KMail ) and office apps ( KOffice ); but crucially missing from that list is OpenOffice – not sure but perhaps something to do with the license? There are internationalisation files for KDE and aspell which provides for an easy to use system for alternative language users. Full sources are included for everything so you’re welcome to tinker around if you’d like. The supplied libraries are featureful and cover everything from AV, fonts and hardware to databases, UI interfaces and programming.

Application issues:

Recent changes in the Xorg server have broken VMware 1.0.x compatibility – there is apparently a way to get around this by installing older X libraries but I’ve yet to get this to work. Note this is not a Slackware-specific issue. VMware 2’s switch to a poorly conceived web gui for admin means that I’ve not bothered with it, but a search on Google will bring up some details on how to get VMware 2 installed on Slackware.

This has led me to VirtualBox which in many respects, is better than VMware: it installs cleanly on Slackware, can use vmdk files from VMware and is much quicker to boot. The final nail in the VMware coffin is VB’s RDP-based headless mode which beats VMware’s non-gui management by a mile. VMware’s networking is still the best available but VirtualBox’s setup is covered in detail in the installation manual and simply requires some configuration of the system with the Slackware-supplied bridge utilities. VB’s wrapper scripts make this a straightforward task.

KVM tools are not included but are easily installed although getting the RedHat-supported libvirt packages and it’s GUI components installed, remains a challenge.

Openoffice has been an easy install in the past by downloading it, converting it to Slackware package format using rpm2tgz and running the install. But I had a strange issue in OO 3 ( including the betas ) where backspace and cursor keys refused to work in Writer ( only ). A simple workaround was to use Robby Workman’s OO3 packages and I’ve had no further issues relating to OO.

Slackware still ships without a number of AV packages, specifically codecs; but this is for obvious legal reasons. The free AV codecs such as Flac and OGG Vorbis are included as well as a number of applications; the rest ( eg. MP3, Windows codecs ) can be obtained from 3rd party sources as Slackware packages. The MPlayer project continues to host all necessary Windows codecs.

Gnome:

This probably requires a section on it’s own as not only was the removal of Gnome from Slackware a slightly controversial decision, but it left a hole for certain applications that has been filled by a number of 3rd party projects including GWare, GnomeSlackBuild ( GSB ) and Dropline. GWare seems to lag in development a bit but the others are as current as you can get. GSB specifically, also includes a good number of AV applications including mainstream codecs, media rippers and converters.

Support, Security and Updates:

There are many avenues for support in the Slackware ecosystem. Two alternate methods are irc through the ##slackware channel and the vibrant web-based support page at Linuxquestions.org. There is a thriving Slackware community on the Internet so don’t be scared to search or ask.

The packages in Slackware have always been of such high quality that the amount of updates for a particular release are a fraction of what you might see in other distributions. Patrick Volkerding’s attention to detail here and minimal patching means that Slackware packages are as close to the original as possible. There’s less to go wrong as a result of the reworking of packages, and packages and package versions are strictly chosen for their security history hence the fewer updates required. Updates are also provided for versions of Slackware going back many years which bodes well for those not inclined to upgrade ( especially servers ) – I recently saw an update for 8.0 ( isn’t that from the 90’s? ).

Conclusion:

Covering a Linux distribution is hard work as there are so many areas to look at but hopefully I’ve given you a taste of what Slackware can do. The strength of Slackware lies in it’s reliable and stable base, it’s configurable method of setup, and it’s adherence to the principle of KISS ( keep it simple, stupid ). Patrick’s ongoing commitment to the distro in the face of personal difficulties shows the quality of people behind this oft-overlooked distro. Its continued use as a starting point for many other distro’s/LiveCDs and the fact that it’s the oldest usable Linux on the market shows its inherent importance in the grander scheme of things.

If you are a medium to advanced user, you won’t be disappointed. If you’re a novice and are looking to do more than just use Linux, Slackware offers the best base to start from. Give it a try – you may be surprised.


Comments

10 responses to “The Slackware 12.2 interview”

  1. gargamel avatar
    gargamel

    Regarding OpenOffice.org: You found one excellent solution for installing it in Robby Workman’s SlackBuild packages. But especially, if you are not living in an American/English speaking country you might want to try the mulitlanguage OOo package from slacky.eu. It provides the easiest installation of OOo I know of on any platform. It allows you to select the desired language from a menu, then downloads the RPM package, converts it to Slackware package format and installs it. All automatically. *Very* comfortable!

    Regarding Slackware as a development platform, I can tell that I haven’t seen a better platform for Java development. Many other distros I have seen with so-called “sophisticated” package management system are trying to install a whole ecosystem of tools, IDEs and libraries, when you select the Java SDK package in the installer. Then you learn what the term “dependency hell” with regard to package managers like RPM actually means. Why can I only install the JDK, when I also install Eclipse in a particular version, when I either want to work with another version or Netbeans?

    So Java is one good example, why the Slackware package management is the best package management available.

    And Slackware is the best Java development platform I know of. It doesn’t introduce requirements that are not deriving from Java as such.

    Compare this to other distros which usually try to support javapackages.net. A good, but failed effort to make Java programs “installable” for end-users, IMHO.

    gargamel

  2. Um… I like the article overall, but I have to burst your bubble on one thing. Pat’s preferred method of upgrading a system is definitely NOT slapt-get. Perhaps that’s why he doesn’t include it in Slackware.

  3. For package management, you should also check out sbopkg which works like a front end to the slackbuilds.org repository. It pretty much rocks and imho, all you really need is slackbuilds.org and sbopkg for extra third party packages.

  4. brent racobs avatar
    brent racobs

    Wonderful job on your report. Well done. Like all systems it is up to the person on the other side of the screen to make it work for them.
    Slackware 12.2 and the community keep it stable. Thanks Robby and Robby. Love the store. slack get pay pal please.

  5. hoodooman avatar
    hoodooman

    Great review of a great distro.Been using it since version 8 and it does make a great desktop distro.Quicker and less resource greedy than all the current “fave” distros.Just installed 12.2 and all the packages I use and its running like a train.

  6. ; ) Thanks Robby – I also have to say thanks from my side for all the work you do for the distro. I was thinking of wicd when I said “Also included are a number of Wifi tools, drivers and firmware, as well as ” but I should’ve mentioned it specifically seeing as it’s an important ‘new’ tool in the Slackware system.

    I’m still working my way through all the Slackware package tools and slackpkg is the last on my list. I’ve been spending quite a bit of time with src2pkg lately converting ( most of ) my custom compile scripts, but slackpkg is next! I’ve a soft spot for swaret seeing as it’s the first I ever used but you have to move on …

  7. Hrm, ignore the pm-utils comment – I see that you mentioned it. No idea how I missed that the first time :/

  8. First of all, I like your name; clearly, your parents have class 😉

    Second, thanks for a *real* review instead of ranting about how Slackware isn’t like $other_distro.

    Third, thanks for the plug of my OpenOffice.org package.

    Finally, a few minor points probably worth mentioning in a review:
    1. wicd, a gui network manager application, has been added and is available in the /extra repository on the cdroms/dvd.
    2. pm-utils, a collection of scripts to make suspend and hibernate “just work” has been added; lots of users should appreciate those
    3. slackpkg has been moved from /extra to the ap/ series, and generally speaking, it’s strongly preferred over slapt-get and especially swaret.

  9. Finally, a _useful_ review of a distribution!

    Very good work, I thank you.

    JayY

  10. Update:

    I thought it necessary to expand on my upgrade experience as there are some slightly advanced steps to do if you’re upgrading packages like the kernel and udev. I noticed after rebooting for the first time that the machine refused to boot either using the hugesmp kernel ( an issue with stack space ) or the generic-kernel ( couldn’t find jfs first and then couldn’t find /dev/root ). To solve this I booted from the DVD and created an initrd:

    mkinitrd -c -k 2.6.27.7-smp -m jfs -r /dev/sda2

    I then edited /etc/lilo adding:

    initrd = /boot/initrd.gz

    … to the boot section for my kernel and ran:

    /sbin/illo

    … to reinstall the boot loader with the new setup. As I was using a new kernel, it was also necessary to reinstall both the NVidia video driver and VirtualBox. I took the opportunity to install the latest of both of those.