Books & Videos

Table of Contents

  1. Chapter 1 Finding Documentation

    1. Introduction

    2. Understanding man Pages

    3. Finding Appropriate man Pages

    4. Finding Lost man Pages

    5. Reading man Pages Without a man Viewer

    6. Configuring Your manpath

    7. Using info Pages

    8. Printing man Pages

    9. Printing info Pages

    10. Printing Selected man or info Pages

    11. Finding All of the Documentation for a Program

  2. Chapter 2 Installing and Managing Software on RPM-Based Systems

    1. Introduction

    2. Installing RPMs

    3. Upgrading RPMs

    4. Removing RPMs

    5. Collecting Information on Installed RPMs

    6. Collecting Information from RPMs That Are Not Installed

    7. Finding Recently Installed RPMs

    8. Rebuilding the RPM Database

    9. Tracking Source-Built Libraries on an RPM-Based System

    10. Fixing RPM Installation Problems

    11. Installing Source RPMs

    12. Customizing Build Options in a Source RPM

    13. Installing Yum

    14. Configuring Yum

    15. Installing and Upgrading Packages with Yum

    16. Removing Packages with Yum

    17. Getting Information on Installed Packages with Yum

    18. Maintaining Yum

  3. Chapter 3 Installing and Managing Software on Debian-Based Systems

    1. Introduction

    2. Getting Software for a Debian System

    3. Installing Debian Packages from CD-ROM

    4. Installing Packages on Debian-Based Systems

    5. Removing Packages from a Debian System

    6. Installing from Sources on a Debian System

    7. Upgrading Packages on Debian

    8. Upgrading a Debian System

    9. Upgrading to a Newer Debian Release

    10. Running a Mixed Debian System

    11. Finding Out What Is Installed on a Debian System

    12. Maintaining the Debian Package Cache

    13. Resolving Debian Dependency Conflicts

    14. Building a Local Debian Repository

    15. Selecting Package Mirrors for apt-proxy.conf

    16. Adding Your Existing Package Cache to apt-proxy.conf

  4. Chapter 4 Installing Programs from Source Code

    1. Introduction

    2. Preparing Your System for Compiling Programs from Sources

    3. Generating a List of Files from a Source Install for Easy Uninstalls

    4. Installing Programs from Source Code

    5. Using CheckInstall to Create Packages from Sources

  5. Chapter 5 Discovering Hardware from Outside the Box

    1. Introduction

    2. Detecting Hardware with lspci

    3. Using dmesg to Collect Hardware Information

    4. Getting Live Hardware Snapshots with /proc

    5. Viewing Drive Partitions with fdisk

    6. Calculating Hard Drive Capacity

  6. Chapter 6 Editing Text Files with JOE and Vim

    1. Introduction

    2. Finding JOE Commands

    3. Customizing JOE

    4. Organizing JOE's Preferences in a Separate File

    5. Copying Between Two Files in JOE

    6. Searching and Replacing in JOE

    7. Selecting Text Vertically in JOE

    8. Finding and Opening Files in JOE

    9. Learning Vim Quickly

    10. Creating Autotext with Vim's Abbreviations

    11. Mapping Commands to Keystrokes

    12. Customizing Vim

    13. Navigating Quickly in Vim with Marks

    14. Picking Up Where You Left Off: Using Vim's Sessions

    15. Setting Your Default Editor

    16. Discovering Vim's Compile-Time Options

  7. Chapter 7 Starting and Stopping Linux

    1. Introduction

    2. Changing Runlevels After Bootup

    3. Changing the Default Runlevel

    4. Starting and Stopping X

    5. Managing Debian's Runlevels

    6. Creating Both Text and Graphical Login Runlevels on Debian

    7. Managing Red Hat's Runlevels

    8. Manually Configuring Startup Services

    9. Manually Starting and Stopping Services

    10. Shutting Down or Rebooting Linux

    11. Disabling or Limiting Access to Ctrl-Alt-Delete

    12. Shutting Down Automatically

  8. Chapter 8 Managing Users and Groups

    1. Introduction

    2. Sorting Human Users from System Users

    3. Finding a User's UID and GID

    4. Adding Users with useradd

    5. Adding Users with adduser

    6. Modifying User Accounts

    7. Deleting a User

    8. Killing User Processes the Easy, Fun Way

    9. Disabling Accounts

    10. Managing Passwords

    11. Adding Groups with groupadd

    12. Deleting Groups with groupdel

    13. Creating a System User

    14. Creating System Groups with addgroup

    15. Adding and Deleting Group Members

    16. Checking Password File Integrity

    17. Adding New Users in Batches

    18. Changing Masses of Passwords

    19. Adding Batches of Users to Groups

    20. Using su to Be Root Temporarily

    21. Granting Limited Rootly Powers with sudo

    22. Using Disk Quotas

  9. Chapter 9 Managing Files and Partitions

    1. Introduction

    2. Setting File and Directory Permissions with chmod's Numeric Notation

    3. Doing Batch Operations with chmod

    4. Setting File and Directory Permissions with chmod's Symbolic Notation

    5. Setting File Ownership with chown

    6. Doing Batch Operations with chown

    7. Setting Up a Shared Directory with setgid and the Sticky Bit

    8. Setting Permissions Defaults with umask

    9. Mounting and Unmounting Removable Disks

    10. Configuring Filesystem Mounts with /etc/fstab

    11. Mounting and Unmounting Filesystems on Hard Drives

    12. Finding Device Names for mount and fstab

    13. Creating Files and Directories

    14. Deleting Files and Directories

    15. Copying, Moving, and Renaming Files and Directories

    16. Creating Linux Disk Partitions with fdisk

    17. Creating a Filesystem on a New Partition

  10. Chapter 10 Patching, Customizing, and Upgrading Kernels

    1. Introduction

    2. Adding New Features to the 2.4 Kernel

    3. Slimming a Stock 2.4 Kernel

    4. Upgrading to the Latest Stable Version of the 2.4 Kernel

    5. Building the 2.6 Kernel

    6. Adding New Features to the 2.6 Kernel

    7. Adding a New Loadable Kernel Module

    8. Patching a Kernel

    9. Removing a Kernel Patch

    10. Creating an initrd Image

    11. Creating a Boot Disk on Debian

    12. Creating a Boot Disk on Red Hat

  11. Chapter 11 CD and DVD Recording

    1. Introduction

    2. Finding the SCSI Address for CD and DVD Writers

    3. Enabling SCSI Emulation for IDE/Atapi CD and DVD Writers

    4. Making a Data CD for General Distribution

    5. Building File Trees on a Data CD

    6. Copying a CD or DVD

    7. Erasing a CD-RW

    8. Recording a Multisession Data CD

    9. Creating a Bootable CD

    10. Spanning a Large File over Several CDs

    11. Recording Data DVDs

    12. Recording an Audio CD for Standard CD Players

  12. Chapter 12 Managing the Bootloader and Multi-Booting

    1. Introduction

    2. Migrating from LILO to GRUB

    3. Installing GRUB Without a Floppy Disk

    4. Installing GRUB with grub-install

    5. Preparing a System for Multibooting Linux

    6. Adding More Linuxes to a Multiboot System

    7. Discovering Boot Parameters from the GRUB Command Shell

    8. Configuring the Boot Partition

    9. Creating the GRUB Boot Menu

    10. Customizing menu.lst

    11. Adding Windows 95/98/ME to a Linux System

    12. Adding Windows NT/2000/XP to a Multiboot System

    13. Restoring GRUB to the MBR with a Knoppix CD

    14. Protecting System Files with a GRUB Password

    15. Locking Out Users from Individual GRUB Menu Entries

    16. Creating a GRUB Splash Image

    17. Booting Linux with LILO

    18. Multibooting Linuxes with LILO

    19. Multibooting Windows and Linux with LILO

    20. Creating a LILO Boot Diskette

    21. Password-Protecting LILO

    22. Backing Up the MBR

  13. Chapter 13 System Rescue and Recovery with Knoppix

    1. Introduction

    2. Booting Knoppix

    3. Creating a Knoppix Boot Diskette

    4. Saving Your Knoppix Configuration on a USB Memory Stick

    5. Creating a Persistent, Encrypted Knoppix Home Directory

    6. Copying Files to Another Linux PC

    7. Copying Files to a Samba Share

    8. Copying Files to a CD-R/RW

    9. Editing Configuration Files from Knoppix

    10. Installing Software from Knoppix

    11. Repairing a Lost Root Password

    12. Installing Knoppix to a Hard Disk

    13. Virus-Scanning Windows PCs with Knoppix

  14. Chapter 14 Printing with CUPS

    1. Introduction

    2. Installing a Printer on a Standalone Linux PC

    3. Serving Linux Clients

    4. Sharing a Printer Without Using Name Resolution

    5. Serving Windows Clients Without Samba

    6. Sharing Printers on a Mixed LAN with Samba

    7. Building a Dedicated CUPS Printer Server

    8. Distributed Printing with Classes

    9. Restricting Users from Printers and Classes

    10. Troubleshooting

  15. Chapter 15 Configuring Video and Managing X Windows

    1. Introduction

    2. Using Both X Windows and Consoles

    3. Installing a New Video Adapter

    4. Editing XF86Config

    5. Enabling 3D Hardware Acceleration with XFree86/DRI

    6. Troubleshooting 3D Acceleration Problems

    7. Configuring a Multihead Display

    8. Choosing Different ServerLayouts at Startup

    9. Setting a Default ServerLayout

    10. Configuring startx

    11. Changing Your Login Display Manager

    12. Running Different Window Managers Simultaneously with Xnest

  16. Chapter 16 Backup and Recovery

    1. Introduction

    2. Using rsync for Local File Transfers and Synchronization

    3. Making Secure Transfers with rsync and ssh

    4. Building an rsync Backup Server

    5. Securing rsync Modules

    6. Building an Anonymous Public rsync Server

    7. Launching the rsync Daemon at Startup

    8. Fine-Tuning File Selection

    9. Automating rsync over ssh Backups

    10. Limiting rsync's Bandwidth Requirements

    11. Customizing Filepaths in rsync

    12. Installing rsync on Windows Clients

    13. Creating a Message of the Day for rsync

    14. Creating a Bootable System Restore CD with Mondo Rescue

    15. Verifying the Mondo Backup

    16. Creating a Bootable System Restore DVD with Mondo Rescue

    17. Using Mondo Rescue to Clone Linux Systems

    18. Using the mindi-kernel for a "Sane" Backup

    19. Restoring a System from a Mondo Rescue Disk

    20. Restoring Selected Files from a Mondo Disk

  17. Chapter 17 Remote Access

    1. Introduction

    2. Setting Up OpenSSH the First Time

    3. Generating New Host Keys

    4. Authenticating Via Public Keys

    5. Using Multiple Key Pairs

    6. Passwordless Logins with ssh-agent

    7. Better Passwordless Logins with keychain

    8. Passwordless Logins for cron Jobs

    9. Shutting Down ssh-agent Automatically at Logout

    10. Customizing the Bash Prompt for ssh

    11. Tunneling X over SSH

    12. Connecting from a Windows PC

    13. Setting File Permissions on ssh Files

  18. Chapter 18 Version Control

    1. Introduction

    2. Building a Simple Local RCS Repository

    3. Retrieving Older File Revisions from RCS

    4. Comparing File Versions in RCS

    5. Managing System Configuration Files with RCS

    6. Using CVS for a Single-User Local Repository

    7. Adding New Files to a CVS Repository

    8. Deleting Files from a CVS Repository

    9. Creating a Shared CVS Repository

    10. Sharing a Single Repository Between Several Groups

    11. Accessing a Remote CVS Repository

    12. Updating Your Working Files in CVS

    13. Retrieving Specific Older Revisions from CVS

    14. Building an Anonymous Read-Only CVS Repository with Pserver

    15. Mirroring a CVS Repository

    16. Storing Binary Files in CVS

    17. Creating Release Snapshots with Tags

    18. Creating Stable and Development Branches for a Project

    19. Customizing Your CVS Environment

    20. Calculating Storage Size for a CVS Repository

  19. Chapter 19 Keeping Time with NTP

    1. Introduction

    2. Building a Local Time Server

    3. Connecting to a Local Time Server

    4. Adding Access Controls

    5. Deciding Which NTP Pools to Use

    6. Connecting to a Time Server from an Intermittent Connection

    7. Setting Up Multiple Local Time Servers

    8. Using NTP Keys for Authentication

  20. Chapter 20 Building a Postfix Mail Server

    1. Introduction

    2. Building a POP3 Mail Server

    3. Building a POP3 Mail Server on Debian

    4. Testing the SMTP/POP3 Mail Server

    5. Sending Internet Mail

    6. Receiving Internet Mail

    7. Installing Cyrus-SASL for SMTP Authorization

    8. Installing Cyrus-SASL on Debian

    9. Setting Up smtp-auth to Authenticate Users

    10. Using smtp-auth to Authenticate Postfix to Another Server

    11. Configuring a Fully Qualified Domain Name

    12. Building an IMAP Mail Server

    13. Connecting Your Users

    14. Sharing IMAP Folders

    15. Using Postfix's Virtual Mailbox Domains

    16. Creating a Mail List with couriermlm

    17. Administering a couriermlm List

    18. Squirreling Around with Webmail

    19. Table of SMTP Response Codes and SMTP Commands

  21. Chapter 21 Managing Spam and Malware

    1. Introduction

    2. Basic Checklist: Preparing to Build Spam Malware Defenses

    3. Safely Testing New UBE Controls in Postfix

    4. Basic UBE Configurations for Postfix

    5. Creating Whitelists

    6. Using DNS Blackhole Lists

    7. Rejecting Messages with Attachments

    8. Setting Up Clam Anti-Virus on a Postfix Server

    9. Setting Up SpamAssassin on Postfix with Amavisd-new

    10. Setting Up SpamAssassin Without Amavisd-new

  22. Chapter 22 Running an Apache Web Server

    1. Introduction

    2. Installing Apache 2.0 from Sources

    3. Adding New Modules After Installation

    4. Setting Apache File Permissions and Ownership

    5. Accessing the Apache User's Manual Locally

    6. Setting Up a Simple Public Web Server

    7. Redirecting URLs to a New Directory

    8. Giving Users Individual Web Directories

    9. Starting Apache at Boot

    10. Hosting Multiple Domains with Apache

    11. Using Individual Log Files for Virtual Hosts

    12. Keeping LAN Web Sites Off the Internet

    13. Password-Protecting Individual Directories

    14. Using robots.txt to Control Web Crawlers

    15. Blocking Obnoxious Visitors

    16. Making Custom Error Pages

    17. Customizing Apache's Default Error Pages

    18. Making Full-Length Directory Indexes

    19. Using Content Negotiation to Deliver Pages in Different Languages

    20. Using Favicons

    21. Viewing Apache Access Logs with Webalizer

  23. Chapter 23 File and Printer Sharing, and Domain Authentication with Samba

    1. Introduction

    2. Building a Simple Anonymous Samba File Server for Windows

    3. Building a Windows/Linux Peer Network

    4. Enabling File Sharing on Windows PCs

    5. Adding Authentication to a Samba Server

    6. Batch-Converting System Users to Samba Users

    7. Managing Samba Logins from Windows 95/98/ME

    8. Dealing with Windows Encrypted Password Confusion

    9. Controlling Share Access with Access Control Lists

    10. Creating Public Shares for Users

    11. Accessing Users' Home Directories in Samba

    12. Building a Primary Domain Controller with Samba

    13. Connecting Windows 95/98/ME to a Samba Domain

    14. Connecting Windows NT/2000 Clients to a Samba Domain

    15. Connecting Windows XP Clients to a Samba Domain

    16. Enabling Roaming Profiles

    17. Connecting Linux Clients to a Samba File Server or Peer Network

    18. Connecting Linux Clients to Samba Workgroups with Command-Line Tools

    19. Connecting Linux Clients to a Samba Domain with GUI LAN Browsers

    20. Connecting Linux Clients to a Samba Domain with Command-Line Tools

    21. Keeping Samba and Linux Passwords in Sync

    22. Sharing Linux Printers with Windows

    23. Sharing Windows Printers with Linux

    24. Running Windows Applications on Linux with CrossOver Office

  24. Chapter 24 Managing Name Resolution

    1. Introduction

    2. Enabling Local Name Resolution with hosts Files

    3. Setting Up a DHCP Server

    4. Configuring dhcp Clients

    5. Adding Static Hosts to dhcp

    6. Running a Public DNS Server

    7. Installing djbdns

    8. Moving tinydns's and dnscache's Logfiles

    9. Running a Local Caching Name Server with djbdns

    10. Configuring Linux and Windows Clients to Use Your Caching DNS Server

    11. Building a Public DNS Server with tinydns

    12. Building a Private tinydns Server

    13. Enabling Simple Load Balancing with tinydns

    14. Synchronizing with a Second tinydns Server

    15. Running a Local Caching Name Server with BIND

    16. Running a Private BIND DNS Server

    17. Checking Syntax

    18. Configuring a Public BIND DNS Server

    19. Building a BIND Secondary Server

    20. Simple Load Balancing with BIND

    21. Testing Your tinydns Server

    22. Testing and Querying DNS Servers with dig and dnstrace

  1. Appendix A Finding Linux Documentation

    1. Linux Documentation on the Web

    2. Books and Magazines

  2. Appendix B Online References

    1. Hardware Web Sites

    2. Usenet

  3. Appendix C Microsoft File Types

  4. Appendix D Init Script for CVSD

  5. Colophon