A competent system administrator knows that a Linux server is a high performance system for routing large amounts of information through a network connection. Setting up and maintaining a Linux server requires understanding not only the hardware, but the ins and outs of the Linux operating system along with its supporting cast of utilities as well as layers of applications software. There's basic documentation online but there's a lot beyond the basics you have to know, and this only comes from people with hands-on, real-world experience. This kind of "know how" is what we sought to capture in Linux Server Hacks.Linux Server Hacks is a collection of 100 industrial-strength hacks, providing tips and tools that solve practical problems for Linux system administrators. Every hack can be read in just a few minutes but will save hours of searching for the right answer. Some of the hacks are subtle, many of them are non-obvious, and all of them demonstrate the power and flexibility of a Linux system. You'll find hacks devoted to tuning the Linux kernel to make your system run more efficiently, as well as using CVS or RCS to track the revision to system files. You'll learn alternative ways to do backups, how to use system monitoring tools to track system performance and a variety of secure networking solutions. Linux Server Hacks also helps you manage large-scale Web installations running Apache, MySQL, and other open source tools that are typically part of a Linux system.O'Reilly's new Hacks Series proudly reclaims the term "hacking" for the good guys. Hackers use their ingenuity to solve interesting problems. Rob Flickenger is an experienced system administrator, having managed the systems for O'Reilly Network for several years. (He's also into community wireless networking and he's written a book on that subject for O'Reilly.) Rob has also collected the best ideas and tools from a number of other highly skilled contributors.Written for users who already understand the basics, Linux Server Hacks is built upon the expertise of people who really know what they're doing.

Chapter 1 Server Basics

Hacks #1-22

Removing Unnecessary Services

Forgoing the Console Login

Common Boot Parameters

Creating a Persistent Daemon with init

n>&m: Swap Standard Output and Standard Error

Building Complex Command Lines

Working with Tricky Files in xargs

Immutable Files in ext2/ext3

Speeding Up Compiles

At Home in Your Shell Environment

Finding and Eliminating setuid/setgid Binaries

Make sudo Work Harder

Using a Makefile to Automate Admin Tasks

Brute Forcing Your New Domain Name

Playing Hunt the Disk Hog

Fun with /proc

Manipulating Processes Symbolically with procps

Managing System Resources per Process

Cleaning Up after Ex-Users

Eliminating Unnecessary Drivers from the Kernel

Using Large Amounts of RAM

hdparm: Fine Tune IDE Drive Parameters

Chapter 2 Revision Control

Hacks #23-36

Getting Started with RCS

Checking Out a Previous Revision in RCS

Tracking Changes with rcs2log

Getting Started with CVS

CVS: Checking Out a Module

CVS: Updating Your Working Copy

CVS: Using Tags

CVS: Making Changes to a Module

CVS: Merging Files

CVS: Adding and Removing Files and Directories

CVS: Branching Development

CVS: Watching and Locking Files

CVS: Keeping CVS Secure

CVS: Anonymous Repositories

Chapter 3 Backups

Hacks #37-44

Backing Up with tar over ssh

Using rsync over ssh

Archiving with Pax

Backing Up Your Boot Sector

Keeping Parts of Filesystems in sync with rsync

Automated Snapshot-Style Incremental Backups with rsync

Working with ISOs and CDR/CDRWs

Burning a CD Without Creating an ISO File

Chapter 4 Networking

Hacks #45-53

Creating a Firewall from the Command Line of any Server

Simple IP Masquerading

iptables Tips & Tricks

Forwarding TCP Ports to Arbitrary Machines

Using Custom Chains in iptables

Tunneling: IPIP Encapsulation

Tunneling: GRE Encapsulation

Using vtun over ssh to Circumvent NAT

Automatic vtund.conf Generator

Chapter 5 Monitoring

Hacks #54-65

Steering syslog

Watching Jobs with watch

What's Holding That Port Open?

Checking On Open Files and Sockets with lsof

Monitor System Resources with top

Constant Load Average Display in the Titlebar

Network Monitoring with ngrep

Scanning Your Own Machines with nmap

Disk Age Analysis

Cheap IP Takeover

Running ntop for Real-Time Network Stats

Monitoring Web Traffic in Real Time with httptop

Chapter 6 SSH

Hacks #66-71

Quick Logins with ssh Client Keys

Turbo-mode ssh Logins

Using ssh-Agent Effectively

Running the ssh-Agent in a GUI

X over ssh

Forwarding Ports over ssh

Chapter 7 Scripting

Hacks #72-75

Get Settled in Quickly with movein.sh

Global Search and Replace with Perl

Mincing Your Data into Arbitrary Chunks (in bash)

Colorized Log Analysis in Your Terminal

Chapter 8 Information Servers

Hacks #76-100

Running BIND in a chroot Jail

Views in BIND 9

Setting Up Caching DNS with Authority for Local Domains

Distributing Server Load with Round-Robin DNS

Running Your Own Top-Level Domain

Monitoring MySQL Health with mtop

Setting Up Replication in MySQL

Restoring a Single Table from a Large MySQL Dump

MySQL Server Tuning

Using proftpd with a mysql Authentication Source

Optimizing glibc, linuxthreads, and the Kernel for a Super MySQL Server

Apache Toolbox

Display the Full Filename in Indexes

Quick Configuration Changes with IfDefine

Simplistic Ad Referral Tracking

Mimicking FTP Servers with Apache

Rotate and compress Apache Server Logs

Generating an SSL cert and Certificate Signing Request

Creating Your Own CA

Distributing Your CA to Client Browsers

Serving multiple sites with the same DocumentRoot

Delivering Content Based on the Query String Using mod_rewrite

Using mod_proxy on Apache for Speed

Distributing Load with Apache RewriteMap

Ultrahosting: Mass Web Site Hosting with Wildcards, Proxy, and Rewrite

Rob Flickenger

Rob Flickenger has been a professional systems administrator for more than 10 years, and all around hacker for as long as he can remember. Rob enjoys spreading the good word of open networks, open standards, and ubiquitous wireless networking. His current professional project is Metrix Communication LLC, which provides wireless hardware and software that embodies the same open source principles he rants about in his books. Rob also works with the U.N. and various international organizations to bring these ideas to places where communications infrastructure is badly needed. He hopes that all of this effort is contributing toward the ultimate goal of infinite bandwidth everywhere for free. He is the author of Linux Server Hacks, Wireless Hacks, and Building Wireless Community Networks (which is in its second edition).

Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. Sarah Sherman was the production editor and copyeditor for Linux Server Hacks. Colleen Gorman, Mary Brady, and Claire Cloutier provided quality control. John Bickelhaupt wrote the index.Edie Freedman designed the cover of this book. The tool on the cover of Linux Server Hacks is an ax. The cover image is an original photograph from the CMCD collection. Emma Colby produced the cover layout with Quark-XPress 4.1 using Adobe's ITC Garamond and Helvetica Neue fonts.David Futato designed the interior layout. This book was converted to FrameMaker 5.5.6 with a format conversion tool created by Erik Ray, Jason McIntosh, Neil Walls, and Mike Sierra that uses Perl and XML technologies. The text font is Linotype Birka; the heading font is Adobe Helvetica Neue Condensed; and the code font is LucasFont's TheSans Mono Condensed. The illustrations that appear in the book were produced by Robert Romano and Jessamyn Read using Macromedia FreeHand 9 and Adobe Photoshop 6.

This book is a must have. For both new administrators and the seasoned ones who need "that little bit of information". If I were asked to state one good thing about this book it would be the fact that the contents are arranged by someone who knows what server administration is about. This is not just pure theory of server side services or strictly focus on administration. The book manages to ensure that the objective is to turn out an excellent server administration and a far better administrator (than before reading this book). Schools, colleges and university libraries should be stocking this and employers better start gifting this book to their IT staff.

By managing to appeal both to the infrequent administrator and the professional, this books is something that most readers would be just happy to have around.

As someone who has worked with Linux servers for years and also has one at home, I have to say this book totally rocks. I like to think I know a thing or two about running Linux servers, but I've learned lots of new things from this book.

All the things which you know you should sort out and have been nagging at the back of your mind are covered in this little volume, from backups to cryptography infrastructure (ssh/ssl) to security. In addition to the big stuff, there's lots of useful one-liners such as how to easily get a list of big files on your disk, recursive search-and-replace on your filesystem and backing up to CD, all collected together in one place.

This is easily the best money I have ever spent on a non-programming-related technical book. It takes a lot to put the fun back into system administration, but Rob Flickenger has done a fine job. Go Rob.

This is a good book for Linux enthusiasts, and a great book for sys admins. The book covers a wide range of material, and while I'm likely to only use a fraction of the tips in the book, it is a good resource for ideas. The book covers most functions that a server is required to perform, in addition to monitoring the server itself.

The hacks are organized into sections based on the function they are related to, i.e., basics, networking, SSH, etc. The hacks in any given section vary widely, so it is nice to have a general idea where information about particular aspects can be found.

The author clearly has a good grasp of the material, and does a good job in communicating the information. This is not a book for beginners, and those who are fairly new should get more experience with Linux before attempting to read this.

Linux Server Hacks is really a very cool book. Some of the hacks are so good that having them would surely save you a lot of time. I particularly liked the chapter on backups. Also the chapter on SSH was very useful. Although you might not use all the hacks, anybody who does system administration surely would benefit by this book.

I've only been using Linux for about a year now and was ready for more of the intriguing possibilities that it had to offer when I came across this book. The ordering is done well where each hack progressively adds a level of complexity and can be read from beginning to end. But it also makes a good quick reference for quick hacks as you need them. It is not based on gui usage and is very distro inspecific. Very well done.

I saw this briefly in the bookstore the other day and just had to open it. I found an amazing hack; using tar with ssh to put an archive on a remote host. I had never thought of pipingthings through ssh before. Very interesting. This book looks like it could be invaluable.