Sunday, February 1, 2009
Review: A Practical Guide to Ubuntu Linux (Versions 8.10 and 8.04) 2nd Ed
Author: Mark G Sobell Format: Paperback, 1272 pages Publisher: Prentice Hall PTR; 2nd edition (January 9, 2009) ISBN-10: 0137003889 ISBN-13: 978-0137003884 I upgraded my Ubuntu VM to 8.10 just for this review (well, not "just" for this review, but mostly). Of course, Sobell's second edition of this "I-weigh-a-ton" tome covers both 8.04 and 8.10, but I run 8.04 on my production machine, so I figure I've got the book covered. Judging by the size of the book though, I'd have to assume that Sobell has it covered as well. But does he? Unlike Godzilla, size doesn't always matter. Let's have a look. A casual viewing of the book's back cover tells the reader that they can expect to find out just about everything there is to know about anything they can do with Ubuntu. While most folks think of Ubuntu as the most "desktop user" friendly version of Linux, and the most likely contender to chip away at Microsoft Windows' death grip on the home desktop market, there's a lot more to consider. At least according to the blurb I read, the server aspects of Ubuntu are well covered here. The list includes Apache, DNS, LDAP, NIS, and Samba, and that's just for starters. This isn't a "switch from Windows to Ubuntu Linux" text written for the average home PC user. It's, at least in theory, an "all-in-one" guide for everything you ever wanted to know about Ubuntu (but were afraid to ask). The first edition of this book was well received, at least as far as the general body of reviews is concerned. To ask "what's new?" in the second edition is answered on the front cover, since the most current releases of Ubuntu are 8.04 (Hardy Heron) and 8.10 (Intrepid Ibex). Assume then, that the only changes you'll find in this book have to do with what changed in the most recent versions of Ubuntu. The intro to the book does present an "overlap" section, but it wasn't what I expected. The material didn't cover the "overlap" between the first and second editions of this book, but between this book and another of Sobell's books, A Practical Guide to Linux Commands, Editors, and Shell Programming. Guess there's no crime in leveraging material from one Linux book to another. Is anyone out there going to read a book like this cover-to-cover? Maybe a few fanatical souls, but most people are doing to pick out just the chapters that apply to their situation. The book is written for just about everybody, from students and home users to programmers and system admins. The book is roomy enough to where it doesn't have to skimp on any of the details for the various audiences it serves. Each major part of the book could function as a publication all its own. Given that the live CD/installation DVD for 8.10 is included in the book, Sobell apparently wrote it with the "fresh install" population in mind. So much for my efforts at upgrading my 8.04 VM to 8.10 (not that it was really difficult to do). I was happy to see that the book did contain a couple of pages about upgrading from one version to another. I don't recall the first edition giving the topic that much attention. The most important piece of information that Sobell included was that certain features in the upgrade version may not be visible, as they would be on a fresh install (and I can attest to the truth of this). Since the book is written for everyone, Sobell included the very basics of installing Ubuntu, though the task of a basic install isn't particularly daunting with Ubuntu. Part II, "Getting Started with Ubuntu Linux" reads like a general primer on how to use Linux, with an emphasis on Ubuntu and the Gnome desktop (although there are instructions for installing KDE). After all, working in the bash shell and navigating the filesystem are pretty much the same across most Linux distros. Part III, "Digging into Ubuntu Linux" bores down into the X Windows System and presents more details about bash, as well as presenting an introduction to basic networking, while Part IV, "System Administration" introduces, well...system administration and Ubuntu (or Linux for the most part). Directories and the filesystem are covered again, but this time with a "management" emphasis, as well as working with the apt system and of course, CUPS printing. Part V, "Using Clients and Setting up Servers" presents Ubuntu as a server (which is a different installation path than the desktop install). This is where you'll find chapters on setting up FTP, Mail, LDAP, and DNS servers, among others. Programmers are served in Part VI, "Programming Tools", but only shell scripting and an introductory Perl programming guide are offered. Kind of a disappointment for those of us who prefer Python, but I guess you can't have everything. On the other hand, if you want to learn how to program, buy a programming book. If you find the idea of using Regular Expressions intimidating, Appendix A might offer you some comfort. Then again, it might not. While it describes what regular expressions are, I wouldn't depend on the scant ten pages here to teach you how to use them. The other four appendixes offer useful tips on how to get help in and out of Ubuntu, a brief security lesson, what FOSS is, and the 2.6 Linux kernel. I like the "Jumpstart" feature in the book, which provides the reader with an "in-a-nutshell" description on configuring various server roles, for those who just want to know "how do I do it". Each chapter is designed to teach the reader and an Exercises and Advanced Exercises list is presented to test the audience's knowledge. I would have preferred exercise questions that would have required the reader to do more "hands on" learning instead of just having to describe a process. You learn how to do something by doing it, not by talking about it. I guess in a book that's over 1200 pages long, you still can't have your cake and eat it, too. You can learn a lot from Sobell's book but you can't learn everything. To be fair, a book that could teach you everything about all of the topics this one contains, would require a forklift or Superman to lift off the floor. Some topics, such as the aforementioned Regular Expressions, are introduced in the most superficial of fashions. So are the various text editors available (vi, emacs, and so forth). Don't expect to really learn Perl programming in "Chapter 28: Perl". It'll take you more than 40 some odd pages to teach you anything practical about programming in general, let alone Perl. There's always a special challenge involved in writing a book that casts so wide a net, both in terms of audience and as far as the content it contains. Using the Perl chapter as an example, while the information is certainly valuable, there is just enough of it present to barely get you started. It could easily have been left out of the book, with no damage to those people who need to learn about Ubuntu and all its characteristics and roles. On the other hand, such a chapter could be used to guide the interested reader to other Prentice Hall books on the topic. This chapter doesn't do that, though there are a few URLs presented at the beginning of the chapter. I guess the publisher forgot that they also have Perl by Example, 4th Edition available, and the Ubuntu book's "Perl" chapter could have been used to link the reader to this more informative tome. Despite the "I-can't-cover-everything-no-matter-how-big-I am" issues with this book, it is still a worthy read for the person who wants to know about the roles Ubuntu serves and then a little more. As with the first edition, it serves as more than an Ubuntu book. It also introduces Linux and a bit on FOSS in general, as well and info on networking, Linux printing, Linux filesystems, and so on. The Sobell book will either be all that you need as far as Ubuntu is concerned, or it will inspire you to learn more about the topics of interest it just touches on. If you want to know more about the latter though, you'll just have to figure out where to look.