FreeBSD: The Complete Reference
Overview
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.
The Good
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.
The Bad
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.
The Ugly
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.
Summary
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.
Why do I need a kernel? The new grub bootloader is actaully a operating system in it's own right!
Was the last line in the book:
"*BSD is dying."
It just seemed so out of place.
If the book is half-decent, it will show users how to make buildworld; make buildkernel; make installkernel; make installworld - with whatever the latest codebase might be.
:)
Therefore, the argument that the 5.0 CD will be out of date is moot - at least for people who have internet connections.
What is the GIMP doing in a BSD Reference book?!? Seems like fluff to me. Especially when you can download a pretty comprehensive GIMP manual online.
But then I thought "Hey, the book was free, what the hell do I care?"
-- Thou hast strayed far from the path of the Avatar.
I didn't write the review to make money, but it still seems kind of sneaky to replace my referral with Slashdot's own.
Dewey, what part of this looks like authorities should be involved?
The first thing I noticed comming to FreeBSD from Linux was the high quality and large quantity of official documentation provided. While I did buy a book when I started off with Linux, I really didn't need to for FreeBSD. This may be because I was already familiar with *NIX by that point (although FreeBSD 'feels' a lot tidier in terms of layout - 100% subjective, your milage may vary). On the other hand there was a large amount of documentation aimed at neophytes which I skipped.
I am TheRaven on Soylent News
From the alt.comp.lang.learn.c-c++ faq:
> more like from the compleat-misspellings dept. ;)
Actually, "compleat" for "complete" in the titles of guidebooks is an ancient and revered practice, going back to this book.
I guess you learn something every day, huh?
Sentimentality is merely the Bank Holiday of cynicism.
- Oscar Wilde
Forgive me if this is a dumb*ss question, but can anyone tell me how well it applies to Mac OS X?
Thankyou.
naah sig schmig
I've seen a lot of cool stuff to do with FreeBSD (like tweaking the kernel) that was only documented directly into the system (like in the source or man pages) and in some newsgroups.
My point is, I would be happy if someday, a real "complete reference" book on FreeBSD is created, will all the tweaks and tricks (aka not only a beginner oriented book). No more search in the news and printed-two-years-ago-obscure-documentation for me.
This is the kind of book I'm looking forward to.
- LastCall_
"...the book makes no mention of certain high-profile features such as Vinum (FreeBSD's logical volume manager)..."
Why should it make mention of something that is being phased out of FreeBSD? Anyone who has followed the developers' thread knows that the code for vinum is unmanageable and horribly inefficient, and is being replaced. Why should the book's author teach you about something you should not use and that will be deprecated? Why didn't the reviewer research his comments a bit more before being critical of a positive feature of the book?
The number of hardcopy paper-and-ink books on a bookstore's shelves directly correlates to the operating system's "slashdot" rating. Linux used to have only a couple of books in the bookshelves, and only geeks used it. Then there were hundreds, including a whole series of "For Dummies..." books different only the title of the distribution on the cover. It was only then that Slashdot began posting front page articles on every minor release of the development kernel.
If we want every minor -STABLE update to have a major mispelled referrer-altered main page announcement on Slashdot, then we need more than the dozen FreeBSD books that are out there. CndrTaco and Hemoo will never recognize FreeBSD as an operating system until it has its own category in the Dewey Decimal System.
A Government Is a Body of People, Usually Notably Ungoverned
First off: This Is Not A Troll!
Never having used any *BSD and only having a passing knowledge of Linux in its various flavors, where might one learn about the differences (dare I say Pros & Cons?) of FreeBSD and a Linux distribution? Maybe this is an Ask Slashdot question (I couldn't find a previous one, and a quick Google turned up only performance comparisons, not feature comparisons)
Someday everyone will have fast connections. That isn't today.
Infuriate left and right
The first thing I want to know when anybody talks about BSD is this: why precisely should I learn yet another OS? What do I get that I don't already get from Linux or Windows or QNX or Inferno or... I'm not suggesting that nobody needs to know BSD. But any review of a BSD book -- and the ensuing discussion -- should touch on the question of who should be interested in the topic.
Enough about Herb Schildt.
The review is painfully padded. All JSG seems to have to say is, "Looked for factual errors, couldn't find any. Liked the book, even though I disagreed with some of the advice." Throwing in a lengthy outline and a lot of useless trivia (imaginary domain names, forsooth!) to bring it up to a proper length is just lame.
Linking to Barnes & Noble's web site hurts your credibility. I assume people do it because they give better referral rates than Amazon, and/or you're pissed about Jeff's patent hunger. Well, forget it -- I don't want to deal with B&N's cruddy web site, abysmal customer service, and absurd inventory problems.
Bookpool.com has this book for $30.95. (Hint: search for 'FreeBSD'). It's $49.99 at bn.com. Do the math.
Great! I'll be right over to break down the door and take them. Thanks!