The Slackware Linux operating system is a powerful platform for Intel-based computers. It is designed to be stable, secure, and functional as both a high-end server and powerful workstation.
This book is designed to get you started with the Slackware Linux operating system. It's not meant to cover every single aspect of the distribution, but rather to show what it is capable of and give you a basic working knowledge of the system.
As you gain experience with Slackware Linux, we hope you find this book to be a handy reference. We also hope you'll lend it to all of your friends when they come asking about that cool Slackware Linux operating system you're running.
While this book may not an edge-of-your-seat novel, we certainly tried to make it as entertaining as possible. With any luck, we'll get a movie deal. Of course, we also hope you are able to learn from it and find it useful.
And now, on with the show.
This second edition is the culmination of years of hard work by the dedicated members of the Slackware Documentation Project. The following are the major changes in this new edition:
Chapter 3, Installation, has been modified with new screenshots of the installer, and reflects changes in disk-sets, and CD installation.
Chapter 4, System Configuration, has been updated with new information about Linux 2.6.x kernels.
Chapter 5, Network Configuration, has been expanded with further explanation of Samba, NFS, and DHCP. A section on wireless networking has also been added. This chapter now reflects major changes in how Slackware handles network setup.
Chapter 6, X Window System, has been substantially rewritten for Xorg based systems. This chapter now also covers the xdm graphical login manager.
Chapter 13, Basic Network Commands, has been enhanced with information about additional network utilities.
Chapter 14, Security, is a new chapter with this edition. It explains how to keep a Slackware Linux system secure.
Chapter 17, Emacs, is a new chapter with this edition. It describes how to use Emacs, a powerful editor for Unix.
Chapter 18, Package Management, has been updated with information about SlackBuild scripts.
There are many other changes, both minor and major, to reflect changes in Slackware as it has matured.
Provides introductory material on Linux, Slackware, and the Open Source and Free Software Movements.
Describes the help resources available on a Slackware Linux system and online.
Describes the installation process step-by-step with screenshots to provide an illustrative walk-through.
Describes the important configuration files and covers kernel recompilation.
Describes how to connect a Slackware Linux machine to a network. Covers TCP/IP, PPP/dial-up, wireless networking, and more.
Describes how to setup and use the graphical X Window System in Slackware.
Describes the process by which a computer boots into Slackware Linux. Also covers dual-booting with Microsoft Windows operating systems.
Describes the powerful command line interface for Linux.
Describes the filesystem structure, including file ownership, permission, and linking.
Describes the commands used to manipulate files and directories from the command line interface.
Describes the powerful Linux process management commands used to manage multiple running applications.
Describes basic system administration tasks such as adding and removing users, shutting down the system properly, and more.
Describes the collection of network clients included with Slackware.
Describes many different tools available to help keep your Slackware system secure, including iptables and tcpwrappers.
Describes the different compression and archive utilities available for Linux.
Describes the powerful vi text editor.
Describes the powerful Emacs text editor.
Describes the Slackware package utilities and the process used to create custom packages and tagfiles.
Describes the ZipSlack version of Linux that can be used from Windows without requiring an installation.
Describes the license terms under which Slackware Linux and this book can be copied and distributed.
To provide a consistent and easy to read text, several conventions are followed throughout the book.
An italic font is used for commands, emphasized text, and the first usage of technical terms.
A monospaced font is used for error messages, commands, environment variables, names of ports, hostnames, user names, group names, device names, variables, and code fragments.
A bold font is used for user input in examples.
Keys are shown in bold to stand out from other text. Key combinations that are meant to be typed simultaneously are shown with `+' between the keys, such as:
Meaning the user should type the Ctrl, Alt, and Del keys at the same time.
Keys that are meant to be typed in sequence will be separated with commas, for example:
Would mean that the user is expected to type the Ctrl and X keys simultaneously and then to type the Ctrl and S keys simultaneously.
Examples starting with E:\> indicate a MS-DOS® command. Unless otherwise noted, these commands may be executed from a “Command Prompt” window in a modern Microsoft® Windows® environment.
D:\> rawrite a: bare.i
Examples starting with # indicate a command that must be invoked as the superuser in Slackware. You can login as root to type the command, or login as your normal account and use su(1) to gain superuser privileges.
# dd if=bare.i of=/dev/fd0
Examples starting with % indicate a command that should be invoked from a normal user account. Unless otherwise noted, C-shell syntax is used for setting environment variables and other shell commands.
This project is the accumulation of months of work by many dedicated individuals. It would not have been possible for me to produce this work in a vacuum. Many people deserve our thanks for their selfless acts: Keith Keller for his work on wireless networking, Joost Kremers for his great work in single-handedly writing the emacs section, Simon Williams for the security chapter, Jurgen Phillippaerts for basic networking commands, Cibao Cu Ali G Colibri for the inspiration and a good kick in the pants. Countless others have sent in suggestions and fixes. An incomplete list includes: Jacob Anhoej, John Yast, Sally Welch, Morgan Landry, and Charlie Law. I'd also like to thank Keith Keller for hosting the mailing list for this project, as well as Carl Inglis for the initial web hosting. Last but not least, I'd like to thank Patrick J. Volkerding for Slackware Linux, and David Cantrell, Logan Johnson, and Chris Lumens for Slackware Linux Essentials 1st Edition. Without their initial framework, none of this would have ever happened. Many others have contributed in small and large ways to this project and have not been listed. I hope they will forgive me for a poor memory.
Alan Hicks, May 2005