Although it does have “beginner” in the title, this is not a book for someone entirely new to computers.
Author: Steve Shah
Publisher: Osborne McGraw-Hill
Price: $39.99 US
Reviewer: Harvey Friedman
Although it does have “beginner” in the title, this is not a book for someone entirely new to computers. Rather, it was written for one who might have prior experience as systems administrator for another computer system, and is finally ready to try Linux. In particular, the author compares it to Windows NT, with some lovely diagrams showing 1) authentication, 2) network, 3) boot process and 4) shutdown process. I used these comparison diagrams to learn about NT servers (assuming they were correct) because my only previous experience with NT was with the NT workstation.
Enough about NT, however. This book was a delight to read. Each chapter uses the classic teaching organization of an introduction telling the reader what will be covered, the coverage itself, and then a brief summary outlining what was covered, plus a list of books for further reading. The overall structure consists of five parts: Installing Linux, Single Host Administration, Internet Services, Intranet Services and Advanced Linux Networking.
The inside front cover of the book contains a “functional menu” listing many common tasks that a system administrator has to do and a reference to the chapter containing it. This implies that each chapter is self-contained, although many of the later chapters require information from earlier ones. I recommend reading it from cover to cover. Also included with the book is a CD-ROM containing the “Publisher's Edition” of the Red Hat Linux 6.1 distribution. What this means is that the reader has a stripped-down version of the distribution. URLs for Red Hat and other useful sites (such as where to download “ssh”) are provided, so no one should be too peeved.
Shah gives good descriptions of using RPM to grab packages to install on one's working system, as well as complete illustrations of downloading a tarball, unzipping (if necessary), untarring and moving to a new directory. He then leads the reader thru the process of finding a Makefile, configuring, compiling and installing the package.
The description of setting up anonymous FTP is the most complete I can recall reading in recent memory. It is not just a cookbook recipe to follow, but also includes reasons to do things. Shah even contrasts setting up FTP via NT and discusses the relative security of each.
The Advanced Linux Networking section seemed too short. It covers IP aliasing, packet filters, and ipchains. After discussing the theory behind these, Shah gives concrete examples of how one might set them up, including filtering out the “ping of death”.
I did stop counting typos after a dozen or so, but most of them will probably not detract from the reader's understanding. One of the most annoying errors was on page 222; the text describing DNS did not agree with Figure 12-1.
I think this book is well-written enough in explaining what is behind much of Linux that it could likely reduce many of the FAQs on Usenet newsgroups—that is, if everyone who had installed or wanted to install Linux would read it. Of course, most Linux newbies should read the HOWTOs, as well.
Overall, I think so highly of this book that I rate it in a class with Nemeth, et al.'s UNIX System Administration Handbook. Or maybe I've reviewed too many “... for Dummies” books. Well, I have reviewed enough of them and, yes, this book is good.