Review |
|
Slackware Linux is not your ordinary Linux distribution. For starters, it rarely figures in news headlines, preferring to keep a low profile instead. Its developers have stubbornly resisted any attempts to make their users' lives easier: the distribution provides no graphical configuration utilities, it's package management does not resolve dependencies and its simple, text-mode installer has undergone very few changes in years. Yet, Slackare Linux remains one of the top 5 Linux distributions in use today. What is the reason for its tight hold on many users? Surely, in the absence of any convenient features found in other modern distributions, the only explanation is that Slackware holds supernatural powers - try it once and you will never be able to leave it again for any other distribution. Or is it something else? Robert Storey has set out to investigate.
|
|
In The Beginning...
|
"What is history," Napoleon famously
said, "but a lie agreed upon." Fortunately (SCO notwithstanding), the
history of Linux is (mostly) agreed upon by honest people. And anyone
who knows the history of Linux will understand why Slackware deserves a
special place in the pantheon of distros. Released in July 1993 by
programmer extraordinaire Patrick Volkerding, Slackware 1.0 was one of the
first ever Linux distros.
Remarkably, more than 10 years later, Slackware (now at version 9.1)
still commands a loyal following despite the existence of formidable
competition. Many other distros have come and gone, yet Slackware -
like an old reliable grandfather clock - just keeps on ticking. Indeed,
it still remains one of the major distros, though it has been surpassed
in market share by the "big guns" such as Redhat/Fedora, Mandrake,
SUSE, and Debian. So just what is it about Slackware that commands such
a loyal following?
|
Keep It Simple Stupid (KISS)
|
In a nutshell, Slackware has chosen to
keep it simple. Please note that "simple" should not be equated with
"easy to use." Indeed, much the opposite is true. While other distros
have loaded on Windows-like (or Macintosh-like) features such as
graphical installers and point-and-click system administration tools,
Slackware has decided to stick to its roots. Part of the Slackware
philosophy is to be as Unix-like as possible. The definition of
"Unix-like" can be a little tricky to pin down, but basically it means
that Slackware shuns bells and whistles that newbies tend to like.
To put it another way, what Slackware users mean by "simple" has more
to do with the underlying operating system. From a programmer's
prospective, Slackware is indeed simple - bells and whistles add
complexity and the potential for software bugs. However, for system
administrators, Slackware requires more effort than user-friendly
distros such as SUSE or Mandrake. Aspiring Slackers can expect to spend
a fair amount of time working at the command line, using esoteric
commands such as "groupadd" and "userdel." Furthermore, it will be
necessary to manually edit a few configuration files such as
/etc/rc.d/rc.inet1 and /etc/hosts. And then there is the issue of
software installation - expect to spend time compiling source code and
manually resolving dependencies.
Despite the lack of cute and cuddly graphical tools, many system
administrators swear by Slackware and would use nothing else. Why?
Because they understand Unix and it makes sense to them. Because they
can learn the nuts and bolts of the operating system (if nothing else,
running Slackware is educational). It should also be mentioned that
Slackware is fast, stable and secure.
And besides all that, graphic utilities are for wimps.
|
Getting The Goods
|
Slackware is available as a free
download - check out the links on the Slackware web site. You can also order it for US$39.95 at the
Slackware store. If you are a
regular user of Slackware, it would be a nice gesture to throw $39.95
every so often to the Slackware development team if you can afford it.
This is not to say you must give a donation, but merely to suggest that
it would be a damn good idea. Like most free projects, Slackware can
only remain free if people are willing to donate a few alms every so
often.
Slackware 9.1 is the first version that comes on two CDs. This has
caused some consternation among the Slack faithful who felt it was a
betrayal of the KISS principle. Personally, all the whining and
hand-wringing doesn't make much sense to me, because you actually only
need the first CD to do an install. The second CD is purely optional - it includes KDE and Gnome, both of
which have grown so large recently that they can no longer fit on the first
CD.. There is also a directory labeled "extra" which has
some interesting goodies (more on that later). Finally, the second CD
is bootable and provides you with a "live" version of Slackware which
is very handy for rescue operations.
Actually, the above paragraph only applies to the download version. If
you order the $39.95 version, you get a four-disk set which includes
the following:
1) Bootable installation disk.
2) Bootable live/rescue disk.
3) ZipSlack (installs Slackware onto a Windows partition)
4) Source code and archives
Personally, I hope that future versions of Slackware will include one
more CD with additional software packages, thus saving people (like me)
who lack broadband the necessity to download a lot of programs after
installation. Again, for the benefit of those who religously believe
that Slackware should maintain a one-CD philosophy, this additional CD
should be purely optional.
|
Installation
|
Once you've got the
CDs in your hot little hands, all you need to do is pop the first disk
into the drive and reboot. Almost uniquely among Linux distros, Slack's
installer first loads a full-fledged version of Linux and presents you
with a login prompt - hit <enter> and you will be logged in as
root (no need for a password). At this point, you could do various
things such as mounting hard disk partitions and attempting repairs.
However, if your goal is to install the OS, the first thing you should
probably do is type "cfdisk" which launches the utility to partition
the hard drive.
Screenshot 1: Cfdisk
Partitioning a hard drive is one of those tricky things that any
self-respecting Linux geek needs to know about. At the minimum, you
need two partitions - one for swap, and one for everything else (the
"root" partition as designated with the symbol "/"). Just how large
your swap partition should be is a subject of intense debate, but I
typically go for 400 MB myself. The size of your root partition is
entirely up to you - I'd suggest a bare minimum of 3 GB, but 6 to 10 GB
would be better if you have that much empty space available.
Once you have completed your partitioning and saved any changes you've
made, exit cfdisk and you'll be back at the root prompt. Then simply
type "setup" and hit <enter> - this will launch the installation
program (no, cfdisk is not part of the installation program).
At this point, what will quickly become obvious is the fact that
Slackware's installer is text-based, as opposed to graphical. More
accurately, the installation procedure is ncurses-based, which means
you are presented with text menus that you can maneuver with the cursor
keys. Though no doubt some newbies are terrified by the sight of text
mode (even if ameliorated with ncurses), Slackware's installer is
intuitive enough. It may not look pretty, but it's easy enough to
understand and veterans of previous Linux installs should have no
problem whatsoever.
The first thing setup wants to know is if you'd like to format a swap
partition. You should definitely do this (you did create the swap
partition with cfdisk, didn't you?). Choose ADSWAP to format and
activate the swap partition.
Then choose which partition you would like to set up as root (/). You
are given a choice of formatting the root partition as ext2, ext3, or
reiserfs.
If you mess things up at this point (or any other point), you'll have
to start over. Sadly, Slackware's installer lacks a "back" button.
You are now presented with several general categories of software to
install, as follows:
Base Linux system
Various Applications that do not need X
Program Development (C, C++, Lisp, Perl, etc.)
GNU Emacs
FAQ lists, HOWTO documentation
The GNOME desktop for X
Linux kernel source
Qt and the K Desktop Environment for X
International language support for KDE
System Libraries (some needed by both KDE and GNOME)
Networking (TCP/IP, UUCP, Mail, News)
TeX typesetting software
TCl/Tk script languages
XFree86 X Window System
X Applications
Games
I decided to install everything, a total of about two gigabytes of
software. When the first CD is finished, you get a prompt for the
second CD but are also offered the option "Quit installing packages
and finish up." In other words, even if you chose to install
everything, you can still change your mind and go for a one-CD install.
Now go make a cup of coffee. There is no "progress bar" while these
packages are installing, but typically you can expect the computer to
be busy for 30 minutes or so. When all the packages you've chosen have
installed, you should wind up with a peculiar pop-up message that says:
For best results, fc-cache should be run whenever fonts are
added to the system.
Towards the end of the installation, you are given a choice of kernels
to install. The default is bare.i and most users should be satisfied
with that. The complete list of available kernels is as follows:
adaptec.s
ataraid.i
bare.i
bareacpi.i
ibmmca.s
jfs.s
lowmem.i
old_cd.i
pportide.i
raid.s
scsi.s
scsi2.s
scsi3.s
speakup.s
xfs.s
zipslack.s
After you choose a kernel, you'll be presented with the following
message:
The Linux kernel uses the hotplug subsystem to activate hardware
that can be plugged into a running machine. Examples of this kind of
hardware include USB devices, or Cardbus devices used with laptops. The
hotplug subsystem can also be activated at boot time to discover and
enable a wide variety of other hardware, such as PCI sound cards. To
activate the hotplug subsystem at boot (this is usually a good idea),
say YES here. Note that using hotplugging with certain hardware can
possibly lead to crashes or system instability. If you notice problems
that you think may be related to hotplug, you can skip hotplugging at
boot time by passing the "nohotplug" option to the kernel, or you can
make /etc/rc.d/rc.hotplug non-executable to avoid loading it at boot,
or try to figure out which kernel modules cause the problems so you can
add them to /etc/hotplug/blacklist.
Most users should probably go ahead and say "yes" to hotplugging. Note
that this will slightly slow down the bootup procedure (by a few
seconds).
The next big issue is to whether or not to install the LILO boot
manager, and if so, where to install it. Personally, I prefer the GRUB
boot manager myself, and I don't know why Slackware doesn't give that
option. You are presented with these choices:
simple - Try to install LILO automatically
expert - Use expert lilo.conf setup menu
skip - Do not install LILO
You are also asked if LILO should be configured to use frame buffer
console. I prefered to choose "standard", which is the safe choice,
rather than the recommended "frame buffer console" choice.
Most people should choose to install LILO to the MBR, rather than
"Root" which is the default. You can also install it to a floppy.
Next up: You are given a choice of startup services to run, as follows:
rc.atalk - Netatalk Appletalk file/print server
rc.bind - BIND (Domain Name System) server
rc.cups - CUPS print server
rc.httpd - The Apache web server
rc.inetd - The BSD Inetd daemon
rc.ip_forward - Activate IP packet forwarding
rc.lprng - LPRng print server
rc.mysqld - The MySQL database server
rc.pcmcia - PCMCIA/Cardbus card services
rc.portmap - RPC portmapper daemon
rc.samba - The Samba file/print server
rc.sendmail - The Sendmail mail server
rc.sshd - The SSHD (secure shell) daemon
As long as you have a printer, you should turn on CUPS (it's off by
default). Do not turn on both CUPS or LPRng - it should be one or the
other.
Laptop computers will almost certainly need PCMCIA turned on - few (if
any) desktops will need this. Sendmail and SSH are both pretty
important for the typical user.
Unusually among distros, Slackware allows you to select custom screen
fonts for the console. This can be changed after installation by typing
"setconsolefont" or by editing etc/rc.d/rc.font. Personally, I'm happy
enough with the default console fonts.
|
Post-Install Configuration
|
Basically,
installation is finished at this time. Remove the CD from it's drive
and reboot. Slackware boots into text mode - if you want to run X, you
start it with the startx command. One thing you'll notice is that
Slackware gives you cute slogans - this is thanks to "Fortune".
So you've got a root prompt, a text-mode screen, and a cursor to stare
at - now what do you do?
Most likely, you'll want to add a new user. If you want each user to
have his/her own group, first run the "groupadd" command, followed by
"adduser":
groupadd bob
adduser
In this case, when prompted, choose "bob" as the "initial group".
I was very surprised to find that there was no .bashrc or .bash_profile
files in my home directory. Nor does /etc/skel offer any. The only
hidden files in a user's home directory are .bash_history and
.screenrc. I personally like to have a .bashrc and .bash_profile with a
few aliases to protect my files from getting clobbered by mistakes I
occasionally make. So I created these two files, with this content:
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
set -o noclobber
I also want a nice-looking prompt at the command line, which can be
created by adding this:
PS1="\u@\h:\w> "
export PS1
Finally, to save my poor tired eyes, I like big fonts in the
applications that run under X window. That can be accomplished by
creating this alias in .bashrc and .bash_profile:
alias startx='startx -- -dpi 100'
|
Services With A Smile
|
This might be a good time to point out
something interesting about Slackware's startup services. Unlike most
distros, Slackware doesn't include a startup configuration utility such
as Redhat's ntsysv or Debian's rcconf. Why? Because it's not needed.
Almost every Linux distro on the market uses the Unix System V method
of init files to start services. Slackware, on the other hand, is
almost unique in that it uses a beautifully simple method of system
initialization that was
borrowed from BSD Unix (ie FreeBSD, OpenBSD and NetBSD). In Slackware,
everything that is run at startup is found in
/etc/rc.d/. Type ls -l /etc/rc.d to see all the startup scripts in the
system.
Screenshot 2: Startup scripts (note which files are executable)
The startup scripts of FreeBSD will look in /usr/local/etc/rc.d for scripts that have an .sh extension and are executable by
root. Those scripts that are found are called with an option start at
startup, and stop at shutdown to allow them to carry out their purpose.
So if you wanted the above sample script to be picked up and run at
the proper time during system startup, you should save it to a file called
FooBar.sh in /usr/local/etc/rc.d and make sure it is executable. You
can make a shell script executable with chmod(1) as shown below:
To enable a script, simply make it executable with the chmod command.
For example:
chmod 755 /etc/rc.d/FooBar
This will make script FooBar executable at bootup time. You can disable
a service with this command:
chmod 644 /etc/rc.d/FooBar
This is such a simple and elegant system, I really don't know why all
the Linux distros don't adopt it. Perhaps it's an example of the "not
invented here" syndrome, since this is a concept borrowed from BSD land.
It's worth noting that some services are invoked by inetd when a
connection is received on the appropriate port. This is the procedure
for mail reader servers (POP and IMAP). These services are enabled by
editing the file /etc/inetd.conf. See inetd for details on editing this
file.
As already mentioned, you can run your own commands on bootup by
placing them in /etc/rc.d/rc.local.
|
Networking
|
If you're like most users, you'll
probably want to get your network running. Network configuration is not
automatic. Although my ethernet card was detected, typing "ifconfig" at
the command line showed this:
root@sonic:~> ifconfig
lo Link encap:Local
Loopback
inet
addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK
RUNNING MTU:16436 Metric:1
RX packets:0
errors:0 dropped:0 overruns:0 frame:0
TX packets:0
errors:0 dropped:0 overruns:0 carrier:0
collisions:0
txqueuelen:0
RX bytes:0 (0.0
b) TX bytes:0 (0.0 b)
That's the loopback interface, not the ethernet card. Since I have a
static network and I've designated my address as 192.168.0.2, the
following command got things going:
ifconfig eth0 192.168.0.2 netmask 255.255.255.0
I added the above line to /etc/rc.d/rc.inet1 so it will run at every
bootup. Alternatively, I could have added it to /etc/rc.d/rc.local
which is where you can run local scripts. Now, when I type ifconfig,
you get this output:
root@sonic:~> ifconfig
eth0 Link encap:Ethernet HWaddr
00:0C:6E:0A:CA:02
inet
addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST
MULTICAST MTU:1500 Metric:1
RX packets:0
errors:0 dropped:0 overruns:0 frame:0
TX packets:0
errors:0 dropped:0 overruns:0 carrier:0
collisions:0
txqueuelen:100
RX bytes:0 (0.0
b) TX bytes:0 (0.0 b)
Interrupt:9 Base
address:0xb400
lo Link encap:Local
Loopback
inet
addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK
RUNNING MTU:16436 Metric:1
RX packets:0
errors:0 dropped:0 overruns:0 frame:0
TX packets:0
errors:0 dropped:0 overruns:0 carrier:0
collisions:0
txqueuelen:0
RX bytes:0 (0.0
b) TX bytes:0 (0.0 b)
If you access the Internet with a modem, ppp configuration can be done
with pppsetup. That works fine, as far as it goes. When you want to
dial the modem you must type ppp-go, and to stop it the command is
ppp-off. The problem is that common users do not have permission:
bob@sonic:~$ /usr/sbin/ppp-go
bob@sonic:~$ /usr/sbin/pppd: Can't open options file /etc/ppp/options:
Permission denied
Common users can use kppp - this works fine and is the preferred way to
do things. Kppp is super-easy to set up.
Slackware doesn't come with a firewall, so I downloaded the source for
Guarddog and installed it. Guarddog has a very nice graphical system,
easy to configure. By default everything is blocked, so you have to
know what to unblock in order to get connected to the Internet.
Basically, you'll want to unblock the following:
File Transfer: ftp, http, https
Interactive Session: SSH
Mail: IMAP, POP3, SMTP
Network: DNS
|
Printing with CUPS
|
If, as I do, you print with CUPS, you
need to set up your printer. First check to make sure the CUPS daemon
is running:
bob@sonic:~> ps aux | grep cups
root 1034 0.0 0.9 4904
2332 ? S
09:43 0:00 /usr/sbin/cupsd
bob 4668 0.0 0.1
1484 460 pts/3 S
14:42 0:00 grep cups
If that looks OK, start X window and Mozilla, and type this url:
http://localhost:631
You'll be prompted to log in. Log in as "root" and give the root
password. You will then be able to configure your printer.
|
Multimedia
|
Old reliable xmms is supplied for
playing music CDs. However, to get things working, as root create a
group "sys" (for sound).
Sound is muted. Run the command "alsamixer", then "alsactl store" to
save settings in /etc/asound.state which will be loaded at boot time.
Xine is a fine movie player, and is installed by default. However, I
prefer MPlayer - I had to download the source and compile it. I also
installed the win32 codecs into directory /usr/lib/win32. There were no dependency issues.
|
The Joy of X
|
I did not have to configure X window, as Slackware configures it
automatically. However, this is a mixed blessing, since by default
Slackware uses the VESA frame buffer driver. This may be part of
Slackware's KISS philosophy - the installer doesn't attempt to detect
your video card, it just uses the VESA driver because it's almost
guaranteed to work with any video card. Unfortunately, performance is
very poor with this driver.
It's a much better idea to run the utility xf86config which allows you
to use different drivers and tweak screen settings. Optionally, you
could run XF86Setup (which is graphical and nicer, but is not installed
in Slackware by default). Or you could take the brute force method and
borrow file /etc/X11/XF86Config-4 from Redhat, Mandrake or whatever, if
you happen to have another distro installed on the same machine.
If you have an NVIDIA card (as I do), you might want to download and
install the NVIDIA driver (it isn't included with Slackware).
Alternatively, you can use the nv driver (which is included with
Slackware). This is what I did, but my screen was off-center, a
condition I corrected by running xvidtune. As the name implies,
xvidtune is a utility for tuning the video settings. Note that you
cannot run xvidtune with the VESA frame buffer driver - you'll get an
error message saying: "Video modes are not tunable on this chip." So
you will need to install another driver first with xf86config.
With any luck, you won't have to use xvidtune. However, if your
screen is off-center and you don't want to use the physical buttons and
knobs on your monitor to fix this, xvidtune is the only game in town.
Xvidtune seems like a pretty intuitive utility, but there are a few
tricks to it. When you first start it (by typing "xvidtune" in an
xterm), a very nasty warning flashes across the screen:
The incorrect use of this program can do permanent damange to
your monitor and video card. If you are not sure what you are doing,
hit cancel now. Otherwise, hit OK to continue.
Screenshot 3: Xvidtune
Despite this intimidating message, it's unlikely you'll cause your
monitor to blow up, especially if the only thing you are doing is
changing the horizontal and/or vertical settings. Yes, you can damage a
monitor if you exceed its horizontal or vertical display frequencies,
but you aren't going to be messing with that. All I want to do is
center the display on the screen. So in other words, hitting "OK"
should be OK.
Once I've given the OK, I click on the button that says
<Left>, expecting the screen to move left. Actually, it won't
move until I hit the button that says <Apply>. I find that four
clicks on the <Left> button and then hitting <Apply> does
the trick. My screen is centered. So great, no problem, right?
Wrong. This will work fine, but the settings are not saved. My
screen will remain centered, but when I exit X everything will revert
back to the default settings. In fact, xvidtune cannot save these new
settings. I must cut and paste the settings manually into file
/etc/X11/XF86Config-4.
First I need to see the settings. I can get this by clicking the
<show> button in xvidtune. The settings will then appear in my
xterm. As it so happens, the settings it shows me look like this:
"800x600" 49.50 800 832 912 1056
600 601 604 625 +hsync +vsync
Well that's nice, but what do I do with these settings?
Unfortunately, that's a little more complicated than it should be. I
must modify file XF86Config-4 manually. Before I do that, I make a
backup copy of it called XF86Config-4.original, but use whatever name
suits your fancy. I then, as root, must edit the file.
I open file /etc/X11/XF86Config-4, and search for the section
that says "Monitor" - it looks like this:
Section "Monitor"
Identifier "Generic Monitor"
HorizSync 28-50
VertRefresh 43-75
Option "DPMS"
EndSection
I then add a line that says:
UseModes "Ulycom"
So that it now looks like this:
Section "Monitor"
UseModes "Ulycom"
Identifier "Generic Monitor"
HorizSync 28-50
VertRefresh 43-75
Option "DPMS"
EndSection
Why "Ulycom"? That just happens to be the brand name of my
monitor. I could have used any name really - "Aardvark" would have been
fine. But I do need to have a name, because I need to create a new
section called "Modes" that identifies my monitor and its settings.
This section does not exist - it will be my own creation, from scratch.
It will look like this:
Section "Modes"
Identifier "Ulycom"
ModeLine
"800x600" 49.50
800 832 912 1056 600 601
604 625 +hsync +vsync
EndSection
Note that the settings after the word "ModeLine" are the settings
I was given by xvidtune when I hit the <Show> button.
So to summarize, when I am all done, my file
/etc/X11/XF86Config-4 will have a whole new section called "Modes",
followed by a section called "Monitor" (to which I added a line called
"UseModes"). The whole thing looks like this:
Section "Modes"
Identifier "Ulycom"
ModeLine
"800x600" 49.50
800 832 912 1056 600 601
604 625 +hsync +vsync
EndSection
Section "Monitor"
UseModes "Ulycom"
Identifier "Generic Monitor"
HorizSync 28-50
VertRefresh 43-75
Option "DPMS"
EndSection
Hopefully, that all makes sense. Restart X, and the screen should be
properly centered.
Because I want to run my screen in 800x600 mode, I edited
/etc/XF86Config and removed "1024X768". It should go without saying
that before you actually start hacking away at file
/etc/X11/XF86Config-4, you should make a backup copy of it first.
It's a great pity, but Slackware does not install True Type fonts by
default. Setting this up can be an enormous hassle, and is beyond the
scope of this review. About the most intelligent how-to written on this
topic so far can be found here:
|
LILO Revisited
|
There are a few useful things you may want to do by adding an append
line to /etc/lilo.conf. My lilo.conf configuration for my Slackware
partition happens to look like this:
# Slackware
image = /boot/vmlinuz
root = /dev/hda7
label = Slackware
read-only
append="hdc=scsi hdd=scsi apm=power-off"
Note the "append" line. The ability to "power off" your computer at
shutdown requires that you place the "apm=power-off" parameter in
lilo.conf. Also, you will need to uncomment the apm line in file
/etc/rc.d/rc.modules that says "/sbin/modprobe apm". You'll then have
to run the command "lilo" and reboot. Once you've done this, you can
shut down the computer with the command "poweroff", or "shutdown -h
now".
As for those other two parameters "hdc=scsi hdd=scsi" - this is to
enable scsi emulation, which is needed if you want to burn CD-R(W)s. In
this case, I've enabled SCSI emulation for both of my CD drives.
However, SCSI emulation will also require that you edit file /etc/fstab
- it should look something like this:
/dev/scd0
/cdrom udf,iso9660
defaults,user,noauto,ro 0 0
/dev/scd1 /cdrom1
udf,iso9660 defaults,user,noauto,ro 0 0
Be sure that directories /cdrom and /cdrom1 exist - if not, create them
with the mkdir command. Finally, delete the symbolic link /dev/cdrom
and create a new one, like so:
rm /dev/cdrom
ln -s /dev/sr0 /dev/cdrom
You might notice that, as a user (other than root), typing "eject"
fails to eject the CDROM, and instead brings up this error message:
bob@pro:~$ eject
eject: unable to eject, last error: Inappropriate ioctl for
device
The solution is to edit file /etc/group and add user's names to the
group "disk" - you should have a line like this:
disk::6:root,adm,bob,sally
Users bob and sally have to log out and log back in again for this to
take effect.
It should go without saying that before you mess with file /etc/group,
make a backup copy of it first (maybe /etc/group.original).
|
Package Management
|
Slackware uses it's own unique *.tgz system for packaging software.
There are three commands you need to become familiar with:
pkgtool
installpkg
removepkg
Thus, to install a package, you'd type somthing like this:
installpkg swaret-1.3.1-noarch-8.tgz
If you just type "pkgtool" you get a nice interactive menu:
Screenshot 4: Slackware's pkgtool
There is also a nice little utility called rpm2tgz which, as the name
implies, makes it possible to convert rpms to tgz format.
If you look at CD No. 2 in the "extra" directory, you'll find a few
interesting packages. Two important ones which deal with package
management are "checkinstall" and "swaret".
Checkinstall is used when compiling source code. Substitute the command
"checkinstall -S" for "make install." This will build the Slackware
package and installs it, plus it leaves you with a .tgz package that
you can use in the future (or give to other Slackware enthusiasts).
It's already been (briefly) mentioned that Slackware does not resolve
dependencies. In fact, Slackware does not even check for dependencies.
Thus, you can download and install a package only to find that the
program doesn't run because a required dependent package is not
installed. There is also the issue of updating existing installed
packages - Slackware provides no tools to do this.
Long dissatisfied with this state of affairs, some Slackware users have
gone out and created their own third party package managers. Currently,
there are three third-party packages that handle Slackware package
updates - swaret, slackpkg and slapt-get. You'll find both swaret and
slackpkg in the "extra" directory of CD No. 2. However, slackpkg can
only update packages - it has no ability to resolve dependencies.
Swaret, on the other hand, does handle dependencies. Another third party
tool, slapt-get, also resolve dependencies, but it's not included on
the Slackware CD.
|
Brickbats & Kudos
|
In the beginning I found Slackware to be almost more work than it was
worth, but as time went on I've gradually come to appreciate it. It's
speed, stability and simplicity of design has grown on me, while at the
same time I realize that I learned quite a lot about system
administration just by working with it.
Nevertheless, things could be better. Perhaps my biggest complaint
about Slackware is the scarcity of documentation. Yes, there is
"Slackware Linux Essentials" (often called the "Slackbook") which you
can read online, or you can order a
paper copy for US$19.95 from the Slackware store. Unfortunately, the book
is somewhat out-of-date, and focused more on general Unix issues rather
than Slackware specific problems. It's ironic that when I was trying to
figure out Slackware's system of startup rc files, I had to turn to the
FreeBSD Handbook rather than the Slackbook. As an alternative, there is
the The Unofficial Revised Slackware Book Project.
I was certainly disappointed in the lack of True Type fonts. Attempting
to install and configure my own True Type fonts proved to be a major
headache. Considering that most Linux distros do have True Type fonts as
the default, I can only hope that the next release of Slackware will
resolve this issue.
Slackware also needs to do something about the issue of package
management. Debian led the way with it's APT (Advanced Package Tool),
and others have followed. While I was glad to see Swaret finally
included on the second Slackware CD, this is a third party tool and
Slackware does little to support it. Slapt-get is not supported at all.
It would be really nice if future versions of Slackware came with an
extra CD of packages in the Swaret format (OpenOffice, for example,
which is not included with Slackware). At the very least, it would be
nice to have some documentation on Swaret - not surprisingly, the
Slackbook makes no mention of it.
Another issue which is only indirectly related to the distro is the
fact that there is no mention on the Slackware web site of the two
Slackware mailing lists here
and here.
There is also no mention of the Slackware news group at alt.os.linux.slackware. The only support mentioned is the Slackware
forum. Many Slackware newbies are unaware of these mailing
lists and the news group, and as a result you see very little traffic
on the mailing lists, and only slightly more on the news group. This is
a pity, because in my opinion, half the fun of adopting a particular
distro is having a good user community to interact with. Many potential
Slackware users visit the Slackware web site, note the lack of a
mailing list or news group, and move on without even giving the distro
a try. And that is Slackware's loss.
So much for the brickbats. As for kudos, it's much like I've already
said - Slackware is relatively simple (at the underlying level), it's
fast, it's secure, it's stable and it's educational. These are the
features that make a particularly good server - as a desktop system,
Slackware is admittedly a lot of work. While I wouldn't recommend it to
beginners, those who have been playing with Linux for awhile will most
likely enjoy Slackware.
|
Copyright Notice |
Copyright (C) 2003
Robert Storey
Verbatim copying and distribution of this article is permitted in any
medium, provided this copyright notice is preserved. |
|
Review Notes |
Date |
11 December 2003 |
Author |
Robert
Storey
|
About the Author
|
Hiding out in a rural Asian
backwater, Robert was (sometimes still is) well-known as a Far East
travel writer. He now occupies his time spreading the free software
gospel. |
Test Configuration |
Motherboard
|
Asus A7v8x-x mainboard, VIA KT-400
chipset
|
Processor |
AMD Athlon 1600
|
Video Card |
nVidia Riva TNT2 64, 32MB
|
Memory |
256 MB, DDR-RAM
|
Hard Disk |
Seagate 40 GB, 7200 RPM
|
Network |
VIA Technologies VT6102 [Rhine-II]
|
Sound Card |
SoundBlaster PCI 64
|
Slackware Specifications |
Version |
9.1
|
Release Date |
26 September 2003
|
Kernel |
2.4.22
|
GUI |
XFree86 4.3.0 |
File Systems |
• ReiserFS
• ext3
• ext2
• FAT
• ISO9660 |
Minimum Requirements |
• i486 processor or above
• minimum 12MB RAM
• minimum 110MB hard disk space
• CD-ROM or floppy drive
• SuperVGA monitor
|
Platforms |
• x86
• Alpha
• SPARC
|
Features |
• simple start-up scripts
• tgz packaging system
• swaret (3rd party) package management
• speed, stability & security
|
Bundled Software |
• AbiWord 2.0.0
• Apache 1.3.29
• Cups 1.1.20
• GCC 3.3.2
• Gimp 1.2.5
• glibc 2.3.2
• GTK+ 2.2.4
• KDE 3.1.4
• KOffice 1.2.1
• Mozilla 1.4
• MySQL 4.0.16
• Perl 5.8.2
• Python 2.3.2
• Samba 3.0.0
• XFree86 4.3.0
• xine 1-rc2
• Xmms 1.2.8 |
Price |
Free download, or purchase full CD set
for US$39.95
|
Support |
• Forum
• Mailing List 1
• Mailing List 2
• Announce Mailing List
• News Group
• Slackware on irc.freenode.net
|
Glossary |
Zipslack
|
Special version of Slackware that runs
from a DOS or Windows partition. The name is derived from the fact that
it is packaged in a .zip file.
|
Package Manager
|
A tool (ie swaret & slapt-apt) which
installs/removes software while automatically resolving dependencies.
|
TUXEDO |
TUXEDO Computers - Linux Hardware in a tailor made suite Choose from a wide range of laptops and PCs in various sizes and shapes at TUXEDOComputers.com. Every machine comes pre-installed and ready-to-run with Linux. Full 24 months of warranty and lifetime support included!
Learn more about our full service package and all benefits from buying at TUXEDO.
|
Star Labs |
Star Labs - Laptops built for Linux.
View our range including the highly anticipated StarFighter. Available with coreboot open-source firmware and a choice of Ubuntu, elementary, Manjaro and more. Visit Star Labs for information, to buy and get support.
|
Copyright © 2001 - 2024 Atea Ataroa Limited. All rights reserved. All trademarks are the property of their respective owners. Privacy policy. Change privacy settings. DistroWatch.com is hosted at Copenhagen.
Contact, corrections and suggestions: Jesse Smith
Tips: bc1qxes3k2wq3uqzr074tkwwjmwfe63z70gwzfu4lx lnurl1dp68gurn8ghj7ampd3kx2ar0veekzar0wd5xjtnrdakj7tnhv4kxctttdehhwm30d3h82unvwqhhxarpw3jkc7tzw4ex6cfexyfua2nr 86fA3qPTeQtNb2k1vLwEQaAp3XxkvvvXt69gSG5LGunXXikK9koPWZaRQgfFPBPWhMgXjPjccy9LA9xRFchPWQAnPvxh5Le PayPal.me/distrow • Patreon.com/distrowatch |
|