Update [July 9, 2004]: thanks for all the feedback. Some minor corrections added. --Eduardo
Do I have your attention yet? Well, let me provide a few more details on what this particular distribution has to offer:
Interested? Well, it is a 2-CD GNU/Linux distribution whose name is Slackware. No, I'm not joking. I mean it.
For over six months now, I've switched from Mandrake to Slackware and since then I used it every day as my desktop; not only as my home desktop but also as my primary workstation at office and as a desktop for my boss, my dad and my wife.
During the next few weeks, I would like to share with you the story of my switch to Slackware, giving some suggestions for using Slackware as a desktop system along the way. Come along for a good ride!
Note: Keep in mind that all this was written when Slackware 9.1 was still the latest stable version. I'm confident that with the release of 10.0, Slackware as a desktop will be an even more appealing option.The Story so far...
Until the middle of December 2003, I was a somewhat happy Mandrake 9.1 user. I ran Mandrake 9.1 with all the updates applied via MandrakeUpdate and urpmi, plus some Texstar updates. I was looking forward to upgrade to 9.2 in a careful fashion, given the reports of overall instability and issues related to it.
Then came Mandrake advisory MDKSA-2003:118. After I installed this advisory, I could no longer use my Mandrake 9.1. The reason: OpenOffice.org stopped responding. Starting OO.o in the console simply said "segmentation fault". Trying to uninstall the default OO.o and installing OO.o versions 1.0.x or 1.1 from the OpenOffice.org website did not work; the installer displayed a smalll progress bar with a box and then died. Oops.
So there I was, unable to use OO.o which was and still is a critical part of my work. I *had* to do something. The first thing was, obviously, to prepare a good backup of everything important (which I did), and then got ready to change my setup by a new one. But which one?
I got a whole bunch of distributions from OfB Labs, and this was a good moment to try them. So I tried Knoppix 3.3 and Fedora Core 1, before trying to install Mandrake 9.2 (this is a whole story by itself). When I thought I was ready to try Mandrake 9.2, I did the install, thinking that with the updates, Mandrake would be the end of the whole story.
But it wasn't. There were several issues, especially the massive updates required, and some choices made by Mandrake that I regard as not very fortunate. For example, Mandrake uses Galaxy, which I consider is nice, but not of my personal liking; however, removing it was a real pain. In Gnome and GTK+, especially, was extremely difficult to get rid of things such as the Galaxy color scheme.
Another example would be the bootsplash package. This is a package which replaces all the supposedly cryptical boot messages for a supposedly "friendlier" (?) splash screen which hides everything. And if you really want to see what's going on, you can press ESC. That gets you a console with a bitmapped background done in blue, and you stay with it. After that, the remaining consoles have some funny logo plastered. That is perfectly fine, that is, for people who like such things. Trouble is, I don't. So, I would simply deselect it during installation, right? Wrong! The bootsplash package is being artificially depended upon almost every Mandrake RPM on the CD that remotely resembles something graphical. Get rid of the bootsplash, and you'll end with a server, console-only setup.
Well, to make a long story short, I was extremely dissappointed with the status of the Mandrake Linux distro at the time, I was stuck without a working system, and I desperately needed something that just worked. It was then that I saw the old Slackware 9.0 CD from OfB Labs, and I asked myself, "why not?" So I installed Slackware, and off I went to the world of (supposedly) non-friendly, non-intuitive, arcane Unix-like computing. My goodness, how wrong I was! Instead of forcing me to be a Unix guru or something similar, I found ease of use, sensible defaults, real speed and stability, and really good software. Since then, I upgraded to Slackware 9.1, and now I'm waiting for the next Slack version, knowing it is going to be a good release.
Now, just for the sake of clarity: I still do like Mandrakelinux very much. I think that it is a very good all-purpose distribution. However, they really needed to take care of the quality control at the time of the 9.2 release (and in fact they did, and this prompted a whole new releasing model). But they are losing flexibility, are making choices not very wise (like the artificial bootsplash dependency hell), and, frankly, distributions such as Slackware are catching up with Mandrakelinux's lead. I think there's a growing dissatisfaction with the Mandrake community, leading to many defections to other distros, and one fork (PCLinux OS) made by the famous 3rd party Mandrake packager Texstar. Mandrakelinux, in my opinion, is in need of a change; but meanwhile, I wish them the best.Parameters and assumptions
For the purposes of this series, I used three systems, which as well served three different functions:
All desktop work was done from the assumption that the system should be friendly and accesible to general end-users, including most computer-illiterate people. I think that Unix-like systems, when properly set up, have the advantage here: they are very fault-tolerant within the limits of an user account, allowing users to experiment and freely explore the system.
The installation and initial setup is to be done by someone with more experience with computers. This is consistent with widespread practice. As I said before, end users installing their own operating systems are an exception, and not the norm, in almost every OS under the sun. Therefore, the install and initial setup should be performed by the "resident nerd" of the office or home, or by an otherwise qualified person.
And here lies our secret: The whole point of this desktop setup is to convert our Slack box into a KDE/GNU/Linux (KGX) box, using the strong Slackware hallmarks of quality, ease-of-use and simplicity as the foundation of the excellent KDE desktop environment. This is mandatory: in order that most of the tips I give in this series could work, you must have KDE installed. You are perfectly free to use other window managers or desktop environments, such as GNOME or XFCE, but you'll need KDE installed in order to do some of the system administration tasks and some of my tips will require the use of KDE as a desktop.
Finally, please note that in order to get the most from this series, a minimal degree of familiarity with a KGX setup would be required. That is, it would be convenient to know how to navigate the file system, and some of the KDE particulars, such as the use of the KDE command line (the ALT+F2 window). Therefore, this series is best suited to persons who plan to perform system administration of desktop boxes. However, please note also that I will try to be not too technical --hey, I am not an expert-- and I encourage anyone willing to try my suggestions, to do so.System installation
The task of installing Slackware is fairly straightforward and it is well described elsewhere (canonical though outdated source here, another good link here; this is also going to be great source once it's done), so I won't dwell too much on it.
The Slackware installer it is a text-only process which usually consist of three steps. In the first one you boot into the install environment; there you have a root console where you can bring up the network (if needed), and manage the partition scheme you're going to use (with the help of the fdisk or cfdisk programs). The second is the install proper, done with the setup program. Finally, and still within setup, you do the initial basic configuration tasks such as setting up the network, choosing the default desktop environment, and so on.
The system administrator can partition the system in the fashion that suits him or her best. I usually follow the scheme favored by Red Hat 6.2: a 16-20 MB /boot partition, a swap space (at least the double of your system RAM), and one or more partitions, one of which is going to be the root (/) partition. The Slackware installer suggests using one big root partition, and in my opinion this is a good scheme for a desktop system, so I used it in all of my boxes.
The fact that the Slackware installer is a text-only program, and that you even boot into a root console instead of using a graphical program may sound exceedingly difficult and arcane, but it is not. First of all, the person doing the installation is likely someone conversant with such situations; and, secondly, the installer proper is quite simple and straightforward. If you feel confused, try following the on-screen instructions.
The installer is a program, or rather, a series of shell scripts made with ncurses. There is nothing unusual with it save for the grouping, typical of Slackware, of different software packages under package directories. Due to historical reasons, these directories are often referred to as 'disksets'. In Slackware 9.1 the disksets span the two installation CDs, although only the first CD is necessary to get a working system. (For our plan, however, we are going to need the two of them). You can find the following disksets in CD1:
The second CD has the following disksets:
When you finish the package installation stage, there are several configuration steps. None of these are noteworthy save for the window manager selection screen, which is shown in Figure 1. As you might see, you must select the default window manager for the system at boot time. What this particular script does is to put /etc/X11/xinit/xinitrc as a symbolic link to one of the real xinitrc.* files mentioned in the setup script. This is simple and convenient but on the other hand, all of your users are going to use the same desktop environment if they start X from runlevel 3 (console-based login), unless each of them decide to create their own .xinitrc files, which is not exactly the most user-friendly undertaking. If you use the X-based login, however, each user is normally allowed to choose his/her own desktop environment. For our purposes, we suggest selecting KDE as our primary desktop. (Update: I've been told by a kind reader that it is possible for a normal user to use the xwmconfig script in order to make his/her own desktop preference instead of the system-wide xinitrc present in /etc/X11. Thanks!)
Besides this screen, there is nothing worth mentioning in the installation stage save for the print server selection. Remember to allow only the services you're going to need. After finishing the installation process, you should take the CDs out of the drive bay and reboot.
A note of warning: If you set up your network at the install stage, and you are connected to the Internet via that network, and granted that you don't need anything from it to boot properly, go and unplug that network cable now. Seriously. For security reasons, get online only when needed. In this setup, we need to get online only near the end of our setup.
In the upcoming articles in this series we will go to the system setup stages. We well see steps such as:
Our next article will focus on setting sound and X Window. Stay tuned!
Eduardo SÃ¡nchez is a Contributing Editor of Open for Business. He is married to Gloria, and lives with his wife in AsunciÃ³n, Paraguay (South America), where he works as pastoral assistant of Villa Morra Baptist Church. You can reach him at firstname.lastname@example.org.