Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Books Operating Systems Media BSD Book Reviews

FreeBSD: The Complete Reference 153

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.
FreeBSD: The Complete Reference
author Roderick W. Smith
pages 869
publisher The McGraw-Hill Companies
rating 9 out of 10
reviewer Kirk Strauser (Just Some Guy)
ISBN 0072224096
summary (Most) everything you need to know about FreeBSD

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:

  1. FreeBSD Installation: Hardware requirements, installation instructions, and a general overview.

  2. Basic System Administration: Partitioning, startup procedure, file management, printer setup, user management, software installation, kernel configuration, and X.

  3. Network Configuration: Introduction to networking, dial-ups, client/server principles, basic firewalling.

  4. Servers: In-depth explanation of file, mail, web, and shell servers, plus an overview of DNS, NTP, DHCP, and other random services.

  5. 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.

  6. 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.

This discussion has been archived. No new comments can be posted.

FreeBSD: The Complete Reference

Comments Filter:
  • I never said I wasn't going to collect, just that it wasn't the reason I wrote the review. Think of it as seeing a Free Software project page with a PayPal tip jar. The author probably isn't really expecting to make money, but they won't turn it away.
  • Bullschildt (Score:5, Informative)

    by AltControlsDelete ( 642641 ) on Tuesday May 13, 2003 @12:53PM (#5946109)
    I question the credibility of any reviewer who refers to something written by Herb Schildt as his favorite C++ text. Good grief.

    From the alt.comp.lang.learn.c-c++ faq [faqs.org]:
    16: Why do many experts not think very highly of Herbert Schildt's
    books?

    A good answer to this question could fill a book by itself. While no book is perfect, Schildt's books, in the opinion of many gurus, seem to positively aim to mislead learners and encourage bad habits. Schildt's beautifully clear writing style only makes things worse by causing many "satisfied" learners to recommend his books to other learners.

    Do take a look at the following scathing articles before deciding to buy a Schildt text.

    http://www.lysator.liu.se/c/schildt.html
    http://herd.plethora.net/~seebs/c/c_tcr.html

    T he above reviews are admittedly based on two of Schildt's older books. However, the language they describe has not changed in the intervening period, and several books written at around the same time remain highly regarded.

    The following humorous post also illustrates the general feeling towards Schildt and his books.

    http://www.qnx.com/~glen/deadbeef/2764.html

    Th ere is exactly one and ONLY one C book bearing Schildt's name on its cover that is at all recommended by many C experts - see Q 25.
  • Compleat vs complete (Score:2, Informative)

    by stardeep ( 66237 ) on Tuesday May 13, 2003 @12:56PM (#5946143) Homepage
    > 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 [adelaide.edu.au].

    I guess you learn something every day, huh?
  • Re:Bullschildt (Score:2, Informative)

    by Just Some Guy ( 3352 ) <kirk+slashdot@strauser.com> on Tuesday May 13, 2003 @12:58PM (#5946159) Homepage Journal
    Schildt's beautifully clear writing style only makes things worse by causing many "satisfied" learners to recommend his books to other learners.

    Well, that's certainly a contrasting opinion. I happened to like the C++ book (which isn't mentioned in the links you gave). Note that the link to www.qnx.com is dead; if it had a criticism at one time, it's been removed.

  • by Just Some Guy ( 3352 ) <kirk+slashdot@strauser.com> on Tuesday May 13, 2003 @01:22PM (#5946442) Homepage Journal
    can anyone tell me how well it applies to Mac OS X?

    Almost not at all. Large sections involve installation and low-level configuration, which is irrelevant for Mac OS X. Ditto for the ports collection, administering the system, upgrading software, or installing multimedia programs. I don't think there's really anything in their for Mac users, other than maybe the section on configuring servers, and Apple probably has their own tools for that.

  • You're looking for Greg Lehey's The Complete FreeBSD [bfast.com], I think. The latest version came out this month.
  • Re:Bullschildt (Score:2, Informative)

    by ptr2void ( 590259 ) on Tuesday May 13, 2003 @01:50PM (#5946776)
    Visit ACCU's book corner [accu.org] for some opinions about Schildt and his well-liked books. Well, a lot of people like the Bible or Star Wars... wether it helps them a lot in practice is another question.
  • Cheaper (Score:2, Informative)

    by SophtwareSlump ( 595371 ) <jamie.freakscene@net> on Tuesday May 13, 2003 @03:01PM (#5947659)
    Bookpool.com [bookpool.com] has this book for $30.95. (Hint: search for 'FreeBSD'). It's $49.99 at bn.com. Do the math.
  • by sremick ( 91371 ) on Tuesday May 13, 2003 @04:10PM (#5948416)
    I am going to be lazy and copy&paste a similar response I posted to USENET recently...

    I've been a FreeBSD user since my first exploration into non-MS OSes many years ago, so my Linux knowledge is second-hand (and may not be 100% accurate or up-to-date) but here are tidbits I think I know:

    - The licenses are fundamentally different. This doesn't matter so much to me but may to you. I'll therefore skip that, but understand that BSD vs. GPL is somewhat of a Holy War.

    - Linux seems to me to be more disorganized. With FreeBSD, you have one true OS. With Linux, there's the true Linux kernel, but that's useless by itself. Instead, it depends on other groups to put together distributions around a kernel (Red Hat, SuSE, etc) adding on userland programs and maybe even patching the kernel a bit for their own needs. With FreeBSD, if you're running FreeBSD 4.8 then you're running the same OS as everyone else with "4.8". With Linux, you're not running Linux version whatever, you're running Red Hat ver whatever, which is based upon a particular version of the kernel, which is different than some other distribution even if it's based upon the same kernel version. An analogy is with cars: With Linux, there's a Linux "engine" but many different companies build cars around that engine. With FreeBSD, they make the engine AND the car.

    - [opinion] Linux users seem to be more "fanatical", while the FreeBSD camp seems more level-headed [/opinion]

    - FreeBSD is renown for it's stability. Linux is a bit funkier... it seems to go for flash and glitz more than rock-solid stability. This is not to say that Linux can't be made stable, or that FreeBSD can never crash. But they approach things from a different angle. A Linux distribution for example tends to initially install X and a ton of programs you may or may not use. The benefit is that you might get to a GUI immediately with less work, but you also might have 100 daemons running you really don't need. FreeBSD on the other hand might take more work to get to initial GUI but once you're there you probably only installed what you really wanted to, and nothing/little else.

    An enlightening point is found at Netcraft's list of the servers with the longest uptime... check what OSes they run:

    http://uptime.netcraft.com/up/today/top.avg.html

    - Yahoo runs on FreeBSD. Hotmail did too, before Microsoft took it over. The largest/busiest FTP site on the 'net runs on FreeBSD (www.cdrom.com).

    - The FreeBSD ports system is awesome. As far as I know, most Linux distributions don't have anything like it. I think one has something that is close but is based upon precompiled binaries. FreeBSD's ports you compile yourself, which takes longer but has benefits that I like. I think the various Linuxes are trying to "catch up" to FreeBSD in this regard but I could be wrong about the current state of affairs. Keeping apps (and the OS itself) up-to-date with tools like CVSup and portupgrade is sickeningly easy.

    - I find upgrading FreeBSD to be incredibly simple. I have heard it surpasses most Linuxes but I could be wrong. But basically with 4 commands you're done (aside from mergemaster, which could use improvement, but really isn't so bad for most simple people like me once you "get it").

    - Linux gets more press, but I consider FreeBSD "the best OS you've never heard of". I'm a firm believer in having your vote be counted even if it's the underdog. I'm putting my support behind FreeBSD because I like it better than Linux, even though I'm in the minority. Using Linux "because everyone else does" is the same mistake that turned Windows into a painful monopoly.

    - There are technical details with threads and scheduling that differ between the two but I don't understand them enough to say anything more on the subject.

    - Don't let people scare you into thinking FreeBSD can't be used on the desktop and is only good for servers. I use it as my desktop at home.

    Well that's all I can think of for now. Hopefully I don't start a flame war... I am not anti-Linux (although I'm anti MS).
  • Well...

    One comparison can be found in the essay BSD: Linux With a Twist [sites.inka.de]. The FreeBSD Manual [freebsd.org] also has a section on the differences primarily focused on the development model.

    But just as a summary

    Support

    Linux has more users, more books, more groups, more mailing lists and more newsgroups. Whether this is good or bad depends on your point of view. I find comp.unix.freebsd.misc to have generally very good advice.

    What you get

    Most Linux distros seem to be headed towards a "complete desktop in a box" approach. In contrast, BSD just gives you a bare-bones distribution with most other applications available as packages or ports. Under BSD the kernel and core programs are treated as a coherent unit.

    Flavors

    Linux seems to spawn off a new distribution about once a month. There just seems to be three main BSDs that focus on different things. (FreeBSD, OpenBSD, NetBSD.)

    Java

    The BSDs lag behind Linux in Java support a bit. I don't have any problems with Java 1.3 but I'm told Java 1.4 is not production quality yet.

    License

    The BSD license permits incorporation into proprietary systems. Depending on your needs and politics this is either a good thing or a bad thing.

    Hardware

    Linux has support for more peripherals. NetBSD has support for more CPUs.

    Learning Curve

    Hrm. BSD pretty much forces you to master command-line unix. The text-based install assumes a pretty good understanding of basic concepts, and while the Handbook is excellent, it also assumes a bit of knowledge.

"Look! There! Evil!.. pure and simple, total evil from the Eighth Dimension!" -- Buckaroo Banzai

Working...