Get Firefox!

#slackware FAQ

This FAQ (Frequently Asked Questions) list covers questions often asked in #slackware on the IRC network.
My reason for writing this FAQ was that a lot of identical questions get asked in the channel, and while we try to be a friendly and helpfull place for both new and experienced Slackware users, answering the same questions over and over can get a bit tedious. So I desided to put together this FAQ to give new users a single place to look for answers to common questions, as well as providing the more experienced people with a place to refer users who ask often answered questions.
The topics covered in this document are mostly Slackware related, but some cover general Linux issues as well. Some of the questions answered are very basic and some are about more advanced topics. Common for all of them is that they are often asked in #slackware.
I don't currently divide the FAQ into parts, but as the document grows I'll probably group the questions into categories to make it easier to find a specific question. But for now it's just a single list of all the questions.

I plan to maintain this FAQ and add new information to it as time goes by in the hope that it will turn out to be a usefull resource and a good repository of information. I hope this will turn out to be one of the first places people will look for answers before asking questions in the channel.
Unless explicitly noted in a particular answer, the questions and answers deal with Slackware version 9.

If you know of any other frequently asked questions that this FAQ currently does not contain an answer for, then feel free to contact me with information on the question and the answer and I'll be happy to add it to the document. I can usually be found in the channel using the nickname "juhl". I'm usually in channel for at least a few hours each day, but if I'm not there you can leave a message for me with MemoServ.

Besides this FAQ you are encouraged to take a look at the officialish #slackware rules page so you know what behaviour is expected in channel, the channel statistics page to see when the channel is most active, and ofcourse the Channel Guidelines.

Now let's get on with the FAQ itself.

These are the questiones currently answered by this document :

1) What is Slackware?
Slackware is a Linux distribution. It is the oldest commercial Linux distribution still in existance and is primarily maintained by Patrick Volkerding. The homepage of Slackware Linux is where you can find a lot of information on Slackware.
Some of the things that differenciate Slackware from other distributions is its focus on stability and its non-reliance on automatic tools to handle administration tasks.

2) Where can I download a specific Slackware package?
You can download all the individual packages that make up Slackware from one of the Slackware mirrors listed at Please use a mirror site close to where you are located to reduce the bandwith usage on the internet as a whole.

3) Where can I download ISO images for Slackware?
Not all of the mirror sites listed at carry the ISO image. Either look through a few of the mirrors untill you find one that does carry the ISO or visit for a list of mirror sites that carry the ISO maintained by Ron Sinclair.

4) Where can I buy Slackware?
If you want to purchase the official 4CD set of Slackware Linux you should visit When purchasing the 4CD set you will get the following CD's :

The downloadable ISO image of Slackware contains only the installation disk and, due to size constraints, does not include the kernel source and extra KDE languages (these can be downloaded ofcourse).
Purchasing the CD set is a great way to support the development of Slackware and will save you a lot of download time, and the Live CD is really great both as a rescue disk and as an easy way of showing off Slackware to your friends.

5) Why can't my PC boot the install CD?
There can be two reasons for this. Either you have an older PC that does not support booting from CD-ROM. Or maybe your hardware does not agree with the SYSLINUX/ISOLINUX bootloader used on the CD. For more info on SYSLINUX go to where you can read about common problems and hardware compatibility issues with SYSLINUX.
You can also try using the sbootmgr.dsk floppy disk image. It can be found in the rootdisks/ directory. Write it to a floppy like you would any disk image (see question 6) and boot it - you'll be given a menu where you can then select the CD-ROM drive as your boot device. That works for some people who can't boot the CD directly, and it will save you the trouble of creating 3 floppy disks for a floppy install.
Even if your system cannot boot the CD-ROM at all, you can still install Slackware by using 3 floppy disks to start the installation program - see question 6 for more info on this.

6) How can I start the install using floppies?
To start the Slackware Linux installation using floppy disks you'll need to obtain one boot disk image and two root disk images (this is for Slackware 9.0, other Slackware versions use a different number of root disks. Check the documentation included in the root directory of your Slackware CD-ROM for information on what disks to use).
First you need to choose what bootdisk to use. The default one to use is the bare.i bootdisk - this is a bootdisk suitable for systems that use IDE disk drives. For systems with SCSI disks you want to choose one of the SCSI boot disks, common choices are scsi.s, scsi2.s or adaptec.s depending on what SCSI controller you have. There are also boot disks for low-memory machines and machines that require the use of special filesystems or use RAID controllers - most people will be using the bare.i bootdisk. A detailed description of all the bootdisks, along with the disk images themselves, can be found in the README.TXT file inside the bootdisks/ directory on the Slackware CD-ROM (or in the bootdisks/ directory on a slackware mirror site - see question 2). The floppy images you need for the root disks can be found in the rootdisks/ directory on the Slackware CD and on Slackware mirror sites. The names of the two root disk images you need are install.1 and install.2.
Soo, now you have the disk images you need, but how do you write them to actual floppy disks so you can use them? Well, that's a fairly simple procedure but it is different depending on what Operating System you are currently using. If you are running Windows, then you should use the RAWRITE.EXE program from a DOS prompt - RAWRITE will prompt you for the disk image you want to write and ask you what floppy drive to write it to (experience has shown that doing a normal format of the floppy disk first to ensure that it is OK is usually a good idea). If you are using Linux to create the floppy disks, then you can use the dd program to create the disks - a command such as dd if=bare.i of=/dev/fd0 bs=512 will create the bare.i bootdisk. Repeat the procedure for the install disks.
When you have all 3 disk images written to sepperate floppies, reboot the machine with the bootdisk in the floppy drive. After loading the kernel you will be prompted to insert the first root disk, insert the install.1 disk and press ENTER, after a little while you'll be prompter for the second disk, insert the insert the install.2 disk and press ENTER, after the install.2 disk is loaded you are presented with an login: prompt and instructions on how to continue the install. From this point on the install procedure is identical to if you had booted from the install CD-ROM.

7) The kernel source is not included on the downloadable ISO image. Where can I get it?
The kernel source package is not included on the downloadable Slackware ISO (it is included on the purchased CD's though). This is not a big problem since the kernel source package can be downloaded from any Slackware mirror site - it can be found in the k/ sub-directory of the slackware/ directory. See question 2 for info on where to find mirror sites.
Once you have downloaded the package you can install it with Slackwares installpkg tool like this: installpkg kernel-source-2.4.20-noarch-5.tgz (note: the package name may be different if upgrades or the package are released).

8) The international language packages for KDE are not included on the downloadable ISO image. Where can I get them?
The KDE language support packages for languages besides English are not included on the downloadable Slackware ISO (they are included on the purchased CD's though). This is not a big problem since they can be downloaded from any Slackware mirror site - they can be found in the kdei/ sub-directory of the slackware/ directory. See question 2 for info on where to find mirror sites.
Once you have downloaded the package for the language of your choice, you can install it with Slackwares installpkg tool like this: installpkg kde-i18n-da-3.1-noarch-1.tgz (note: the package name will be different depending on what language you choose).

9) How do I install a Slackware package?
The most common way to install a Slackware package is to use the installpkg script provided with Slackware. installpkg will extract the package to the correct location and write a log entry in /var/log/packages/ on your system that you can later refer to for details on the what the package contained. To install a package named kernel-source-2.4.20-noarch-5.tgz you'd simply enter installpkg kernel-source-2.4.20-noarch-5.tgz at a shell prompt as the root user. Another option is to use the pkgtool script which is a menu driven interface. More information on Slackwares package tools can be found in the man pages - simply type man installpkg in a shell to read the manual for installpkg. You can also read more on package tools at and
Refer to questions 10, 11, 12, 13 and 15 for further details on package management.

10) How do I uninstall a Slackware package?
You normally use the removepkg script provided by Slackware. To remove the kernel-source-2.4.20-noarch-5.tgz for example, you'd enter the command removepkg kernel-source-2.4.20-noarch-5 as the root user. This will remove all traces of the package from your system, except for files that overlap with other packages, such files will be retained and will only be removed when the last package they are shared between is removed. The pkgtool script provides an alternative interface for package removal.
Refer to questions 9, 11, 12, 13 and 15 for further details on package management.

11) How do I upgrade an already installed package with a newer one?
To upgrade already installed packages you use Slackwares upgradepkg script. The most common usage is to simply specify the name of the new package on the commandline and upgradepkg will then locate the older version of the package and upgrade it. As an example, let's say that a package by the name of sendmail-8.12.8-i386-1 is currently installed, and a new package by the name sendmail-8.12.9-i386-1 has been made available. To upgrade the old sendmail package you'd download the new and updated sendmail-8.12.9-i386-1.tgz package file and then run the command upgradepkg sendmail-8.12.9-i386-1.tgz as root. If a package you wish to upgrade does not follow the standard slackware package naming scheeme, then you can explicitly specify what currently installed package to upgrade with what explicitly named file - to do that you run upgradepkg like this: upgradepkg oldpackagename%newpackagename as the root user. Refer to question 8 and question 10 for further information on the package tools.
Refer to questions 9, 10, 12, 13 and 15 for further details on package management.

12) How can I see what packages are installed on my system?
Details on all installed packages are kept in the /var/log/packages/ directory. You can simply use the ls command to view the list of files in that directory - there's one file for each package and the file is named the same as the installed package and each file contains a description of the package and a list of all files in that package. Another option is to use pkgtool which provides a menu based system to view details on packages (it does this by reading the files in /var/log/packages/ for you).
Refer to questions 9, 10, 11, 13 and 15 for further details on package management.

13) How can I see what files are contained in a package and how can I find the package that installed a certain file?
The easiest way is to use the grep command to look for the name of the file in question inside the package logs in the /var/log/packages/ directory. As an example, if you wanted to find the package that installed the /sbin/fdisk file, then running a command like grep "sbin/fdisk" /var/log/packages/* would quickly tell you that that file came from the util-linux-2.11z-i386-1 package.
Refer to questions 9, 10, 11, 12 and 15 for further details on package management.

14) Are all downloadable .tgz files Slackware packages?
No. Allthough Slackware uses files created by the tar program, compresses them with gzip and names the resulting file with a .tgz extension, that does not mean that all files with that extension are Slackware packages. .tgz files (often also named .tar.gz) are simply archive files that can in theory contain anything. Slackware packages are simple tar archives that in addition to the files to be installed also contain a few scripts to re-create symbolic links, do post-installation configuration and similar things, but most .tgz files you find on the internet will not be slackware packages. Most likely most files with that extension you find on the internet will be archives of source code for programs that needs to be compiled before they can be used. The safest assumption you can make is that unless explicitly noted, a .tgz file is most likely not a Slackware package unless it came from a Slackware mirror site (see question 2) or from a site like that creates Slackware packages of a wide range of programs and makes them available for download.

15) I've downloaded the source code for a program. How can I create a Slackware package from it?
First of all you'll need to compile the program according to the instructions that the author of the program supplied. This will be different from program to program, so no detaild instructions can be given here, but most likely you'll find a README or INSTALL file packaged with the source code that will tell you what to do.
Once you have compiled the program you can use either Slackwares default makepkg script to create a package or a tools such as checkinstall that can be found in the extra/ directory on a Slackware mirror site (see question 2) or downloaded from I would recommend you to try checkinstall since most people find it a lot easier to use than makepkg. Detailed instructions on how to use makepkg can be found at the sites linked to in question 9 or in the man page for the program. Detailed instructions on the usage of checkinstall can be found in the README file supplied with the program.

16) What partitions do I need to create for Slackware before starting the setup program?
Before starting the setup program in order to install Slackware you need to create the partitions for it with either fdisk or cfdisk. Slackware can get by with just a single partition (of partition type 83), but most people create at least two partitions; one for the system itself and one to use as a swap partition (of partition type 82).
You can create as many additional partitions as you like (using a combination of primary and extended partitions), and each sepperate partition can be assigned to hold a specific part of the directory tree during the install procedure.

17) What filesystem type should I choose when formating my Slackware partitions?
What filesystem you choose is up to you. Slackware can be installed on ext3, ReiserFS, xfs and jfs (the last two requireing the use of special bootdisks if you boot from floppy). Each of these filesystems have different characteristics; some support larger files than others, some have better performance for lots of small files than others, and there are lots of other differences as well - they can all function as a basic Linux filesystem though. Which one you choose depends on what features you need from your filesystem. Since you are reading this FAQ entry I assume that you are not familliar with the different filesystems and would therefor like a recommandation on what the "safe" choices are. My recommendation would be that you use either the ext3 filesystem or the ReiserFS filesystem - both are well known filesystems, so you'll be able to get help from a lot of people if you run into trouble. Of those two I would personally lean towards recommending the ext3 filesystem sice it is based on the older ext2 filesystem which is an old workhorse in the land of Linux filesystems. Ext3 is a very stable fs with good support tools, so it's definately a safe choice. ReiserFS also has a good reputation, but I do not have enough experience with it to say much about it. XFS and JFS are releatively new filesystems in the Linux world and as such they are not as well known by people as ext3 and ReiserFS.
If you just want a safe choice, go with ext3 or ReiserFS. If you want to experiment with some of the features of XFS or JFS then use those, but I recommend you read up on the features and drawbacks of each of the filesystems before trying anything but ext3 or ReiserFS.

18) Can I use a swap file with slackware instead of a swap partition?
Yes, you can use a swap file (or several files) instead of one or more swap partitions, but the setup program will only set up the use of a swap partition during the installation, so if you wish to use swap files you need to configure that manually after the install is complete. You can even use a swap partition and add additional swap space in the form of swap files at a later time (swap partitions are generally prefered over swap files since they are slightly faster - this is scheduled to change with the 2.6.x Linux kernel though, and at that time both should be equally fast).
So, how do you create and use a swap file? Well, it is actually not very difficult. First you need to create a new file of the appropriate size, you can use the dd program for this. To create a file of roughly 128MB size for use as a swap file, run a command like this: dd if=/dev/zero of=/swapfile bs=1024 count=128000 this creates a new 128MB file filled with zeroes named swapfile located in the root (/) of the filesystem. To prepare this file for use as a swap file you need to run the mkswap program on it like this: mkswap /swapfile
You now have a properly prepared swap file that can be activated by running swapon /swapfile and deactivated by running swapoff /swapfile that was not so difficult, was it?
Since you probably don't want to have to activate and deactivate your swap space manually every time you start and stop your computer, the final step is to tell Slackware to do that for you. It makes sense to activate the swap file as early on in the boot process as possible so it will be available to any programs started dduring bootup that might need it. The very first user editable script that runs when the system boots is /etc/rc.d/rc.S, so activating our swap file in that file seems like a good choice. When you look inside the /etc/rc.d/rc.S file you'll see that this is also where any swap partitions are activated. The swap partitions are activated by a line in rc.S that reads /sbin/swapon -a (you need to use the full path to any programs you run in rc files since no default PATH has been established yet). To activate your swap file at boot, simply add a line that reads /sbin/swapon /swapfile right after the line that activates the swap partitions.
Now your swap partition is activated every time you boot, but what about when you shut the system down, what happens then? Wel, it turns out that the scripts that run at system shutdown and reboot (/etc/rc.d/rc.0 and /etc/rc.d/rc.6) already contain the appropriate command to turn off any swap - both swap partitions and any active swap files, so you don't need to deal with that explicitly. The command that is run from the shutdown scripts is /sbin/swapoff -a.

19) How much swap space should I use for my Slackware Linux system?
How much swap you need largely depends on how much physical RAM you have in your machine and what programs you are planning to run, so it's hard to give a definate answer to this question. A few general guidelines can be provided though.
First of all you should always have some swap space available, since the Linux kernel may sometimes want to swap out bits and pieces that are not much used, even if there is still memory available. Secondly, the more RAM you have the less swap you probably need. A good rule of thumb is to create somewhere in the range of 1.0 - 2.5 times your physical RAM size as swap. As an absolutely bare minimum you must have at least 16MB total memory (RAM + Swap) available, but most newer machines easily meet this requirement. I would personally say that if you have less than or equal to 64MB of RAM you should create enough swap to give you more than or equal to 128MB total.
To give you a real life example, my desktop machine at home has 512MB RAM and 768MB swap space. It rarely uses the swap, but sometimes if I'm rebuilding the kernel and rebuilding KDE from CVS and at the same time doing some web surfing and listening to music while also having lots of other programs open (and this is not an uncommon case for me), then quite a large amount of that swap does get used.
I would not recommend creating less swap than you have physical RAM unless you know exactely what programs you are going to run and what your memory requirements are, or unless you have a good understanding of how Linux uses virtual memory (but then you probably wouldn't be reading this question anyway, and would know exactely how much swap you wanted and why).

20) Can I dualboot Slackware and Windows (or Slackware and another Linux distribution), and how?
Yes, you can. The bootloader (LILO) that slackware uses has no problem dealing with several installed Operating Systems. To configure dualbooting you can either use the Expert LILO Setup during installation to tell LILO about your other Operating Systems. You can also use the liloconfig script that Slackware provides if you wish to configure dualbooting or change your LILO config at a later date, or you can simply edit LILO's /etc/lilo.conf configuration file manually with your favorite text editor - if you edit the configuration manually then remember to run /sbin/lilo after you've made your changes in order to activate them.
This is a rather long section, but please read through all of it before modifying your LILO configuration, some options you may want to use are mentioned at the end, and several important bits of info are mentioned throughout the answer - read it all even if you think your answer has been answered by the first few sections.
To set up dualbooting with LILO there are a few things you should know beforehand. First of all you should know what partitions hold your root (/) linux filesystem and if you use a sepperate partition for /boot then you also need to know what partition this is. For your Windows installation you need to know what partition holds the main Windows install (the partition that is your Windows C: drive).
I will now give you an example of how to configure dualboot between a Windows installation and a Slackware installation, first using liloconfig and then I'll show an example of what the /etc/lilo.config file looks like for this setup. Finally I'll tell you a few additional tricks that may be needed on some systems with unusual setups or older hardware.

To start the menu based LILO configuration, enter liloconfig in a shell as the root user. You will be asked if you want to use the "simple" or "expert" setup option. If you choose to use the simple option then you'll only be asked the most basic questions and the script will attempt to guess the rest - since this will only attempt to setup LILO for booting your Slackware system and will not create a dualboot configuration we want to use the expert option.

After selecting the expert option you are given a list of options to choose from - the first thing you do is to select the "Begin" option to start a brand new LILO configuration. When selecting Begin you are first asked if you want to pass any additional parameters to the Linux kernel at boot time. For most people no parameters are needed and you can simply press Enter on a blank line. If you use things like IDE CD writers, certain Network Interface Cards, older IBM Thinkpads with non-standard floppy drives and some other things, then you may need to pass some options for those to work properly, but a description of all possible boot options is outside the scope of this FAQ entry.
After entering needed kernel parameters (or simply pressing Enter. You are then asked if you want to use the framebuffer console for high resolution graphics in the standard text mode console - if you are not sure your hardware supports this (most machines do), then select the "standard" option otherwhise choose a the graphical resolution you'd like to use. Only choose resolutions you are 100% sure your system can support, if you select an unsupported resolution you won't be able to read your screen next time you boot. If you are unsure, select the safe standard option and experiment with the framebuffer console at a later point when you have a known good configuration you can fall back on.
Next you are asked where to install the LILO bootloader. Your 3 options are "Root" (to install to the superblock), "Floppy" (to use a floppy disk to boot from) or "MBR" (to install LILO to the Master Boot Record). Most people will want to select the MBR option and thus install LILO as their primary and only bootloader (if you are worried by the fact that the MBR option is listed as "possibly unsafe", then read question 42 for more information on that and the reasons why you probably don't need to worry). I'll assume you choose the MBR option.
You are then asked to confirm the location that LILO will be installed to. The proper location is the disk that your BIOS will boot when you turn on your computer - for most IDE based systems this will be /dev/hda and for most SCSI based systems it will be /dev/sda. If you know yor machine boots a different disk and this is not the one auto detected by liloconfig then correct the listed device.
Finally you need to specify the timeout you want LILO to use before automatically booting your primary OS (primary OS being defined as the first OS you tell LILO about later). Since we are setting up a dualboot system we don't want to use the "None" option since we then wouldn't have time to select between our different operating systems. We want LILO to present a menu either for a short while (5 or 30 seconds) or indefinately untill we make a choice (to do this select the "Forever" option). Once you've made your timeout selection you are returned to the main menu of the expert lilo configuration.

Now we are almost done, we only need to tell LILO about the different Operating Systems we want to be able to choose from. One important fact to note is that the first OS you add will be LILO's default - this is the OS that will be listed first in the boot menu and the one that will be booted after the timeout (if any) expires. I'll assume that you want Linux as your default OS, so select the "Linux" option from the menu.
When you select the Linux option from the menu, liloconfig presents you with a list of known Linux partitions on your system. If you have more than one (either because you have several different Linux distributions installeed or because you simply have several partitions for various directories) you need to choose the one that holds the root filesystem (/) for the Linux installation you wish to boot. Enter the name of the partition into the input box (an example could be /dev/hda2 for an IDE system or /dev/sda3 for a SCSI system, but it will ofcourse depend on how you have partitioned your disk). Next you need to select a name for this boot option. The name needs to be a single word - names such as "Slackware" or "Linux" would be good choices.

Back in the main menu again you now need to tell LILO about your Windows installation. You do this by selecting the "DOS" option (LILO makes no distinction between Windows and DOS and can boot both in the same way).
After selecting the DOS option you are presented with a list of possible DOS/Windows partitions to boot. Simply type in the name of the correct one just like you did with the Linux partition(s).
The new Windows boot option also needs a descriptive name, just like the Linux option did. Enter some descriptive single-word label like "Windows" or anything else you find suitable.

You should now be back in the main expert menu, and the only thing left to do (unless you wish to add additional boot options) is to select the "Install" menu option. Selecting Install installs the LILO loader with the configuration options you have just made, and assuming no errors occured you are then returned to the root prompt of your system and should now be able to reboot the machine and see a boot menu that lets you select either Linux or Windows as boot options. Enjoy your dualboot system.

Ofcourse the menu based interface for configuring LILO does not suit everyone. First of all you may have a setup that can not be adequately represented through the available menu options in liloconfig or you may have some old or troublesome hardware that requires specific options to LILO in order to boot correctly. These are the situations where you want to edit /etc/lilo.conf manually to give a detailed description of your setup and add extra options to LILO that are needed for your system to boot.
First I'll show you an example config file generated by liloconfig. This config uses the standard text mode and boots one Linux and one Windows partition and installs LILO to the MBR(I have removed comments and blank lines to save space, and depending on whether your initial config came from a different liloconfig version than mine or was initially created with the "simple" option it may contain a few other lines as well) :

boot = /dev/hda
timeout = 300
vga = normal
image = /boot/vmlinuz
  root = /dev/hda2
  label = Linux
other = /dev/hda1
  label = Windows
  table = /dev/hda

The most common changes I've helped people make to this default configuration when they where having trouble with LILO are: fist ensure that LILO installs to the MBR by verifying the boot = line refers to a disk (as it does above with /dev/hda) and not a partition such as /dev/hda2 or similar which would cause LILO to go to the superblock (see question 42).
I usually also tell people to add a line reading lba32 to the very top of the file, since this is needed on older machines to boot Linux partitions where the kernel is located at cylinder 1024 or higher and it does no harm for other machines so it's a safe foolproof addition (well, if your system is pre-1998, then you may have to use other options such as "geometric" or "linear", but that's outsidde the scope of this FAQ entry - "lba32" is usually the best bet if your system can't find the kernel or you get weird errors or strange lines of 010101, or lilo stops at LI or similar).
If you are in a situation where Windows is not installed on the first disk on your system, then you most likely need to tell LILO to swap your drives around when booting Windows. This is becourse Windows expects to be installed on the C: drive, and if it is on some other drive than the first one then it will not be on C: (yes, I find this behaviour a bit silly as well). Luckily it is quite easy to accomodate this Windows excentricity in LILO, simply use the "map-drive" feature of LILO to tell it what drives to swap when booting the Windows option. Let's say we have windows installed on the first partition of the second IDE disk in the system (/dev/hdb1 in Linux terms) and Linux on the first partition of the first disk (/dev/hda1), then we want to swap the first two drives in the system when booting Windows. To do that, add these few lines to the Windows section of your /etc/lilo.conf file :


And remember to change the table = line in the Windows section to point to the proper disk. You probably also want to make sure you have a set of lines like these :


to prevent lilo from using a default set of rules that may make changes to your partition table (the "simple" lilo setup adds those by default, but "expert" does not.
The entire file could end up looking like this :

boot = /dev/hda
timeout = 300
vga = normal
image = /boot/vmlinuz
  root = /dev/hda1
  label = Linux
other = /dev/hdb1
  label = Windows
  table = /dev/hdb

Now all you need to do is run /sbin/lilo to install the bootloader with the modified config file.
Since modifying your bootloader could result in an unbootable system I urge you to read up on any configuration options you plan to use (the man pages for lilo and lilo.conf contain lots of valuable information, and so does the LILO README file in /usr/doc/lilo-22.4.1/). Also make sure you have an emergency boot disk available for all Operating Systems installed on your machine. And as always make sure you have backups of important data before modifying system configurations - especially things that deal with your bootloader and partition layout etc.
It is also important to note that some Operating Systems will not work correctly with LILO as the primary bootloader - WindowsNT 4.0 is the most prominent example of this (I have personally set up Linux/Windows dualbooting with LILO in the MBR with the following Windows versions, so those should not usually be a problem: Windows98, WindowsME, Windows2000, WindowsXP). For OS's such as WinNT4 that don't like LILO taking over the MBR there are other options involving keeping LILO in the superblock of the root linux filesystem and then having the NT loader boot that, or by using the LOADLIN.EXE program. That procedure is quite well described in the Dual Booting section of Slackware Linux Essentials, so I won't repeat it here.
Questions 39, 40, 41, 42 and 43 contain additional information you will probably find relevant.

21) How do I configure my NIC (Network Interface Card) in Slackware?
The standard way to do this is to run the netconfig script. netconfig will ask you several questions regarding your network configuration, such as your host/domain-name, whether you want to use DHCP (Dynamic Host Configuration Protocol) to automatically get an IP address, gateway etc assigned from a DHCP server (many routers typically used with SDSL or ADSL internet connections can act as DHCP servers) or if you'd rather use a static IP address. If you choose a static address you'll then be prompted for information on what subnet mask to use, the default gateway, nameservers to use etc. At the end of the process netconfig will let you select a driver for your card or it can attempt to auto-detect it by attempting to load all available drivers untill one loads successfully. In most cases with newer NIC's, probing for the card works fine, but some (especially older) cards will require you to select the driver manually. The end result of running netconfig is that it writes an init script file for you that will then configure your NIC at boot time, and another to load the proper driver - the files it creates are /etc/rc.d/rc.inet1 and /etc/rc.d/rc.netdevice. Be careful if you have already manually tweaked these files, since running netconfig will overwrite them.
If you prefer to configure networking manually instead of using netconfig, then you can simply edit /etc/rc.d/rc.inet1 and /etc/rc.d/rc.netdevice by hand using your favorite text editor. The files contain lots of comments and are resonably self explanatory. An example is also provided for adding additional NIC's - something that netconfig won't do for you.
After either running netconfig or manually editing /etc/rc.d/rc.netdevice and /etc/rc.d/rc.inet1 you will need to run the scripts in order for your new network settings to be active. To run the scripts simply do sh /etc/rc.d/rc.netdevice ; sh /etc/rc.d/rc.inet1 . If you manually edited the files you should then also remember to mark them executable so they will automatically run at boot time. To make the scripts executable use a command such as chmod +x /etc/rc.d/rc.inet1 /etc/rc.d/rc.netdevice
All changes to the network setup needs to be performed as the root user.

22) How do I configure several NIC's in Slackware?
You need to manually edit /etc/rc.d/rc.netdevice and /etc/rc.d/rc.inet1 and add the driver(s) and settings for your additional NIC's. The exact details can be found as part of the answer for question 21.

23) How can I create a firewall script that Slackware will run at boot?
Slackwares init scripts are by default set up to run a script called /etc/rc.d/rc.firewall if one exists and is executable. To create a new empty, executable file you can start adding iptables rules to you can use this command line touch /etc/rc.d/rc.firewall && chmod +x /etc/rc.d/rc.firewall
What rules to add and the general usage of the iptables firewall is outside the scope of this FAQ entry.

24) Does Slackware use SysV init or BSD init, and where are the init scripts?
Slackware uses a BSD init setup, and all the init scripts are kept in the /etc/rc.d/ directory. This is different to the SysV init setup that most other distributions use with a sepperate rc[0-6].d directory for each runlevel and a sepperate Start and Kill script for each service. Slackware can support SysV init scripts should you care to use them. Simply create the proper directories /etc/rc.d/init.d and /etc/rc.d/rc0.d through /etc/rc.d/rc6.d and make the /etc/rc.d/rc.sysvinit script executable, then place your SysV init scripts in the appropriate directories and then will get run properly by rc.sysvinit.

25) I just booted Slackware and it starts in text/console mode. How can I make it start X by default?
This is a matter of changing the default system runlevel from 3 to 4. Slackware by default starts up in runlevel 3 (console based multiuser mode). Runlevel 4 (X11 with KDM/GDM/XDM (session managers)) can be set as the default runlevel if you prefer your system to start X by default and provide a graphical login. To change the default system runlevel edit the file /etc/inittab - in there you'll find a line that looks like id:3:initdefault: simply change that to read id:4:initdefault: and the next time you boot you will see a graphical login. Make sure to test your X setup first before changing the default runlevel.
If you just want to test runlevel 4 before switching to it, then enter the command telinit 4 to tell the system that it should temporarily change runlevel to 4 - then you can see what would happen if you made it the default runlevel - to get back to the previous runlevel 3, open up a console in X and run telinit 3.

26) I want to change the Desktop Environment / Window Manager that runs when I type startx. How do I do that?
Simply run the xwmconfig script and select the Window Manager / Desktop Environment you wish to use.
If you prefer to edit configuration files directly, then you want to take a look in the /etc/X11/xinit/ directory. The file governing what environment starts after the X server itself is loaded is called xinitrc. /etc/X11/xinit/xinitrc is, in the default Slackware installation, a symbolic link pointing to an environment specific file in the same directory. The job that xwmconfig does for you is simply to update the symlink to point to the proper file. In case you install a new Window Manager from source or otherwhise that xwmconfig does not know about, then simply create a proper file inside /etc/X11/xinit/ and point the /etc/X11/xinit/xinitrc symlink at it.

27) I want to change the graphical login manager used by Slackware when booting runlevel 4. How do I do that?
You need to edit the file /etc/rc.d/rc.4 since this is the file that starts the graphical login manager for X. The script by default contains code to load either gdm (GNOME's login manager), kdm (KDE's login manager) and xdm (the default XFree86 login manager). The code in the scripts checks for the presense of each of the login managers and uses the first one it finds, so to change the one your system uses, either re-arrange the order of the checks to put your prefered login manager first or simply uninstall or rename the login managers you don't want or remove the code that checks for the unwanted program(s).

28) I have an NVidia graphics card and want to use NVidias binary drivers. How can I install them on Slackware?
To install NVidias Linux driver for their graphics cards (which provides vastly improved performance over the default XFree86 driver) then you simply need to download the driver installer from NVidias driver download page, run the installer as root (make sure you are not running X while doing this), then edit your XFree86 configuration file /etc/X11/XF86Config as per the instructions NVidia kindly supplies in their README file. The biggest pitfall is probably that the NVidia driver does not ship with a pre-build kernel module for the Slackware kernel, so it needs to build one when you run the installer. The installer takes care of this all by itself, but it needs a few tools available (the GCC compiler and the make utility) as well as the Linux kernel source (which does not ship on the downloadable Slackware ISO image). So, before attempting to run NVidias driver installer you should download and install the Slackware kernel source package (see questions 2 & 7 for info on this) and make sure you have the gcc compiler installed.

29) I have an old version of Slackware installed, how do I upgrade it?
Detailed upgrade instructions are provided in the UPGRADE.TXT document that you can find in the root directory of your Slackware CD-ROM or on a Slackware mirror site. Upgrading is possible, but it's a manual procedure and can be a bit tricky for new users - so read the instructions carefully and make sure you have up-to-date backups of any important files. Many people prefer to simply backup their data (or keep their user data on a sepperate partition) and re-format and re-install. No matter if you upgrade or reinstall, make sure you have backups of important files in case something goes wrong.

30) There are no Slackware packages of OpenOffice available, how can I install it in Slackware?
No, does not ship as a Slackware package, but the setup program included in the downloadable OpenOffice distribution works just fine for installing and removing the program on a Slackware system. It won't show up in pkgtool, but appart from that little detail it works perfectly. If you really want to you should be able to create a a slackware package yourself with makepkg after the install, then remove the program and re-installing it with your package, or you could try using checkinstall to monitor the installation and generate a pacckage. But there really is no great need.

31) I am trying to run Samba but it refuses to start and complains about the port already being in use - why?
You are probably trying to run Samba both as a standalone daemon started from /etc/rc.d/rc.samba and through inetd by having it enabled in /etc/inetd.conf. You can only run Samba standalone (fastest way to run it, good for many clients) or from inetd (lower resource usage, but slower, good for rare uses but bad for a real server) - you can't do both at the same time.
If you want to run Samba standalone (probably what you want), then make sure the following two lines are commented out (start with a "#" character) in /etc/inetd.conf :

netbios-ssn    stream  tcp     nowait  root    /usr/sbin/smbd  smbd
netbios-ns     dgram   udp     wait    root    /usr/sbin/nmbd  nmbd

After commenting out those two lines, restart inetd by running killall -HUP inetd as root.
If what you want is to run from inetd, then make sure the two lines in /etc/inetd.conf are not commented out (that is they do look like above), and again restart inetd. Then make sure the rc.sambascript does not run at boot by executing chmod -x /etc/rc.d/rc.samba as root.

32) I don't like hand editing config files. Are there any graphical administration programs for Slackware?
No. Appart from the few scripts to configure networking (netconfig, PPP connections to the internet (pppsetup) and the package management tool (pkgtool) Slackware does not use graphical administration tools (and most people like it that way). If you are hell-bend on using a GUI to manage your Slackware system then you could try to see if Webmin (a web based administration tool) fits your needs.

33) I've changed the hostname of my computer using the hostname program, but when I reboot it's reset. How do I change that?
When your Slackware system boots, the hostname gets set by the /etc/rc.d/rc.M init script. rc.M sets the hostname based on the value of the file /etc/HOSTNAME, so to permanently change the hostname of your system you need to edit /etc/HOSTNAME.

34) When I shutdown my computer using halt or shutdown -h it does not turn off automatically. How do I change that?
Most newer machines can power off automatically when you shut them down. This is typically accomplished through APM (Advanced Power Management). By default Slackware does not load the apm kernel module, and this prevents the machine from shutting down through APM. To enable the apm kernel module you simply have to edit the file /etc/rc.d/rc.modules and make sure the /sbin/modprobe apm line is uncommented (by default the line is commented out by being prefixed with a '#' - remove the # and save the file). If you enable the apm module in this way then the next time you reboot your machine should be able to power down when you issue the halt or shutdown -h now or similar commands (or shut down through your GUI).

35) How can I verify that a Slackware package or the ISO image I download is not corrupt before installing?
In the slackware/ directory on the install CD or on your local slackware mirror site you can find a file called CHECKSUMS.md5 - in that file you'll find MD5 checksum strings for each of the downloadable Slackware packages. If you've downloaded a package file and want to verify it's integrity you can run the md5sum program on the downloaded file and compare the checksum returned with the one published in the CHECKSUMS.md5 file. For the ISO image the checksum can be found in the file slackware-9.0-install.iso.md5 in the same directory as the ISO image itself. As an example, if I wanted to verify the integrity of the Apache webserver before installing it, then I would check the Apache package on the CD (or the one I downloaded if that's what I did) like this: md5sum apache-1.3.27-i386-2.tgz this should return a MD5 checksum like this: 6970b9e97b7dc84ee3ef8f54d0b12431 - I can now verify that string against the one listed in CHECKSUMS.md5 and if they are identical (as they are in this case) then I know the package is not corrupt and I can safely install it knowing that it's a valid unmodified Slackware package.
Getting in the habbit of always verifying the checksum on official packages before install/upgrade is a good thing and will help you prevent damages to your system due to corrupted downloads or bad CD-ROM's - learn how to use md5sum (as you can see it's really easy) and use it on every package you install or upgrade, as well as on the ISO image before writing it to a CD-ROM.

36) Where can I change the default PATH used by slackware?
The default PATH is defined in the file /etc/profile along with a lot of other environment variables. By default sepperate PATH's are set for the root user and everyone else. To change the default PATH for all users or root, simply edit /etc/profile with your favorite editor and change the PATH values. If you only want to modyfy a single users PATH, then you can set the desired PATH in the .bash_profile file in the users homedir (I say ˜/.bash_profile based on the fact that bash is the default Slackware shell, other shells use different files - read the man page for your shell if it is not bash).

37) What hardware is supported by Slackware?
What you really should be asking is "what hardware is supported by the Linux kernel?". Slackware will usually support any hardware that the stock Linux kernel will support. The most noteable exception is that Slackware does not run on all the hardware platforms that Linux supports - Slackware runs on the x86 platform, that means it will run on Intel 386, 486, Pentium I/MMX/Pro/II/Celeron/III/IV, AMD 386/486/ K5/K6/K6-2/K6-III/Athlon/Athlon-XP, Via C3, Cyrix 386/486/5x86/6x86/M-II and other compatible CPUs, but it will not run on machines using CPUs such as Sparc, Alpha, Mips, PowerPC etc (some time back ports for Sparc and Alpha based systems where attempted and did progress quite far, although these versions of Slack never reached release quality, are unsupported and are based on older software than Slack 9 you may be able to use them if you can get your hands on them - I currently don't know if work on these ports is still going on or has halted completely). Apart from what the Linux kernel itself supports, Slackware will also work with most vendor supplied drivers for various bits of hardware unless only binary drivers are supplied for some specific patched kernel from another distribution.. In most cases vendor supplied drivers will work fine (especially if they ship completely or partially as source code).

38) What boot disk should I use when installing Slackware from floppy (or what kernel from the install CD should I use for a CD install)?
The default slackware kernel is bare.i which contains support for most hardware that anyone would wish to use - it is what you should use if possible. The most common reason for choosing another kernel is that you have SCSI devices that you wish to use - bare.i contains no SCSI support, so people with SCSI based systems will need to choose one of the SCSI kernels. There are several SCSI kernels available with support for a wide variety of different controllers - you should read the descriptions of the various available kernels that can be found in the README.TXT file inside the bootdisks/ directory. Most SCSI based systems will work with either the scsi.s kernel, the scsi2.s kernel or the adaptec.s kernel, but read the description to find the right kernel for your hardware. Another common option for choosing a different kernel is if you are using a low memory machine or want to use the JFS or XFS filesystems.

39) How can I use the install CD as a rescue disk to boot my installed Slackware system?
That is quite easy to do. Simply boot the install CD as you would if you wanted to do a new install, but instead of pressing Enter at the very first prompt you type in the name of the kernel from the CD you wish to use for booting the system as well as additional parameters for the kernel to tell it about your root partition (the one containing /) and whether or not you wish to run in single-user (rescue) mode. The only things you need to know in order to do this is the location of your root partition and the name of a kernel that will boot your system (the bare.i kernel works for most people with IDE based systems, SCSI people should probably try scsi.s, scsi2.s or adaptec.s).
To boot an installed system that has /dev/hda1 as its root partition you would use a command such as this at the first prompt presented to you by the install CD (read the notes on-screen for further information and a list of other available kernels) :

bare.i root=/dev/hda1 noinitrd

This will but the system using the bare.i kernel with /dev/hda1 as the root fs and will not use the initial ramdisk (the initial ramdisk holds the minimal setup environment, and that's not what we want to boot). If something is wrong with your system so you can't boot it normally with the command above (maybe some init script is hanging and preventing normal system startup or you need to perform a manual fsck on a failed filesystem or similar), then you can try booting in single-user mode by adding the word "single" to the boot command shown above - booting in single user mode will prevent remote network logins and won't start a lot of network related services (it's a maintenance mode). If you still can't start the system you can try passing "init=/bin/bash" to have the kernel not start the normal init process, thereby skipping all init scripts and dropping you directly to a root shell after the kernel proper has finished loading. The command that does this (which is what most people with really broken systems are looking for) would be :

bare.i root=/dev/hda1 noinitrd single init=/bin/bash

ofcourse you need to modify the above to use a different kernel if your system can't boot with bare.i and specify the correct root partition.
Additionally see questions 20, 40, 41, 42 and 43 for more boot related info.

40) How can I create a boot floppy for Slackware?
You can either choose to create one during the configuration part of the installation procedure or you can run the Slackware makebootdisk script as root at any point in time.
makebootdisk provides options for 3 different types of bootdisks. The syslinux or lilo bootdisks should work for most people, but a simple bootdisk created by simply dumping the kernel directly to floppy is provided as an option as well. Creating (and testing) a bootdisk is a good idea so you always have an alternative method for booting your system should anything happen to the on-disk bootloader (such as installing Windows and thereby getting a MBR installed LILO overwritten).
Questions 20, 39, 41, 42 and 43 provide more info related to booting.

41) I (re)installed Windows and it removed my LILO bootloader, how do I get LILO back so I can boot Slackware?
Well, you've been bitten by a little nasty detail of the Windows installer. Windows assumes it's the only Operating System on your machine and happily installs its own bootloader to the Master Boot Record (MBR) of your harddrive without any regard for what may already be there (such as LILO), so after (re)installing Windows that will be the only OS you can boot.
The way to fix this situation is to either modify Windows' bootloader to boot Linux, or use LOADLIN.EXE to load Linux from DOS/Windows or boot your Linux system with a bootfloppy/boot-CD and restore LILO to the MBR with an additional entry to have it also boot Windows - see question 20 for more details on dualbooting.
Questions 39, 40, 42 and 43 provide more information related to booting in general.

42) Should I install LILO to the MBR or SuperBlock of the root partition and what difference does it make?
For a system that will have Slackware Linux as its only Operating System you probably want to use the MBR as this has the best chance of working correctly no matter what your partition layout is. Installing to the superblock of the root Linux filesystem will only work if the root fs is on the first partition on the disk and that partition is marked bootable in fdisk or cfdisk or if it gets a helping hand from some other bootloader installed in the MBR.
When installing Slackware and configuring LILO you will see the MBR option listed as "possibly unsafe". The reason for this is that if you install to the MBR then LILO will overwrite any previous bootloader (typically Windows') that previously occupied that location. The result of overwriting the previous bootloader is that the previously installed Operating System that used that bootloader will no longer be able to boot. This can usually be solved by simply telling LILO about the other Operating System and use LILO to boot both. That is usually a lot less trouble than configuring the system to boot with LILO installed to the superblock.
Whatever location you choose for LILO it is recommended to be in possession of bootdisks (or boot-CD's or some other bootable media) that will let you boot any installed OS on your machine. If you have bootdisks available for all OS's then you can always use one of those to boot your system and repair it in case it becomes unbootable (the Slackware install CD can be used as an emergency boot media for your Slackware installation).
You should take the time to read through questions 20, 39, 40, 41 and 43 if you are still unsure of what to do. They provide many more details on the boot process and information on alternatives.

43) I have just installed Slackware, but my computer does not boot it - why?
One possible answer is that you did not install LILO (the LInux LOader). Without a bootloader your newly installed Slackware Linux Operating System will not either not boot (if your system had no previous bootloader installed) or will continue to boot (or at least attempt to boot) your previously installed Operating System.
Another possibility is that you installed LILO incorrectly during the installation procedure. This is probably the most likely reason, and the usual problem seems to be that people either choose the "simple" LILO setup option or choose the "expert" option but install LILO to the superblock instead of to the MBR. If LILO is installed in the superblock it will only work if it either gets some help from the bootloader already in the MBR (such as WindowsNT's or Windows2000's bootloader) or if your root Linux partition is the first partition on the disk and it is marked active/bootable in fdisk or cfdisk. If all you want to boot is Linux, then just write LILO to the MBR and all will probably work smoothly. If you are setting up a dual boot system you should check out question 20 for more information.
The following questions provide more info on booting and Slackwares bootloader: 20, 39, 40, 41 and 42.

44) I can only play sound as root, not as a normal user. How do I fix this?
By default the sound device files in /dev/ are owned by root and only writeable by root. This has the effect that only root can write data to the sound card. If you want ordinary users to be able to play sound you have a few options.
You can either change the permissions of the device files related to sound so that any arbitrary user can write to them. That may be a good approach for single user systems. To do that, run a command such as chmod 0666 /dev/mixer* /dev/dsp* /dev/audio* /dev/sound*
If you have remote users logging into your machine, then it may not be desireable to let every user be able to play sound (it can be pretty annoying if some remotely logged in user desides it would be fun to torture you by playing random noice etc.), so you may want to limit sound device access to a select group of users. Luckily this is also quite easy to do. Simply create a new unique group for the people who should be able to play sound, make this new group the group-owner of the sound device files, make sure all members of the group can write to the device, and then add all users who should be allowed to play sound to that group. That will let you give sound playing capabillity to local users, and deny it to remote users. Here's an example of how this group (I'll call it sound) can be added, the propper permissions set, and the users foo and bar be added to it. To accomplish this run the following commands as root :

groupadd sound
chgrp sound /dev/mixer* /dev/dsp* /dev/audio* /dev/sound*
chmod g+w /dev/mixer* /dev/dsp* /dev/audio* /dev/sound*
chmod g+r /dev/mixer* /dev/dsp* /dev/audio* /dev/sound*
usermod -G sound foo
usermod -G sound bar

If your users so far have only been members of a primary group and no supplementary groups, then the above works fine, but if your users are already members of one or more supplementary groups then the above usermod commands will make sound their only supplementary group and remove them from all other groups they are currently members of. In most cases you want to preserve the current group membership and only add the sound group as an additional supplementary group. To do this use these usermod commands instead :

usermod -G sound,`groups foo | awk -F ": " {'print $2'} | sed y/' '/','/` foo
usermod -G sound,`groups bar | awk -F ": " {'print $2'} | sed y/' '/','/` bar

Make sure you enter the command exactely as shown above - using backticks and spaces exactely as shown, otherwhise the result will not be what you want.

Note: Slackware 9.1 has no /dev/sound* device(s), but 9.0 does. So, for 9.1 ignore the /dev/sound* bits

45) I can't mount any devices (CD-ROM / floppy) as a normal user, only as root. How do I change that?
By default only root is allowed to mount and unmount devices. This is sensible from a security point of view, but can be annoying when the machine is being used as a desktop computer. Luckily there are ways to change this (several ways infact, like most things in the UNIX/Linux world).
If you just want every user on your system to be able to mount and unmount a certain filesystems without further restrictions and controll over who mounts and unmounts it (like on your own personal PC where you (and perhaps your significant other) are the only user), then you can achieve this by simply editing the file /etc/fstab (fstab holds information on filesystems; in case you didn't know) and adding the option users to the list of options applied to that filesystem. Here's an example of what lines you might see for a CD-ROM and floppy drive before editing the file :

/dev/cdrom       /mnt/cdrom       iso9660     noauto,owner,ro        0   0
/dev/fd0         /mnt/floppy      auto        noauto,owner           0   0

and this is what they should be changed to in order to let everyone mount and umount them as they see fit :

/dev/cdrom       /mnt/cdrom       iso9660     noauto,owner,users,ro  0   0
/dev/fd0         /mnt/floppy      auto        noauto,owner,users     0   0

There is a minor detail attached to the users option, it will let one user mount the filesystem and then let another one umount it - this may or may not be what you want. Sometimes it is desirable to only let the specific user who mounted a filesystem umount it again - to do this use the option user (without the "s") instead of the users option.

Ok, that's all well and good for many prople, but what if you want a little more control over who mounts and umounts filesystems? What if you only want to give a select few of your users that ability and deny it to everyone else, what do you do? The answer is you use sudo. sudo (short for SuperUser DO) is a very powerfull tool that lets you specify individual or groups of users who are allowed to run specific commands as root - in this case mount and umount. A complete description of sudo is outside the scope of this FAQ, you can find all the details you could wish for at the sudo homepage.

46) Why does the MySQL server fail to start?
The most likely cause for MySQL to fail is a permission problem. The Slackware MySQL package is build to run as the user "mysql&mysql; and the data directory /var/lib/mysql should be owned by this user and the associated mysql group.
The problem most users run into is that they run the mysql_install_dbroot user, this causes incorrect permissions to be set on the MySQL data dir and as a result the server can't start since it cannot read its database files. The proper way to run the mysql_install_db script is to run it as the mysql user. If you have already run the script as root, then simply run the command chown -R mysql:mysql /var/lib/mysql to reset the permissions. Then su mysql to become the proper user and re-run the script. Now you should be able to start the MySQL server by running safe_mysqld --user=mysql as root.

47) Where can I find more information on using a Slackware Linux system?
Some Slackware info/news/community sites are :
The Slackware Linux Project (a visit to the Book and FAQ pages are highly recommended)
The Unofficial Revised Slackware Book Project
Slackware Help Forum
alt.os.linux.slackware FAQ
kodgehopper's Linux Quick-Start Guides
If you are looking for programs in pre-build Slackware package format you should check out LinuxPackages and Tchelinux Slackware package collection.. Additionally you can find a huge number of programs for Linux by looking through sites such as,, the Linux Software Map & For general Linux information, FAQs, HOWTO documents etc. try the following sites :
The Linux Documentation Project
Linux Help
Linux Weekly News
Linux Online
Linux International
Woven Goods for Linux
For downloading the official Linux kernel and other kernel related information, visit these sites :
The Linux Kernel Archives
Kernel Traffic
If you would like your information in dead-tree book form, then the following are some books that deal with Slackware Linux :
Slackware Linux Essentials (ISBN: 1571762752)
Linux: Configuration and Installation (ISBN: 0764570056)
Slackware LINUX for Dummies (ISBN: 0764506897)
Install, Configure, and Customize Slackware LINUX (ISBN: 0761526161)
LINUX SYSTEM ADMINISTRATOR'S Survival Guide (ISBN: 0672308509)
Slackware Linux Unleashed (ISBN: 0672317680)

The sites and books listed above is only a short list of available material and is provided only as a starting point. You can find many more websites through search engines such as Google, and you should try browsing through a few bookstores for more books. There are lots of additional information to be found both for beginners and experts.

This FAQ was brought to you by Jesper Juhl (nickname juhl in #slackware @
Thanks go to mesa for providing web space for this document - thanks.

Get Firefox!