When you hear the name Slackware, you are at once transported to a world where Linux users feel more at home in setting the configurations by editing ordinary text files. In fact the credo of Slackware is to keep it as simple as possible. In popular speak, it is known by the acronym KISS (Keep It Simple Stupid). When I use the word simple, I mean simple in relation to a person who is already well versed in the use of Linux. So you won't find any Slackware specific memory hogging GUI front-ends to set up simple day to day configuration parameters. Apart from the ones provided by KDE - the default desktop of Slackware, you will not find any GUI helper apps as are common in other popular Linux distributions.
Another aspect of Slackware which has amazed me is that the whole project is the outcome of the efforts of one person - Patrick Volkerding. He has designed Slackware around the idea that the system should be a complete installation kept updated with any official patches. I couldn't help thinking that perhaps Patrick had been an avid user of one of the BSDs before he started the Slackware project and had been swayed enough to make Slackware as similar to the BSD which also consider the kernel together with the tools bundled with it as a single entity.
The latest version of Slackware is ver 11.0 which was released a couple of weeks back. Blame it on my internet connection, but in the past, I have had difficulties in downloading the ISOs of Slackware but this time round, I was successful in downloading and burning Slackware 11.0 on to the CDs. The whole Slackware distribution will fit into 3 CDs. If you do not care about X, then you can easily manage with just the first CD which contain a collection of Linux kernels and all the command line tools. But if you want to install KDE, you will need the second one. The third CD contain miscellaneous packages such as the language packs. It is prudent to download all the three CDs even though the installer bundled with Slackware will allow you to pick and choose between packages.
And while talking about the installer, Slackware comes bundled with a text based installer which is very similar to that found in FreeBSD. That means, you have a master menu which contain sub-menus to execute different functions. Such as a menu for partitioning the hard disk, a menu to format the disk, one for setting up and turning on swap, one to start the copying of packages to the hard disk and so on. And once all the tasks are completed, you are placed back into the master menu. The whole process is quite intuitive for anybody who has prior experience in installing an OS using a text installer. Of course unlike other Linux distributions, when you boot the computer using the first CD, you are put into a root shell and you have to type the command 'setup' to initiate the Slackware installation process.
I chose the full install since I had with me all the 3 CDs and within a little time all the packages were installed on one of the partitions on my machine which took around 4.0 GB space. Oh yeah, Slackware still bundles with it the LILO boot loader when most Linux distributions have graduated to the more user friendly Grub. Since I already had Grub installed in the MBR on my machine, I chose to edit the grub menu to include Slackware instead. During the installation, Slackware correctly detected the Windows NTFS and Fat32 partitions on my drive and prompted me for the path where I wanted it to be mounted.
The default kernel in Slackware is still the battle worn time tested 2.4 series (188.8.131.52) but you can also opt for the latest 2.6 (184.108.40.206) version of kernel at the time of installation by entering the command 'huge26.s' at the boot prompt.
As far as window managers are concerned, Slackware bundles with it a total of seven window managers which includes KDE 3.5.4, Xfce 220.127.116.11, Fluxbox, Blackbox, WindowMaker, Fvwm2 and Twm. But if you are a die hard Gnome user, then you will be disappointed though because Pat has long since discarded Gnome for its perceived difficulty in maintenance.
Slackware follows the BSD style init scripts
One note worthy fact about Slackware is its adoption of the BSD style init scripts over the System V init scripts more commonly embraced by the rest of the Linux distributions. What it translates for the Slackware user is simplicity in enabling and disabling services. You do not have to dirty your hands by changing the sym-links as you do in System V init scripts.
For example, say I want to enable the firewall in Slackware when it is booting up. All I have to do is move to the /etc/rc.d/ directory and set the executable bit of the file rc.firewall. And the next time Slackware boots up it will have the firewall up and running. On a similar note if you want to disable the firewall, then just unset the executable bit of the file rc.firewall. But that is not all. The contents of the rc.firewall file are in the same format as the iptables rules you enter in the command line which makes it quite easy to maintain in the long run. There is no iptables-save or iptables-restore for you.
Similarly for loading any extra drivers in the Linux kernel, you enter the module name in the liberally commented rc.modules file. For each service that is available in the system, there is a corresponding rc.<servicename> bash script in the /etc/rc.d/ directory and depending upon whether the executable bits are set or unset, Slackware chooses to start/stop the service during system startup.
Useful configuration scripts in Slackware
Earlier I had mentioned the obvious lack of any Slackware specific GUI front-ends. Well, it was more of a white lie ;-). Even though there are no GUI front-ends for configuration, there are a collection of curses based programs (scripts) which you can use to set up and configure a variety of features in Slackware including setting up networking. Some of them that I am aware of are as follows:
- netconfig - A menu based program that will help in configuring your network.
- pppsetup - A menu based program that helps in connecting to the Internet via a dial up modem.
- xwmconfig - Choose your default window manager.
- liloconfig - Setup and install LiLO to the boot drive.
- xorgcfg - Setup the configuration for X Windows. It will automatically generate the xorg.conf file which is saved in the /etc/X11/ directory.
- alsaconf - Automatically detects the sound cards and configures the sound.
More over, Slackware specific tools like Swaret, Slapt-get - a clone of apt-get and Slackupdate make it easy to keep the system updated with the latest security patches or even upgrade the entire system to a new version.
I have been using Slackware for a couple of weeks now and I am definitely impressed with the ease with which you can configure it. And I have started to really like this distribution. I did face some issues once I finished installing Slackware. Like I had to modify the xorg.conf file to get my mouse wheel to work also I had to run alsaconf to get sound to work properly. But nothing serious which warranted any drastic action.
Even though Slackware does not bundle Gnome with it, there is a separate project called Dropline Gnome which provide Slackware specific packages of the latest version of Gnome. Another site which caters to the Slackware crowd is linuxpackages.net which is a repository of Slackware packages.
Slackware is one of the oldest Linux distributions out there. And over the years, it has consistently kept pace with the changes. All the software bundled with Slackware 11.0 is the latest version - for instance Vim 7.0 is included, so is Firefox 18.104.22.168. And this is a remarkable feat since it is a project borne off the efforts of one man - Patrick Volkerding.