Just Some Guy writes "I recently received a promotional copy of Roderick W. Smith's "FreeBSD: The Complete Reference". I was pretty skeptical at first - it's my nature - but was pleasantly surprised at the range and depth of information presented in a very accessible format. While not ready to supplant Greg Lehey's "The Complete FreeBSD", it's certainly a worthwhile read for new and moderately-experienced users." Read on for Just Some Guy's full review.
This is a large book. At 869 pages, not including copies of the GPL and BSD License, it packs some serious heft (it weighs slightly more than three pounds).
It is divided into six main parts, which are further divided into 32 (!) chapters. The sections are:
- FreeBSD Installation: Hardware requirements, installation instructions, and a general overview.
- Basic System Administration: Partitioning, startup procedure, file management, printer setup, user management, software installation, kernel configuration, and X.
- Network Configuration: Introduction to networking, dial-ups, client/server principles, basic firewalling.
- Servers: In-depth explanation of file, mail, web, and shell servers, plus an overview of DNS, NTP, DHCP, and other random services.
- Common User Programs: Introduction to KDE and GNOME. An overview of various network clients and office software. A short tutorial on The GIMP. The state of multimedia and games on FreeBSD.
- System Maintenance: The basics of system monitoring. How to upgrade the OS and installed software. An overview of system security. How to compile software. Basic scripting. Troubleshooting and how to get help.
This book is an excellent starting point for people new to FreeBSD, or even to Unix-like systems in general. Each of the wide range of topics is covered in a reasonable amount of detail. Mr. Smith claims to have been working in the field for quite a few years, and it shows in the way each part of the OS is presented as a component of the whole. This isn't a "cookbook"; readers are introduced to each subject in a way that encourages them to make their own configuration decisions.
I was unable to find any factual errors, and I certainly looked for them. The author and proofreaders did a good job of checking their information before going to print. Since my copy was from the first printing, I'm especially impressed.
New users, in particular, will appreciate the hand-holding approach of the earlier chapters on installation and basic configuration. More experience administrators should be able to find enough new information about rather routine subjects to keep them interested.
Of particular interest was the almost complete lack of FreeBSD advocacy in the book. The introduction features a remarkably even-handed discussion of its relative strengths and weaknesses compared to other Unix and non-Unix operating systems. I greatly respect the author's decision to weigh the alternatives fairly and let the reader form his own opinion.
FreeBSD: The Complete Reference is, unsurprisingly, a new entry in Osborne's "Complete Reference" series. As such, it's fairly comparable in size, layout, and scope to other books in the series such as Herbert Schildt's C++: The Complete Reference (my favorite C++ text). That's a pretty high standard to live up to, and I began my first pass through the book with a very critical eye.
My only real complaint is that, despite the title, this is not a "complete reference." Although The GIMP enjoys its own sub-chapter, the book makes no mention of certain high-profile features such as Vinum (FreeBSD's logical volume manager) or jails (chroot on steroids). It's obviously not possible to document every single component of the entire OS, but the name would seem to claim exactly that. Of course, even though FreeBSD: The Desktop Reference or FreeBSD: Reference For Users might be more appropriate, those would violate the series' naming convention. Still, don't be fooled by the title.
Although less important, every user has their own idiosyncratic ways of accomplishing certain tasks, and I tend to get distracted by recommendations that are counter to my preferred methods. Having said that, Mr. Smith makes some strange recommendations, such as editing the passwd file and compiling the password database afterward by hand rather than using vipw. His system certainly works, but I can imagine a new user scratching their head in puzzlement at the amount of work necessary to change their name.
Any book of this size and scope will have a few minor quirks, and this is no exception. For instance, the author needed to use several domain names as examples throughout the book. Rather than using the traditional "example.com," he decided to use his own creations. That in itself is no problem, except that he and his publishers have not registered those domains for their own use. I can only imagine the surprise when a curious newbie tries to access one of the hostnames in a web browser and finds that a prankster has register the domain and used it to mirror goatse.cx.
A more serious lapse, in my opinion, was the decision to include an installable copy of FreeBSD 5.0 on the CD that comes with the book. Unfortunately, freebsd.org refers to that version as a "new technology release," and it suffers from a rather long list of installation and stability problems. Some day in the future, the 5.x series will be considered stable and ready for use on production systems, but that's still a while off. I sincerely hope that no would-be new users become disillusioned with their newly-installed systems and give up on FreeBSD as a slow and unstable OS. Despite the drawbacks, though, I can understand the author's desire to focus on the new 5.x series instead of the more stable but older 4.x line. This book was published in 2003, and I doubt that he wanted to have to publish a second edition detailing the new release less than one year after initial release.
This is a good book with a lot of solid information for new and experienced users. It may have a few minor problems, but it is a well-written and approachable reference that should make a valuable addition to any FreeBSD administrator's bookshelf. I would recommend it highly to anyone migrating from other Unix-like systems, finding themselves in charge of a small network, or wanting to see what the fuss is all about. If you're a new user, though, do yourself a favor: download and install FreeBSD version 4.8 from http://www.freebsd.org/ instead of installing the copy on the book's CD.
You can purchase FreeBSD: the Complete Reference from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.