October 26, 2005

An old hacker slaps up Slackware

Author: Joe Barr

Slackware is old-school Linux. Back in the day -- before Red Hat seized the throne -- Pat Volkerding's Linux distribution was the undisputed king of the hill. Many still use it today. By the time I started playing with Linux in 1995, or running my Web server with it in 1996, Slackware's slump in market share had already begun. I've tried a lot of different Linux distributions during the years since then, but until recently I had never tried Slackware. Here's what I've learned about Slackware while installing and using the recently released Slackware 10.2.

My test system is powered by an AMD64 Sempron 3000+ CPU with 512MB memory, a Sony CD/DVD drive, and an 80GB Western Digital IDE hard drive, all connected to an MSI K8N Neo3 Socket 754 mainboard with onboard 5.1 channel AC97 2.3-compliant sound and 10/100 Ethernet connectivity. Also attached are a USB optical mouse and an EPSON CX5400 all-in-one scanner/printer.

My Slackware experience actually began with 10.1, which I installed a few weeks ago. But when my colleague Joe Brockmeier tipped me off to the pending release of 10.2, I waited for it before really digging in. Even with that brief bit of previous Slackware experience, I've seen changes and improvements in Slackware's installation.

Installation

Don't expect a glitzy GUI for Slackware's installer. What you get has more of a DOS-menu look to it than most Linux offerings, but it is fast and functional.

The biggest change I noted between the 10.1 and 10.2 install was the elimination of GNOME as an alternative choice for the desktop. Volkerding explained its absence in the Changelog.txt for 10.2:

gnome/*: Removed from -current, and turned over to community support and distribution. I'm not going to rehash all the reasons behind this, but it's been under consideration for more than four years. There are already good projects in place to provide Slackware GNOME for those who want it, and these are more complete than what Slackware has shipped in the past. So, if you're looking for GNOME for Slackware -current, I would recommend looking at these two projects for well-built packages that follow a policy of minimal interference with the base Slackware system:

http://gsb.sf.net
http://gware.sf.net

The biggest improvement I noted was in the installer's ability to cope with multiple partitions. In 10.1, the installer slowed to a crawl if asked to place the OS on one of several partitions that it could see. Scanning for the installation CD seemed to take forever, and individual packages were taking minutes to install instead of seconds. When I installed 10.1 with only the target and swap partitions known to the installer, it would fly, but not with a second and third partition. I was happy to note that this problem has been fixed in 10.2.

The Slackware installer offers you the opportunity to pass additional information as to the kernel to load, or perhaps drive geometry for gear that the probe just can't fathom. For the rest of us, we'll simply press Enter at the boot: prompt.

After the default or specified kernel is loaded, you're prompted to tell the installer about a non-US keyboard layout. If you're in that group, enter a 1 at this prompt; otherwise press Enter again.

After you read the information presented on the screen about partitions and what to do if you're not using a color monitor, log in as root and enter Setup at the next prompt to begin the actual installation.

Setup offers you the following choices:

  • HELP -- Read the Slackware Setup HELP File
  • KEYMAP -- Remap your keyboard if you're not using a US one
  • ADDSWAP -- Set up your swap partition(s)
  • TARGET -- Set up your target partitions
  • SOURCE -- Select source media
  • SELECT -- Select categories of software to be installed
  • INSTALL -- Install selected software
  • CONFIGURE -- Reconfigure your system
  • EXIT -- End the setup program

Using the Tab key -- you can use the arrow keys if you prefer -- I highlighted ADDSWAP and pressed Enter. I had two 39GB Linux partitions and a 2GB swap partition on my hard drive before starting the installation, but I still needed to tell Setup to add the swap partition. It's not that the installer doesn't know it's there, it just wants to be sure that you want to use it. When you say yes, it formats the partition, checking for bad blocks as it goes.

TARGET came next. Setup displayed the two Linux partitions it found, and I selected /dev/hda1 for the installation. Next I chose the Quick Format option for the partition and used the default ReiserFS rather than ext2 or ext3. The root partition was immediately formatted, and I was given a chance to select the second partition for inclusion in /etc/fstab so that it would be available for my use at boot time. I took advantage of the offer, chose not to format the partition, and entered /backup for its mountpoint.

Setup then proceeded to SOURCE without waiting for me to select it. I hit Enter to select the default "Install from a Slackware CD or DVD," then OK to let Setup scan for the CD on its own. It quickly found the CD and presented me with a Package Series selection screen. I accepted the default, which included all package series except KDE international language support.

Next, Setup asks for a prompting mode for installation. Setup offers full, expert, menu, newbie, custom, tagpath, and help options. The recommended mode is full, which installs everything and requires about 3GB of disk space. That's what I chose.

A screen appeared with a description of each package being installed, but most of them flew past too quickly for me to read, even if I wanted to read them. In just a few minutes, Setup was asking for the second CD, and quickly installed the packages on it.

The next screen gave me the opportunity to copy a kernel from elsewhere -- bootdisk, diskette, or CD -- or to skip the step and continue using the default kernel used for the install. I chose the default. Since I don't have a diskette drive in the system, I chose to skip creation of a bootdisk as well.

I hit Enter once to accept the "No modem" option, and again to indicate Yes, enable the hotplug subsystem at boot time. Then it was time to install LILO. I chose the automatic install, and to place it on the master boot record. Next, it was time to indicate that I had a USB mouse and that I wanted gpm loaded at boot time.

You can't get anywhere if you can't get online, so the next step was network configuration. Setup requires a host name, so I used slackbox. It also required a domain name, so I followed the example shown and used example.org. Then I was offered a choice between a static IP address, DHCP, or simply a loopback connection. I pressed Enter for the default DHCP. Last, it wanted to know a nameserver, and I left this blank. Setup displayed all my network choices and asked if they were correct. I said Yes, and was done with the networking.

Services came next. By default, Slackware starts inetd, pcmcia, sendmail, syslog, and sshd at boot time. I deselected pcmcia and sendmail. Then I declined the offer for custom console fonts, explained that the hardware clock was set to UTC, not local time, and indicated I was in the US/Central time zone.

The penultimate item was my choice for window manager. Slackware offered KDE, xfce, blackbox, fluxbox, wmaker, fvmw2, and twm. I took the default, KDE. Finally, I was asked if I wanted a root password? Slackware recommends one, and I never do without one, so I said yes and entered it. Setup informed me that all that was left for me to do was to EXIT and reboot, which I promptly did. The entire process took roughly half an hour.

More on page 2...

After the reboot

When I restarted the system, the line above the "slackbox login:" prompt said "Welcome to Linux 2.4.31 (tty1)." I logged in as root, then created a regular user account for myself using adduser, then logged out as root and back in as the regular user, all from an unadorned command line. I then entered startx, and the stark console I had been typing at was replaced with the lovely KDE 3.4, which guided me through a brief setup and then left me to my own devices.

Speaking of devices, my USB optical mouse was working flawlessly. So was my Internet connection; Mozilla surfed NewsForge without a hitch, and I soon had an XChat session going on IRC.

My printer, however, was nowhere to be found. Google helped me find a guide to starting CUPS on Slackware, which I then did as root by using chmod +x rc.cups in the /etc/rc.d directory, and then -- from the same location -- entering ./rc.cups start. With CUPS up and running, it only took a minute to add the printer and ensure it was working.

Now I had a nice looking desktop environment, a working Internet connection, and a working printer -- time to see which apps were present. I found lots of developer tools, including KDevelop and Quanta Plus. Lots of games, too, including mission-critical items like solitaire and KPoker. Offerings for the Internet included staples like Gaim, Firefox, Mozilla, XChat, KMail, Kopete, and many more. Multimedia options included Xine and a whole raft of K-things. For the office, I had AbiWord and KOffice, but no OpenOffice.org.

All in all, Slackware installed a decent array of applications, but I wanted a few things that were not present, such as K3b and Evolution. What better time to look at Slackware's package management?

Package management

Yes, Slackware has package management; but no, it does not handle dependencies. By the way, for help with package management and many other topics, the best place to look is in The Revised Slackware Book Project. Chapter 18 covers the package management tools: pkgtool, installpkg, removepkg, upgradepkg, and rpm2tgz/rpm2targz.

The first app I added was K3b. I began by searching in the official package repository at using the online package browser. The repository is accessible for the current version, patches, and extras. There are also archives of the same categories for previous releases.

I didn't find K3b in the standard Slackware packages of the current version, but when I searched in Extras, it popped up. I downloaded the package and saved it in a new subdirectory named packages in my home directory. Then, as root, I entered that subdirectory and ran installpkg K3b-0.12.4a-i486-1. That was all there was to it -- much easier than I expected. I breathed a deep sigh of relief that I didn't have to run down a long list of dependencies.

I didn't have any luck finding packages for Evolution or TVTime. I'm told the best way to deal with applications outside the normal packages is to build them from source rather than to trust other packages you might find around the Net. Rootkits and all that, you know. Checkinstall, a handy tool which is included in the Slackware distribution, provides a clean and easy way to install and manage applications that you build from source.

Not all Slackware users restrict themselves to the official package management tools included in the distribution, and there are a number of unofficial projects available for them to choose from, including Swaret, Slaktool, Slack-get, and Slapt-get.

I've not used any of those, so I will refrain from making a recommendation. I will say, however, that to my mind using a package manager that resolves dependencies for you with Slackware is like singing "Kumbaya" at a meeting of the American Atheists. It just doesn't seem to fit the Slackware philosophy.

I mentioned patches being available for packages. If you install Slackware, subscribe to the slackware-security mailing list in order to learn when vulnerabilities have been found and when patches become available.

Running Slackware gives me the sense that everything just fits together. I suppose that is just as it should, but that's not always the case with other distributions, and the package management system is probably a big reason for that.

Stable or current?

Slackware is under constant development from one release to the next. You can keep pace with each patch or improvement as it becomes available in the current version by tracking the updates to -current on the Slackware site or one of its mirrors. I don't know of an automated tool for doing so, but using RSS to get word of each update should work well. If you download the stable version of Slackware, you'll get the last distribution as of the last release. If you grab the current version, you'll get that plus any updates since that release.

Where to go for help

I've been bugging the folks on the #slackware/oftc.net IRC channel over the past few weeks with lots of newbie questions. They've been very helpful, no matter how stupid my question.

And of course there is also the book Slackware Linux Essentials, which is available for free online or for purchase as a printed volume. Commercial support for Slackware is available from a number of sources.

Why they love Slackware
Why are Slackware users so passionate about the distro? For some it is all about power and control. What you give up as a Slackware user in creature comforts, in terms of cradle-to-grave package management with dependency resolution, for example, is replaced with near absolute control over what goes on your system. For others it is Slackware's near legendary stability. Still others are seduced by the fact that they are running the world's oldest surviving distribution. But in an informal poll I conducted on the #slackware IRC channel on oftc.net, the most popular reason was none of those things: it was Pat Volkerding, Slackware's founder and maintainer.

One person said simply, "The best part about Slack really is the maintainer, Pat. He keeps everything up-to-date without breaking things." Another added "volkerdi doesn't patch the bejezuz out of everything. the functionality you get for package 'foo' is pretty much exactly what the original author intended."

Conclusions

Slackware is not for everyone. Many of us are too lazy to give up the dependency resolution of RPM and apt-get, for one thing. But it is a distribution that nearly everyone should try some day, for several reasons. Slackware's stability is renowned, and trying it may be your only chance -- short of doing it yourself -- of running one man's vision of "how things should be." With other distributions, it is more of a vision by committee. With Slackware, you get Patrick Volkerding's vision. And finally, Slackware is primarily an OS for servers and high-end workstations, as opposed to the business or home desktop. You don't need sizzle on the server or the workstation, you need stabiblity. On the desktop, quite often your biggest concern is having the latest, greatest, whatever: right now and without too much effort, if you please. The more comfortable you are with computer hardware and software, the more comfortable -- and appreciative -- you'll be of Slackware.

But it's also accessible to newcomers. The install is not difficult, but I admit that my concerns about a difficult install are one reason I waited so long to try Slackware. Many of those who do try it never change. Because the kernel and the apps are so carefully and lovingly vetted in Slackware, it lags behind other distributions in the availability of the latest and greatest offerings out there. If that is an issue for you, you might be happier with another distribution. But for many, Slackware is it. In my limited time with Slackware, I've come across more faithful, dedicated users -- and fewer unhappy ones -- than I have with any other distribution, including Debian.

Category:

  • Linux
Click Here!