Review: The Linux Cookbook
Allez Cuisine!
The Linux Cookbook is a collection of "recipes" for doing various tasks with your Linux machine. Where the Cookbook shines, though is the sheer number and variety of these recipes. There are plenty of varied tasks covered in the book, from the simple 'How do I copy a file?' to the more complex 'How do I archive a web site?', Six chapters deal with the various aspects of text: analyzing, searching and replacing, grammar checking, and formatting. There are even chapters dealing with the less-explored topics of customizing X, setting up reminders, and editing sound files.
Recipe Format:
The recipe format is both the book's strongest feature and its weakest point. The recipes make for a well-organized and logical structure to find information. Each point and sub-point is clearly marked, and makes for a very quick and enjoyable read. Unfortunately, topics that could benefit from a different approach are just not covered thoroughly. In the section for listing files, ls is well covered, while Midnight Commander is briefly introduced. This wouldn't bother me as much, except Midnight Commander and Mozilla URLs are given at the beginning of the section. This presentation could also lead people to think the material presented is the only way, or the best way to do these commands. There is only one method mentioned for shutting down a Linux machine; the venerable CTRL-ALT-DEL. No mention is made in the book of the shutdown command. Granted, CTRL-ALT-DEL will get the job done, but I'm not sure I would have presented it as the best, or only way to shut down a Linux machine. [T - Especially when on many distros, CTRL-ALT-DELETE is configured to restart rather than shut down the machine; this behavior, though, is configurable through /etc/inittab.]
Season to taste:
As I've mentioned in the previous section, some of the commands the author chose as his answers are quite curious to me. In the section to find hostnames from IP addresses, the author has chosen to use the command "dig" rather than the command I generally use "nslookup". Granted, "dig" gives other useful information aside from the IP and hostname, but the author doesn't seem to care about the additional information when presenting the output of the command.
This book also concentrates on using GNU and Open Source software for it's solutions. There is no mention of software that is not strictly Open Source. The only package information is for the Debian distribution by providing the apt name for retrieving the package. No other distribution is mentioned as having packages available. The author's reasoning is that Debian is the only "entirely committed to free software by design" distribution. URL's are provided only for packages that are not distributed by default with Debian, which might prove to be a nuisance for people using other distributions. I found myself trying some recipes, only to find my distribution didn't include that command by default.
Linux is a command-line operating system by default, and this book tries to work within those defaults by providing command-line methods rather than GUI methods. This gets around some of the various intricacies of the various distributions, but might prove confusing for the person who boots up the first time and can't find virtual console one because GDM is running. When appropriate, the book will defer to a GUI tool rather than a command-line tool. The GIMP is briefly discussed for several of the recipes, and GUI programs make up less than 10% of the answers to the recipe questions.
So, what's in it for me?:
It's tough for me to fully recommend this book to everyone. For the beginner, I recommend caution when starting off with this book. They may want to make this book their second book along with an installation and getting started tutorial. Beginners will find this book invaluable once they have a firm grasp on their distribution before being able to fully handle this book. For the seasoned Linux user, I recommend reading this book while putting your suppositions aside. There is plenty of good information to be had in these pages, and the author has tried painstakingly to make the answers in it as relevant to every Linux user as he can. The Linux Cookbook is a useful collection for those who don't mind getting comfortable with their shell prompt and a search engine.
There is also an electronic version of this book available at http://dsl.org/cookbook which is a living version of the printed book; for the sake of this review, only the printed book was reviewed.
You can purchase The Linux Cookbook from Fatbrain.
Curiously if you install Debian testing/woody (the base has frozen) and try to run nslookup you will be told it is obsolete and that you should use dig. I like nslookup and understand it far better than dig so I do like they say and use the -sil option to get rid of the extra crud it spews to tell me this, but I guess there must be a reason for this so I'll have to learn how to dig properly, anyone know it?
Never underestimate the dark side of the Source
I think this might be the reason that nlslookup is not mentioned:
[tj@pheonix tj]$ nslookup
Note: nslookup is deprecated and may be removed from future releases.
Consider using the `dig' or `host' programs instead. Run nslookup with
the `-sil[ent]' option to prevent this message from appearing.
> exit
dig is much better, IMHO, once you get used to it.
Spent the last few minutes browsing the online version, and I must say I'm quite impressed. Real usable docs for the average user, but they still tell the nuts and bolts too. Bravo!
(User runs off to order)
TODO: Something witty here...
What linux user is going to buy a book when there is a free version available online? Probably the same amount of people who actually buy boxed versions of linux.
And we just have to look at how the distro companies are doing to know the answer to that question.
The Slashdot Effect: A new for
Numerical Recipies - Numerical Recipes in C, 2nd edition is the numerical methods book.
Autobook - GNU Autoconf, Automake and Libtool.
GGAD - GTK+/Gnome Application Development by Havoc Pennington. I'm not sure which is better, the book or the authors name!
WGA - Writing GNOME Applications by John R. Sheets. Not complete, which is a pity. I'm sure that will change though.
Docbook - The definitive guide to SGML.
CVS book - Open Source Development with CVS by Karl Fogel. It is not quite the complete book, but it is the interesting bits.
FreeBSD Handbook - FreeBSD documentation.
Maximum RPM - Documentation for the RedHat package manager.
Based on that list, can anybody suggest further online books that I may be interested in? (Don't bother telling me about the old O'Reilly books, I know about those)
Not linux specific (thankfully!), and pretty CLI-oriented, the Unix Power Tools book is something I found really good for learning the neat wrinkles in things like the shell, sed and awk. It's organised as lots of half-page articles which are densely cross-referenced, a little like the Effective C++ series by Scott Meyers or Effective Perl by Joeseph Hall. Published by O'Reilly - it's not an animal book though - it's much bigger. Good for dipping.
"don't fall into the fallacy of believing that Perl can solve social problems. Maybe Perl 6 can, but that's a ways off"
I own about a dozen Linux books now, but this is the best one for actually doing the basic things you need to do to get familiar with using Unix/Linux. I found the formulas for tarring and zipping and untarring and unzipping to be very nice. Just what I needed to know, nothing more, nothing less.
I highly recommend this book to people who have been dual-booting Linux for awhile but are still having a hard time installing software and configuring the environment - stuff too simple for the guys who know what they are doing to even talk about.
I think InformIT still do free online books -- they purchased Macmillan Press' old stuff and used to have many titles online.
========================================
Death will come, and will have your eyes
-- Pavese
PS:The "Programming Perl" was my previous favourite reference book, but the online "perldoc" documentation replaces that now.
A regular Linux Journal columnist, Marcel Gagné writes about system administration using a French Chef theme. He has written a book: Linux System Administration: A User's Guide. Look for it at Barnes and Noble
I think...I think it's in my basement. Let me go upstairs and check. -M.C. Escher (1898-1972)
I can't really agree with that.
Employee of Inrupt, Project Release Manager and Community Manager for Solid
For those who don't know about it: O'Reilly keeps a web page of free, open, and/or out-of-print books available online for your edification at http://www.reilly.com/openbook.
"Can't you see that everyone is buying station wagons?"
99% of the time, I find that dig is overkill (and ugly), and instead I use the "host" program (also included with the bind-utils).
You must have downloaded the sources. There are a couple HTML versions on the web or try "apt-get linuxcookbook" (for info version on Debian).
Then again, just buy a copy of the book...