Here, to kick off our new Groklaw feature of book reviews, is Carla Schroder's review of "The Debian System, Concepts and Techniques," by Martin Krafft. No Starch published it (you can buy it as a book or as a PDF from them), and of course Amazon has it, and the author's page provides a link to a list of places around the world where the book is available.
Before anyone asks, I'll tell you that I don't get a penny for any review or if you buy a book, so don't do that on my account; there is no click through data, no ads, nothing, a policy I decided on long ago to protect my readers' privacy. The book reviews are just another feature Groklaw decided to provide because enough members asked for it.
If you'd like to review a book you think the group or any subgroup here might enjoy learning about, please let me know. Or just send in a review, including any bio you wish to have attached, if you do, and be sure to include the kind of availability information I have provided here, so I don't have to do the work. It can be a tech book, business, or legal. I don't promise to run them all, but I'll seriously consider them. I don't have to agree with your review to publish it.
Each review we publish will be marked, Book Review, so if the feature isn't your cup of tea, you can skip them. Members, of course, can just go to their Preferences to exclude any topic we regularly cover on Groklaw, including this new one, so they don't see them in the first place.
Book Review: The Debian System, Concepts and Techniques by Martin Krafft
Reviewed by Carla Schroder
The Debian GNU/Linux operating system is a marvelous piece of engineering, and Martin Krafft's new book "The Debian System, Concepts and Techniques" shows you how to get under the hood and take advantage of all the power it puts in your hands. This is the definitive Debian manual, and I wish it had been written years ago. Mr. Krafft's affection and enthusiasm for Debian is apparent, and makes this book a pleasurable read.
Debian's maintainers work primarily on packaging, and typically don't modify source packages a whole lot. This is a marked contrast to distributions like Fedora, Red Hat, and SUSE, which extensively modify practically everything they get their hands on, especially kernels. Each approach has its merits. A more "vanilla"-type distribution means you won't need specialized documentation, which is often lacking, and can make use of a program's native documentation and help resources.
What the Book Covers
At almost 600 pages, you'd think it could contain all the Linux knowledge in the world, but of course no single book can do that. It is not a system administration manual, so you won't learn about running servers and networks, though you will learn a lot that will help you do those things. It is an exploration of Debian's internals that goes far beyond learning a few basic apt-get commands:
- Advanced package management
- Fixing dependency problems
- Keeping your Debian system lean, mean, and tuned
- Building your own packages from sources
- Kernel customization the Debian way
- Understanding the very flexible Debian installer
- Advanced network interface configuration
- Explaining Debian policy in plain English
- Managing the boot process
- A gloriously thorough section on PPP and PPPoE, both of which have vexed me beyond endurance more than once
OK, that's enough bullet points for now, even though I could include a whole lot more. My favorite chapter, Chapter 7 "Security of the Debian System" include a nice howto on verifying package integrity with GPG keys and MD5. Most download repositories supply their own public keys and hashes, but do they tell you how to use them? Noooo, we're supposed to magically know. I would rather rely on good instructions than magic.
Another favorite chapter is Chapter 8 "Advanced Concepts." This goes into useful detail on building multiple custom kernels and ramdisks, building kernel modules, and managing a mixed-release system. The section on managing chroots is worth the price of the book all by itself. Mr. Krafft shows how to bootstrap an experimental installation into a chroot jail, how to run 32-bit applications on a 64-bit system, and how to do all this without needing root permissions to access the chroot.
The chapter also covers some advanced installation techniques, such as customized installations with pre-seed files and automatic network installations. It doesn't go into complete detail on these, but it includes useful information that you don't find in the pre-seed and FAI (Fully Automatic Installer) manuals.
My other favorite chapter- OK, they're all my favorites- is Chapter 10, which tells how to get help. It lists all manner of documentation, online forums, IRC channels, official Debian help resources, and mailing lists. There is an excellent section on bug reporting which I wish every Debian user would read. It describes the correct procedure, and how to write a good bug report. Good bug reports are an excellent way for non-coders to help improve software. Yes, it's time-consuming and finicky to do it right. Just keep in mind how much work went into delivering all that great free software into your hands in the first place when you feel a bit aggrieved over spending time on bug reports. Two things you want to avoid are duplicate bug reports, and reporting something as a bug when it's actually your own mistake.
There isn't anything about this book I don't like. Except I wish it had been published years ago.
Carla writes weekly Linux howtos for several
online publications, is the author of Linux Cookbook, published by O'Reilly, and is toiling on
its successor, the Linux Networking Cookbook. Carla thinks everyone should
dig under the hood of everything they own, learn what makes them go, and
morph them into odd and interesting new things.
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License.