A Book for the Masses
Author: Steve Shaw
Price: $39.99 US
Linux Administration: A Beginner's Guide, Second Edition, is a librarian's nightmare. It's written for the Windows refugee or administrator who's in the position of having the opportunity to learn something about Linux. Like many introductory computer books, it's invariably of use to those of us who occasionally need a quick reference to some of the more obscure flags in command lines. In sum, there's something in it for pretty much anyone who has any kind of interest in running/testing/trying our esteemed OS.
Because of the variety and scope of its contents, this book is wont to have bent pages; the writing is fluid enough to be read over coffee or, even worse, a full meal. Think of the assortment of crumbs, coffee stains and greasy thumbprints. It's even good enough to get swiped from the shelves, replaced, borrowed, swiped again, repeat....
Steve Shah has a gift of making the technically detailed (but readability-inhibited) contents of the LDP quite accessible to both Linux newbie and Gnubie. He has broken down the tasks of a new Linux installation, server configuration, networking and all the other lovely menagerie of system administration tasks into a logical series of events that need to happen for a smoothly running Linux system to be born.
Numerous additional resources are listed throughout the book, both other publications and URLs, on a variety of subjects. These provide a wealth of additional information that are current at the time of this writing.
Those of us who've been using Linux for any length of time have come to recognize and understand terms like inode, superblock and fsck, among others. Shah presents elegant descriptions of both ext2 and NFS, as well as the "nearly-ready-for-prime-time" ext3 and Reiser filesystems. Tools for dealing with partitioning, filesystem creation and the like are all covered thoroughly in this chapter, as are NFS-related tools and configuration files. While this information may seem a bit esoteric to the new user, it's presented in a practical manner, making the subject relevant and its basics easily grasped.
Chapters 15 and 16 discuss SMTP and the POP protocols respectively. Shah goes through Sendmail's configuration, tweaking, security issues and mail filters, then follows through with good background information on POP, its configuration and the setup of QPopper. These chapters assume no previous knowledge of mail servers, and even moderately experienced Sendmail users will find new things here.
One of the most commonly ignored packages, and the most desperately needed, is ipchains (or iptables if you're running the 2.4.x kernel). On both individual systems and on networks, security is paramount, yet the vast majority of authors either discuss ipchains poorly or not at all. Shah deserves high praise indeed for his description of both ipchains and iptables, and for a wonderful comparison of the two. Shah also addresses package filtering, illustrating the subject with the notorious "Ping of Death" attack and how to circumvent it via ipchains. The author provides a good number of sample rules and firewall scripts to illustrate one of the more powerful and elegant solutions to network administration and security. Well done, Mr. Shah!
Despite its eminent readability and clear illustrations, Linux Administration has a few problems. Shah states that the book assumes the reader is very familiar with the Windows environment--then spends 23 pages explaining a straightforward graphical installation. The next 40 pages explain GNOME and KDE. One gets the impression the author is either extremely cynical or changed his mind about those assumptions.
As the core of Linux, the kernel bears a fair bit more discussion, even (especially!) with regards to Linux newbies. The discussion of patches, etc., is one thing, but troubleshooting the kernel requires more than a cursory warning at the bottom of the page of the need for a boot disk prior to kernel configuration and compilation, and then a brief suggestion to use the Help buttons as a method of troubleshooting.
Shah neglects to mention that vmlinuz and System.map are put into either / or /boot, according to what's specified in the Makefile, and that same Makefile is written (at least in parts) in human language, so it can be edited to put vmlinuz and System.map where they need to be for a given system. He also neglects to mention that time and space can be saved by using make bzlilo in lieu of make bzImage and then running LILO later. This kind of information takes much apprehension out of the first kernel build and installation just by reducing the number of requisite commands.
It's no secret to seasoned network administrators that numerous things can go wrong in the process of configuring DNS, and whether that network is largely Windows or Linux-based is nearly immaterial. What is not immaterial is that configuring a network for Linux is not as painless as Shah makes it seem. There's no mention of the troubles caused by upgrading BIND, for example: Shah endorses keeping up with the latest versions of BIND and then says nothing about the differences between BIND-8.x.x and 9.x.x. This is the sort of oversight that will likely make a new-to-Linux network administrator tear her/his hair out whilst poring over hundreds of pages attempting to address a problem caused by bad advice from an expert.
Apparently, a book with a CD has only two options: either the book will be abysmal but the software superb, or the book will be fabulous and software appalling. The Red Hat 7.0 disk included with this particular book was especially discouraging in that it hung, not initially, nor in the middle, but exactly 98% of the way through the installation. For a graphical installation, this was not one of the better showings of recent releases. Better that Red Hat had provided a boot disk to use for a network installation, which at least didn't wait until the very last minute to bail out. It would have been better still had Osborne/McGraw-Hill waited until Red Hat's "point-uh-oh's" were fixed a little bit.
As of this writing, Red Hat 7.1 SeaWolf has been released and shows promise so far. It may make a lovely testbed for the fine contents of the book.
Practical books for the most technical people on the planet. Newly available books include:
- Agile Product Development by Ted Schmidt
- Improve Business Processes with an Enterprise Job Scheduler by Mike Diehl
- Finding Your Way: Mapping Your Network to Improve Manageability by Bill Childers
- DIY Commerce Site by Reven Lerner
Plus many more.