FreeBSD Week: Book Review of “FreeBSD Unleashed”

With more and more people migrating away from Microsoft’s platforms, it’s increasingly important for
alternative operating systems to be well documented in order to attract and maintain new users.
FreeBSD is already well documented; its
on-line handbook is an extremely well detailed guide to the
OS as a whole. But for the user new to FreeBSD, or even Unix as a whole, salvation may come in the form of
SAMS’ FreeBSD Unleashed by Michael Urban
and Brian Tiemann.

As a complete, free, stable, multi-user, application-rich operating system, there are many compelling
reasons to switch to FreeBSD. Urban and Tiemann’s book pick you up at step one, asking “Why use FreeBSD?”
They explore the basics of the OS: its strengths, its history, its design – even compare it to other OSes.
Sections cover installation, general use, administration of the system, networking, and the X-Windows system.

In the past, I’ve said, “it’s far from ready for
the average user, however, as it matures, it has great promise in becoming a serious player in the OS market
next to Linux.” While I still believe it true that FreeBSD is a stretch for the general user, Mr. Urban
might be inclined to disagree with me, and after reading his book, you might too. FreeBSD Unleashed
is so well detailed that it targets not only the curious, but the general computing population. The key to
this user-friendliness is the lack of assumption that the reader understands advanced concepts. As early as
the first chapters, there is significant description of the system structure, a two page explanation of swap
space, and an introduction to the X-Windows system. Introducing the GUI so early shows that Mr. Urban
expects his audience not only to run FreeBSD on their servers, but on their desktop as well.

Tasks covered in detail include configuring a web server, configuring an FTP server, the ports tree, Perl
programming, NFS, network printing, DHCP, DNS, NAT/gateway, CVSUpping your system, and firewall configuration
among many others. I have never professed to be a FreeBSD expert, but after reading FreeBSD Unleashed,
I’m almost convinced I could tackle some more advanced tasks. As a network administrator, many of the topics
covered in FreeBSD Unleashed are not new to me. But for many, this might be the first time they’ve
run across such terms as DNS, bash, BIND, Perl, or FTP. Unleashed combats this by introducing all topics and
giving some background to various protocols, processes, and languages. At first glance, FreeBSD Unleashed
has a single goal: Make FreeBSD accessible to all computer users.

What’s Good

FreeBSD has many potential uses. Larger companies might use it as a file server OS. ISPs might use it as a
web server. Smaller companies might use it as a complete server solution. Many might use it as a desktop
OS. Whereas an OS like Windows has compromised some functionality in favor of usability, FreeBSD has
maintained a rigid stance that performance and security come first. FreeBSD Unleashed seems to approach all tasks
from zero and build upward. Chapter 9, for example, is dedicated to the FreeBSD filesystem. It covers
mostly what you might expect: mounting and unmounting foreign filesystems, a list of supported filesystems,
the FreeBSD filesystem – FFS, even introduces you to journaling and SoftUpdates. The authors took it a step
further though, and walk you through a real world experience: adding more space to a dwindling /home
partition. There is not only instruction, but suggestion for how to run an efficient server.

Many *nix users are familiar in some form or fashion with programming. ‘FreeBSD Unleashed’ explores
Perl and shell programming, kernel configuration and optimization, and even some web server configuration
using .htaccess and .htpasswd files. There is just enough of this to reach the goal of configuring and
customizing a FreeBSD system.

Another section I found particularly informative and well written was called “System Configuration.” While
much of the content was fairly low level, this is exactly the kind of documentation that makes FreeBSD more
accessible to new users. A guide that seeks to cater to the elite should provide a roadmap for the
uninitiated. Someone with only the beginnings of knowledge of a FreeBSD system should be able to use the
book to manipulate and troubleshoot their own system. If that is a goal of this book, it is a rousing
success.

I was also pleased to see sections devoted to “Installing Additional Software” and “Advanced X-Windows
configuration.” In my opinion, FreeBSD is an emerging desktop OS. Yes, it’s been around for nearly 10
years and it’s BSD core for nearly 30, but it is now becoming truly usable and competitive on the desktop.
FreeBSD Unleashed acknowledges the different needs of desktop users as compared to that of server
administrators and do the movement justice and perform a great service. I have received many e-mails from those
insistent that a GUI is the death of functionality of an OS, but I stand firm; desktop acceptance comes
hand-in-hand with a graphical user interface. While Unleashed covers GUI topics, the majority of the book
attempts to teach you how to effectively use the command line to administer and configure your system. This
book is a nice in-between, the hope is that upon completion you are able to use your system practically.

The sections on networking and system configuration are also very well written and quite
necessary. FreeBSD’s strengths are well covered. There is a good chance that many readers will eventually
seek to replace some part of their network with FreeBSD – primarily the gateway or a web server. These
sections are thorough and excellently detailed.

Urban and Tiemann were smart: though the book is truly intended to cover version 4.x, there is a good
amount of discussion of the structure of the forthcoming FreeBSD 5.0, scheduled for release in November
2002. In fact, included with the book are two CDs, one with the install disc of version 4.4, the second
with a snapshot of version 5.0-CURRENT. Because of this the book will stay relevant longer.

I was so impressed with the book as a whole that this section is short.
What I can say is this: those looking for a quick read may find themselves in for disappointment. There is
quite a bit of information not directly related to FreeBSD. Admittedly, most of this will enrich your
FreeBSD experience, but Perl programming, for example, is not a prerequisite for effective BSD use. If you want to put FreeBSD on your servers, you won’t need to know about configuring X-Windows or possibly working with
applications. Those who want to use FreeBSD as a desktop OS only will find about half the book completely
unnecessary. Of course, it is a book, and that means you can always skip what you don’t want to read.

One other thing that I could complain about is that the book is truly aimed at those new to or inexperienced
with FreeBSD. If you are already a FreeBSD administrator, it is possible that most of what is covered in FreeBSD
Unleashed is already in your arsenal. Many purchasing this book won’t need an explanation of the DHCP or FTP protocols. They might want a book that discusses kernel optimization in more detail or possibly a more low-level, advanced troubleshooting guide.

As a first edition, there are some typos, some duplicate type, and a few other minor oversights, but they don’t detract from the book as a whole. It’s safe to say that my complaints with this book are far outweighed by the positives.

Conclusion

FreeBSD Unleashed is an excellent introduction to the FreeBSD operating system. In depth coverage
of server set-up, system configuration, and customization make for a complete experience. Some 34 chapters
discuss all aspects of FreeBSD, from the boot process to system shutdown, from the kernel to the applications, from the LAN to the Internet. One of the largest attractions to this book is how thorough the authors were in their explanation of each possible use of the system. I’m an impatient reader, but it was still refreshing to see these concepts explained before they were discussed. Like The BeOS Bible by Scot Hacker, this is intended to be not only a resource, but a complete guide to an operating system.

I still maintain that FreeBSD is really a version or two away from being directly competitive as a desktop
operating system. Sure, many people argue that point, some vehemently. What I can concede is that books
like FreeBSD Unleashed do a lot to successfully bring the system into the hands of curious experimenters, and
therefore do the open source community a great service. It also makes basic system
maintenance a breeze.

If you are already an experienced FreeBSD user –and I am not– I can’t promise you that this book will not
feel padded and elemental, if not overly basic. But for most, even experienced Linux, Solaris or IRIX users,
there is a lot of quality information that makes for more than just an introduction to FreeBSD. I’d suggest that most FreeBSD users will still learn a lot of it. Few computer books are good enough to be called essential, but if you are determined to learn to use FreeBSD, that just may be what ‘FreeBSD Unleashed‘ is.

About the Author
Adam Scheinberg is a Systems Administrator for the US Naval Sea Systems Command. He uses Windows XP, Red Hat Linux 7.2, and the BeOS at home, and Windows NT/2000 and Novell NetWare 5.1 at work. Adam can be reached on [email protected]


A Second Opinion – by Eugenia Loli-Queru

I also own a copy of the book, and I admit that it is an excellent introduction to FreeBSD and a valuable companion. It is a great choice if you are thinking of switching to FreeBSD from either Windows or Linux. The book even gives some points as to what is different between Linux and FreeBSD, so it can help you on a migration. I agree with Adam, I would have prefer the author to talk more extensively on how to configure NATd, Sound and clusters or other distributed utilities instead of spending a substanstial amount of pages on how to use Gnome or X. Still, the book is highly recommended and it is like a Bible of FreeBSD usage and administration.

Buy “FreeBSD Unleashed
at Amazon.com for less

9 Comments

  1. 2002-01-30 8:00 pm
  2. 2002-01-30 8:13 pm
  3. 2002-01-30 8:33 pm
  4. 2002-01-30 8:56 pm
  5. 2002-01-31 12:10 am
  6. 2002-01-31 12:24 am
  7. 2002-01-31 5:36 am
  8. 2002-01-31 8:11 am
  9. 2002-01-31 8:51 am