|
Summary:
I really like this book a lot and I think that any administrator of any Unix-like OS with less than 20-25 years experience will get a lot out of it. At well over 600 pages it's fairly long, but I found it an easy and amusing read.
I do have a few nits to pick, but they are very minor compared to the overall value of this book.
Review:
As long-time Linux user and small environment administrator, I've been wanting to learn more about *BSD for a while now, but in stark contrast to Linux there are not that many current BSD books available. I'm really glad I chose this one. It is very well written, and incredibly detailed and comprehensive. I already knew a lot of the "how" and "why" for Unix-like OSs but I still learned quite a bit more about them, and that knowledge provides important context and perspective that is critical to understanding, securing and debugging these kinds of systems.
The book begins with the obligatory, yet still useful history of Unix, BSD and other flavors. Next up is a discussion of how to get help, followed by how to install FreeBSD, and then how it boots, along with a great discussion of serial consoles.
Chapter 4 is a discussion of backups, and brings up my first nit-pick. Much of this chapter details the use of magnetic tapes, and the dump/restore commands. Maybe it's just me, but does anyone actually use that stuff anymore? If we didn't all know by now (and we sure should have), RAID is not a "backup" solution (http://journalspace.com/this_is_the_way_the_world_ends/not_with_a_bang_but_a_whimper.html), but there are other methods than tape, tar, dump and restore. [1]
The other thing that bugged me about chapter 4 is the discussion of RCS and putting /etc/ into it. I like having /etc/ under revision control and RCS was ground-breaking in its time, but I see no reason why it should be covered to the exclusion of the modern and much better solutions like git, Bazaar, maybe Subversion or even CVS if absolutely necessary. Maybe there is some BSD reason that prohibits these other choices, but I think they should at least be mentioned.
Chapter 5 is an excellent discussion of the kernel, and the FreeBSD way of compiling and managing it. Chapter 6 covers networking, from the OSI model and TCP/IP up to how to optimize it (mostly, by not messing with it, since BSD is known for the best TCP/IP stack around). Then we move on to security (hardening), disks and filesystems, then more security features, notably jails (much nicer than chroot) and using mtree for basic file integrity checks. Great stuff. It would be nice to see Linux get "securelevels" and BSD to get some MAC (Mandatory Access Controls) like SELinux.
Chapter 10 explores /etc/ while 11 talks about installing software from packages or ports. Chapter 12 covers more advanced software issues, including Linux mode (the ability to run unmodified Linux binaries), and then we get into how to do system upgrades in chapter 13. DNS and bind get all of chapter 14, while SSH, NTP, inetd, DHCP, cron and other system services are covered in chapter 15.
Next we get to email, which is mostly about sendmail, which is my next nit pick. I differ with the author here, and would argue that since Postfix (or qmail or exim) exists there is no good reason to ever have to deal with sendmail. Having said that, if you are forced to deal with it, this is a great chapter, which also briefly covers IMAP and POP3. Apache, FTP, TFTP, sftp and scp comprise chapter 17, while chapter 18 is a spectacular discussion of GEOM (think LVM+).
Chatper 19 covers system performance and monitoring and is a great read for any sysadmin. The only problem with it is that if you aren't running on FreeBSD, after reading it, you'll want the same tools on your OS and they might not be there.
I found chapter 20 interesting in that it covers the unsupported "fringe" of FreeBSD, yet much of the contents are both supported and trivial with Linux: embedded systems, LiveCDs and running from USB sticks. Finally, Chapter 21 is all about kernel panics. My final nitpick is the word missing from the book's title. "Absolute FreeBSD, 2nd Edition: The Complete Guide to FreeBSD" is missing the work "Server" at the end. Nowhere on the cover or in the PR materials does it state that this book only covers FreeBSD in a server role, yet the author makes the clear numerous times in the book itself. I don't mind since that's what I was looking for anyway, but it would be nice to be clear about it.
As I said, I'm a fan of Linux, but I also realize that "Linux" is not an operating system, it's a kernel with some file systems and drivers, plus a ton of GNU and other userland tools. FreeBSD is a complete operating system, and it has more than 20 years head start on Linux, depending on when you start counting. The cohesiveness of a single group controlling a fully integrated operating system and that heritage and maturity are significant.
Yet, partly due to AT&T and the Unix wars of the 80s, Linux seems to have more momentum, buzz, mind-share, call it what you will. If you want proof, go to any book store and count the Linux books, then count all the other Unix-like OS books combined. That's a shame, because FreeBSD really has a lot to offer, and so I hope that anyone who is interested in any Unix-like OS, especially administrators, reads this book and gives it a shot. I think it's worth the time. http://nostarch.com/abs_bsd2.htm Absolute FreeBSD, 2nd Edition The Complete Guide to FreeBSD by Michael W. Lucas November 2007, 744 pp. ISBN-10 1-59327-151-4 ISBN-13 978-1-59327-151-0 __________________ [1] Backup & Recovery: http://oreilly.com/catalog/9780596102463/ |