Preface

Intended Audience

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.

Changes from the First Edition

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:

Organization of this Book

Chapter 1, Introduction

Provides introductory material on Linux, Slackware, and the Open Source and Free Software Movements.

Chapter 2, Help

Describes the help resources available on a Slackware Linux system and online.

Chapter 3, Installation

Describes the installation process step-by-step with screenshots to provide an illustrative walk-through.

Chapter 4, System Configuration

Describes the important configuration files and covers kernel recompilation.

Chapter 5, Network Configuration

Describes how to connect a Slackware Linux machine to a network. Covers TCP/IP, PPP/dial-up, wireless networking, and more.

Chapter 6, The X Window System

Describes how to setup and use the graphical X Window System in Slackware.

Chapter 7, Booting

Describes the process by which a computer boots into Slackware Linux. Also covers dual-booting with Microsoft Windows operating systems.

Chapter 8, The Shell

Describes the powerful command line interface for Linux.

Chapter 9, Filesystem Structure

Describes the filesystem structure, including file ownership, permission, and linking.

Chapter 10, Handling Files and Directories

Describes the commands used to manipulate files and directories from the command line interface.

Chapter 11, Process Control

Describes the powerful Linux process management commands used to manage multiple running applications.

Chapter 12, Essential System Administration

Describes basic system administration tasks such as adding and removing users, shutting down the system properly, and more.

Chapter 13, Basic Network Commands

Describes the collection of network clients included with Slackware.

Chapter 14, Security

Describes many different tools available to help keep your Slackware system secure, including iptables and tcpwrappers.

Chapter 15, Archive Files

Describes the different compression and archive utilities available for Linux.

Chapter 16, vi

Describes the powerful vi text editor.

Chapter 17, Emacs

Describes the powerful Emacs text editor.

Chapter 18, Slackware Package Management

Describes the Slackware package utilities and the process used to create custom packages and tagfiles.

Chapter 19, ZipSlack

Describes the ZipSlack version of Linux that can be used from Windows without requiring an installation.

Appendix A, The GNU General Public License

Describes the license terms under which Slackware Linux and this book can be copied and distributed.

Conventions used in this book

To provide a consistent and easy to read text, several conventions are followed throughout the book.

Typographic Conventions

Italic

An italic font is used for commands, emphasized text, and the first usage of technical terms.

Monospace

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.

Bold

A bold font is used for user input in examples.

User Input

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:

Ctrl+Alt+Del

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:

Ctrl+X, Ctrl+S

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

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.

% top

Acknowledgments

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