| help | account  


Linux Cookbook
View Larger Image
Carla Schroder
O'Reilly Media, Paperback, Published November 2004, 553 pages, ISBN 0596006403
List Price: $44.95
Our Price: $27.95
You Save: $17.00 (38% Off)


FREE Shipping on Orders over $40!*
Availability: Out-Of-Stock
Read some online sample excerpts:
Network Installation of Windows Printers from Samba

Linux Cookbook Excerpt Part 1

Linux Cookbook Excerpt Part 2

Excerpts provided courtesy of O'Reilly and Associates.

Be the First to Write a Review and tell the world about this title!

People who purchase this book frequently purchase:

Books on similar topics, in best-seller order:Books from the same publisher, in best-seller order:

This unique and valuable collection of tips, tools, and scripts provides clear, concise, hands-on solutions that can be applied to the challenges facing anyone running a network of Linux servers from small networks to large data centers in the practical and popular problem-solution-discussion O'Reilly cookbook format.

The Linux Cookbook covers everything you'd expect: backups, new users, and the like. But it also covers the non-obvious information that is often ignored in other books the time-sinks and headaches that are a real part of an administrator's job, such as: dealing with odd kinds of devices that Linux historically hasn't supported well, building multi-boot systems, and handling things like video and audio.

The knowledge needed to install, deploy, and maintain Linux is not easily found, and no Linux distribution gets it just right. Scattered information can be found in a pile of man pages, texinfo files, and source code comments, but the best source of information is the experts themselves who built up a working knowledge of managing Linux systems. This cookbook's proven techniques distill years of hard-won experience into practical cut-and-paste solutions to everyday Linux dilemmas.

Use just one recipe from this varied collection of real-world solutions, and the hours of tedious trial-and-error saved will more pay for the cost of the book. But those who prefer to learn hands-on will find that this cookbook not only solves immediate problems quickly, it also cuts right to the chase pointing out potential pitfalls and illustrating tested practices that can be applied to a myriad of other situations.

Whether you're responsible for a small Linux system, a huge corporate system, or a mixed Linux/Windows/MacOS network, you'll find valuable, to-the-point, practical recipes for dealing with Linux systems everyday. The Linux Cookbook is more than a time-saver; it's a sanity saver.

 

Table of Contents

Preface

1. Finding Documentation
      1.1 Introduction
      1.2 Understanding man Pages
      1.3 Finding Appropriate man Pages
      1.4 Finding Lost man Pages
      1.5 Reading man Pages Without a man Viewer
      1.6 Configuring Your manpath
      1.7 Using info Pages
      1.8 Printing man Pages
      1.9 Printing info Pages
      1.10 Printing Selected man or info Pages
      1.11 Finding All of the Documentation for a Program

2. Installing and Managing Software on RPM-Based Systems
      2.1 Introduction
      2.2 Installing RPMs
      2.3 Upgrading RPMs
      2.4 Removing RPMs
      2.5 Collecting Information on Installed RPMs
      2.6 Collecting Information from RPMs That Are Not Installed
      2.7 Finding Recently Installed RPMs
      2.8 Rebuilding the RPM Database
      2.9 Tracking Source-Built Libraries on an RPM-Based System
      2.10 Fixing RPM Installation Problems
      2.11 Installing Source RPMs
      2.12 Customizing Build Options in a Source RPM
      2.13 Installing Yum
      2.14 Configuring Yum
      2.15 Installing and Upgrading Packages with Yum
      2.16 Removing Packages with Yum
      2.17 Getting Information on Installed Packages with Yum
      2.18 Maintaining Yum

3. Installing and Managing Software on Debian-Based Systems
      3.1 Introduction
      3.2 Getting Software for a Debian System
      3.3 Installing Debian Packages from CD-ROM
      3.4 Installing Packages on Debian-Based Systems
      3.5 Removing Packages from a Debian System
      3.6 Installing from Sources on a Debian System
      3.7 Upgrading Packages on Debian
      3.8 Upgrading a Debian System
      3.9 Upgrading to a Newer Debian Release
      3.10 Running a Mixed Debian System
      3.11 Finding Out What Is Installed on a Debian System
      3.12 Maintaining the Debian Package Cache
      3.13 Resolving Debian Dependency Conflicts
      3.14 Building a Local Debian Repository
      3.15 Selecting Package Mirrors for apt-proxy.conf
      3.16 Adding Your Existing Package Cache to apt-proxy.conf

4. Installing Programs from Source Code
      4.1 Introduction
      4.2 Preparing Your System for Compiling Programs from Sources
      4.3 Generating a List of Files from a Source Install for Easy Uninstalls
      4.4 Installing Programs from Source Code
      4.5 Using CheckInstall to Create Packages from Sources

5. Discovering Hardware from Outside the Box
      5.1 Introduction
      5.2 Detecting Hardware with lspci
      5.3 Using dmesg to Collect Hardware Information
      5.4 Getting Live Hardware Snapshots with /proc
      5.5 Viewing Drive Partitions with fdisk
      5.6 Calculating Hard Drive Capacity

6. Editing Text Files with JOE and Vim
      6.1 Introduction
      6.2 Finding JOE Commands
      6.3 Customizing JOE
      6.4 Organizing JOE's Preferences in a Separate File
      6.5 Copying Between Two Files in JOE
      6.6 Searching and Replacing in JOE
      6.7 Selecting Text Vertically in JOE
      6.8 Finding and Opening Files in JOE
      6.9 Learning Vim Quickly
      6.10 Creating Autotext with Vim's Abbreviations
      6.11 Mapping Commands to Keystrokes
      6.12 Customizing Vim
      6.13 Navigating Quickly in Vim with Marks
      6.14 Picking Up Where You Left Off: Using Vim's Sessions
      6.15 Setting Your Default Editor
      6.16 Discovering Vim's Compile-Time Options

7. Starting and Stopping Linux
      7.1 Introduction
      7.2 Changing Runlevels After Bootup
      7.3 Changing the Default Runlevel
      7.4 Starting and Stopping X
      7.5 Managing Debian's Runlevels
      7.6 Creating Both Text and Graphical Login Runlevels on Debian
      7.7 Managing Red Hat's Runlevels
      7.8 Manually Configuring Startup Services
      7.9 Manually Starting and Stopping Services
      7.10 Shutting Down or Rebooting Linux
      7.11 Disabling or Limiting Access to Ctrl-Alt-Delete
      7.12 Shutting Down Automatically

8. Managing Users and Groups
      8.1 Introduction
      8.2 Sorting Human Users from System Users
      8.3 Finding a User's UID and GID
      8.4 Adding Users with useradd
      8.5 Adding Users with adduser
      8.6 Modifying User Accounts
      8.7 Deleting a User
      8.8 Killing User Processes the Easy, Fun Way
      8.9 Disabling Accounts
      8.10 Managing Passwords
      8.11 Adding Groups with groupadd
      8.12 Deleting Groups with groupdel
      8.13 Creating a System User
      8.14 Creating System Groups with addgroup
      8.15 Adding and Deleting Group Members
      8.16 Checking Password File Integrity
      8.17 Adding New Users in Batches
      8.18 Changing Masses of Passwords
      8.19 Adding Batches of Users to Groups
      8.20 Using su to Be Root Temporarily
      8.21 Granting Limited Rootly Powers with sudo
      8.22 Using Disk Quotas

9. Managing Files and Partitions
      9.1 Introduction
      9.2 Setting File and Directory Permissions with chmod's Numeric Notation
      9.3 Doing Batch Operations with chmod
      9.4 Setting File and Directory Permissions with chmod's Symbolic Notation
      9.5 Setting File Ownership with chown
      9.6 Doing Batch Operations with chown
      9.7 Setting Up a Shared Directory with setgid and the Sticky Bit
      9.8 Setting Permissions Defaults with umask
      9.9 Mounting and Unmounting Removable Disks
      9.10 Configuring Filesystem Mounts with /etc/fstab
      9.11 Mounting and Unmounting Filesystems on Hard Drives
      9.12 Finding Device Names for mount and fstab
      9.13 Creating Files and Directories
      9.14 Deleting Files and Directories
      9.15 Copying, Moving, and Renaming Files and Directories
      9.16 Creating Linux Disk Partitions with fdisk
      9.17 Creating a Filesystem on a New Partition

10. Patching, Customizing, and Upgrading Kernels
      10.1 Introduction
      10.2 Adding New Features to the 2.4 Kernel
      10.3 Slimming a Stock 2.4 Kernel
      10.4 Upgrading to the Latest Stable Version of the 2.4 Kernel
      10.5 Building the 2.6 Kernel
      10.6 Adding New Features to the 2.6 Kernel
      10.7 Adding a New Loadable Kernel Module
      10.8 Patching a Kernel
      10.9 Removing a Kernel Patch
      10.10 Creating an initrd Image
      10.11 Creating a Boot Disk on Debian
      10.12 Creating a Boot Disk on Red Hat

11. CD and DVD Recording
      11.1 Introduction
      11.2 Finding the SCSI Address for CD and DVD Writers
      11.3 Enabling SCSI Emulation for IDE/Atapi CD and DVD Writers
      11.4 Making a Data CD for General Distribution
      11.5 Building File Trees on a Data CD
      11.6 Copying a CD or DVD
      11.7 Erasing a CD-RW
      11.8 Recording a Multisession Data CD
      11.9 Creating a Bootable CD
      11.10 Spanning a Large File over Several CDs
      11.11 Recording Data DVDs
      11.12 Recording an Audio CD for Standard CD Players

12. Managing the Bootloader and Multi-Booting
      12.1 Introduction
      12.2 Migrating from LILO to GRUB
      12.3 Installing GRUB Without a Floppy Disk
      12.4 Installing GRUB with grub-install
      12.5 Preparing a System for Multibooting Linux
      12.6 Adding More Linuxes to a Multiboot System
      12.7 Discovering Boot Parameters from the GRUB Command Shell
      12.8 Configuring the Boot Partition
      12.9 Creating the GRUB Boot Menu
      12.10 Customizing menu.lst
      12.11 Adding Windows 95/98/ME to a Linux System
      12.12 Adding Windows NT/2000/XP to a Multiboot System
      12.13 Restoring GRUB to the MBR with a Knoppix CD
      12.14 Protecting System Files with a GRUB Password
      12.15 Locking Out Users from Individual GRUB Menu Entries
      12.16 Creating a GRUB Splash Image
      12.17 Booting Linux with LILO
      12.18 Multibooting Linuxes with LILO
      12.19 Multibooting Windows and Linux with LILO
      12.20 Creating a LILO Boot Diskette
      12.21 Password-Protecting LILO
      12.22 Backing Up the MBR

13. System Rescue and Recovery with Knoppix
      13.1 Introduction
      13.2 Booting Knoppix
      13.3 Creating a Knoppix Boot Diskette
      13.4 Saving Your Knoppix Configuration on a USB Memory Stick
      13.5 Creating a Persistent, Encrypted Knoppix Home Directory
      13.6 Copying Files to Another Linux PC
      13.7 Copying Files to a Samba Share
      13.8 Copying Files to a CD-R/RW
      13.9 Editing Configuration Files from Knoppix
      13.10 Installing Software from Knoppix
      13.11 Repairing a Lost Root Password
      13.12 Installing Knoppix to a Hard Disk
      13.13 Virus-Scanning Windows PCs with Knoppix

14. Printing with CUPS
      14.1 Introduction
      14.2 Installing a Printer on a Standalone Linux PC
      14.3 Serving Linux Clients
      14.4 Sharing a Printer Without Using Name Resolution
      14.5 Serving Windows Clients Without Samba
      14.6 Sharing Printers on a Mixed LAN with Samba
      14.7 Building a Dedicated CUPS Printer Server
      14.8 Distributed Printing with Classes
      14.9 Restricting Users from Printers and Classes
      14.10 Troubleshooting

15. Configuring Video and Managing X Windows
      15.1 Introduction
      15.2 Using Both X Windows and Consoles
      15.3 Installing a New Video Adapter
      15.4 Editing XF86Config
      15.5 Enabling 3D Hardware Acceleration with XFree86/DRI
      15.6 Troubleshooting 3D Acceleration Problems
      15.7 Configuring a Multihead Display
      15.8 Choosing Different ServerLayouts at Startup
      15.9 Setting a Default ServerLayout
      15.10 Configuring startx
      15.11 Changing Your Login Display Manager
      15.12 Running Different Window Managers Simultaneously with Xnest

16. Backup and Recovery
      16.1 Introduction
      16.2 Using rsync for Local File Transfers and Synchronization
      16.3 Making Secure Transfers with rsync and ssh
      16.4 Building an rsync Backup Server
      16.5 Securing rsync Modules
      16.6 Building an Anonymous Public rsync Server
      16.7 Launching the rsync Daemon at Startup
      16.8 Fine-Tuning File Selection
      16.9 Automating rsync over ssh Backups
      16.10 Limiting rsync's Bandwidth Requirements
      16.11 Customizing Filepaths in rsync
      16.12 Installing rsync on Windows Clients
      16.13 Creating a Message of the Day for rsync
      16.14 Creating a Bootable System Restore CD with Mondo Rescue
      16.15 Verifying the Mondo Backup
      16.16 Creating a Bootable System Restore DVD with Mondo Rescue
      16.17 Using Mondo Rescue to Clone Linux Systems
      16.18 Using the mindi-kernel for a "Sane" Backup
      16.19 Restoring a System from a Mondo Rescue Disk
      16.20 Restoring Selected Files from a Mondo Disk

17. Remote Access
      17.1 Introduction
      17.2 Setting Up OpenSSH the First Time
      17.3 Generating New Host Keys
      17.4 Authenticating Via Public Keys
      17.5 Using Multiple Key Pairs
      17.6 Passwordless Logins with ssh-agent
      17.7 Better Passwordless Logins with keychain
      17.8 Passwordless Logins for cron Jobs
      17.9 Shutting Down ssh-agent Automatically at Logout
      17.10 Customizing the Bash Prompt for ssh
      17.11 Tunneling X over SSH
      17.12 Connecting from a Windows PC
      17.13 Setting File Permissions on ssh Files

18. Version Control
      18.1 Introduction
      18.2 Building a Simple Local RCS Repository
      18.3 Retrieving Older File Revisions from RCS
      18.4 Comparing File Versions in RCS
      18.5 Managing System Configuration Files with RCS
      18.6 Using CVS for a Single-User Local Repository
      18.7 Adding New Files to a CVS Repository
      18.8 Deleting Files from a CVS Repository
      18.9 Creating a Shared CVS Repository
      18.10 Sharing a Single Repository Between Several Groups
      18.11 Accessing a Remote CVS Repository
      18.12 Updating Your Working Files in CVS
      18.13 Retrieving Specific Older Revisions from CVS
      18.14 Building an Anonymous Read-Only CVS Repository with Pserver
      18.15 Mirroring a CVS Repository
      18.16 Storing Binary Files in CVS
      18.17 Creating Release Snapshots with Tags
      18.18 Creating Stable and Development Branches for a Project
      18.19 Customizing Your CVS Environment
      18.20 Calculating Storage Size for a CVS Repository

19. Keeping Time with NTP
      19.1 Introduction
      19.2 Building a Local Time Server
      19.3 Connecting to a Local Time Server
      19.4 Adding Access Controls
      19.5 Deciding Which NTP Pools to Use
      19.6 Connecting to a Time Server from an Intermittent Connection
      19.7 Setting Up Multiple Local Time Servers
      19.8 Using NTP Keys for Authentication

20. Building a Postfix Mail Server
      20.1 Introduction
      20.2 Building a POP3 Mail Server
      20.3 Building a POP3 Mail Server on Debian
      20.4 Testing the SMTP/POP3 Mail Server
      20.5 Sending Internet Mail
      20.6 Receiving Internet Mail
      20.7 Installing Cyrus-SASL for SMTP Authorization
      20.8 Installing Cyrus-SASL on Debian
      20.9 Setting Up smtp-auth to Authenticate Users
      20.10 Using smtp-auth to Authenticate Postfix to Another Server
      20.11 Configuring a Fully Qualified Domain Name
      20.12 Building an IMAP Mail Server
      20.13 Connecting Your Users
      20.14 Sharing IMAP Folders
      20.15 Using Postfix's Virtual Mailbox Domains
      20.16 Creating a Mail List with couriermlm
      20.17 Administering a couriermlm List
      20.18 Squirreling Around with Webmail
      20.19 Table of SMTP Response Codes and SMTP Commands

21. Managing Spam and Malware
      21.1 Introduction
      21.2 Basic Checklist: Preparing to Build Spam Malware Defenses
      21.3 Safely Testing New UBE Controls in Postfix
      21.4 Basic UBE Configurations for Postfix
      21.5 Creating Whitelists
      21.6 Using DNS Blackhole Lists
      21.7 Rejecting Messages with Attachments
      21.8 Setting Up Clam Anti-Virus on a Postfix Server
      21.9 Setting Up SpamAssassin on Postfix with Amavisd-new
      21.10 Setting Up SpamAssassin Without Amavisd-new

22. Running an Apache Web Server
      22.1 Introduction
      22.2 Installing Apache 2.0 from Sources
      22.3 Adding New Modules After Installation
      22.4 Setting Apache File Permissions and Ownership
      22.5 Accessing the Apache User's Manual Locally
      22.6 Setting Up a Simple Public Web Server
      22.7 Redirecting URLs to a New Directory
      22.8 Giving Users Individual Web Directories
      22.9 Starting Apache at Boot
      22.10 Hosting Multiple Domains with Apache
      22.11 Using Individual Log Files for Virtual Hosts
      22.12 Keeping LAN Web Sites Off the Internet
      22.13 Password-Protecting Individual Directories
      22.14 Using robots.txt to Control Web Crawlers
      22.15 Blocking Obnoxious Visitors
      22.16 Making Custom Error Pages
      22.17 Customizing Apache's Default Error Pages
      22.18 Making Full-Length Directory Indexes
      22.19 Using Content Negotiation to Deliver Pages in Different Languages
      22.20 Using Favicons
      22.21 Viewing Apache Access Logs with Webalizer

23. File and Printer Sharing, and Domain Authentication with Samba
      23.1 Introduction
      23.2 Building a Simple Anonymous Samba File Server for Windows
      23.3 Building a Windows/Linux Peer Network
      23.4 Enabling File Sharing on Windows PCs
      23.5 Adding Authentication to a Samba Server
      23.6 Batch-Converting System Users to Samba Users
      23.7 Managing Samba Logins from Windows 95/98/ME
      23.8 Dealing with Windows Encrypted Password Confusion
      23.9 Controlling Share Access with Access Control Lists
      23.10 Creating Public Shares for Users
      23.11 Accessing Users' Home Directories in Samba
      23.12 Building a Primary Domain Controller with Samba
      23.13 Connecting Windows 95/98/ME to a Samba Domain
      23.14 Connecting Windows NT/2000 Clients to a Samba Domain
      23.15 Connecting Windows XP Clients to a Samba Domain
      23.16 Enabling Roaming Profiles
      23.17 Connecting Linux Clients to a Samba File Server or Peer Network
      23.18 Connecting Linux Clients to Samba Workgroups with Command-Line Tools
      23.19 Connecting Linux Clients to a Samba Domain with GUI LAN Browsers
      23.20 Connecting Linux Clients to a Samba Domain with Command-Line Tools
      23.21 Keeping Samba and Linux Passwords in Sync
      23.22 Sharing Linux Printers with Windows
      23.23 Sharing Windows Printers with Linux
      23.24 Running Windows Applications on Linux with CrossOver Office

24. Managing Name Resolution
      24.1 Introduction
      24.2 Enabling Local Name Resolution with hosts Files
      24.3 Setting Up a DHCP Server
      24.4 Configuring dhcp Clients
      24.5 Adding Static Hosts to dhcp
      24.6 Running a Public DNS Server
      24.7 Installing djbdns
      24.8 Moving tinydns's and dnscache's Logfiles
      24.9 Running a Local Caching Name Server with djbdns
      24.10 Configuring Linux and Windows Clients to Use Your Caching DNS Server
      24.11 Building a Public DNS Server with tinydns
      24.12 Building a Private tinydns Server
      24.13 Enabling Simple Load Balancing with tinydns
      24.14 Synchronizing with a Second tinydns Server
      24.15 Running a Local Caching Name Server with BIND
      24.16 Running a Private BIND DNS Server
      24.17 Checking Syntax
      24.18 Configuring a Public BIND DNS Server
      24.19 Building a BIND Secondary Server
      24.20 Simple Load Balancing with BIND
      24.21 Testing Your tinydns Server
      24.22 Testing and Querying DNS Servers with dig and dnstrace

A. Finding Linux Documentation

B. Online References

C. Microsoft File Types

D. Init Script for CVSD

Index

 

About the Author

Carla Schroder is a self-taught Linux and Windows sysadmin, who laid hands on her first computer around her 37th birthday. Her first PC was a Macintosh LC II. Next came an IBM-clone, a 386sx running MS-DOS 5 and Windows 3.1, with a 14" color display, which was adequate for many pleasant hours of DOOM play. Then around 1997 she discovered Red Hat 5.0, and had a whole new world to explore.

Somewhere along the way she found herself doing freelance consulting for small businesses and home users, supporting both Linux and Windows users, and integrating Linux and Windows on the LAN; primarily Linux servers and Windows clients. She is the author of the Linux Cookbook for O'Reilly, and writes Linux howtos for several computer publications.

Carla is living proof that you're never too old to try something new, computers are a heck of a lot of fun, and anyone can learn to do anything. Visit tuxcomputing.com for more Carla stuff.




Forgot your password?
FAQs
Shipping Options
Returns
Your Orders
Your Account