When I first started working with Linux just a short 10 years or so ago, it was a little more difficult than now to get going. I remember the difficulty I had, wrestling with my first Slackware install and getting all the floppies together to get the packages that I needed. Today, a person who has never set on eyes on Linux before can have it installed on it’s own system or alongside another OS in almost no time with a very nice graphical installer walking them through the process. I also remember the hours I spent looking for the little piece of knowledge that I needed to conquer my next problem. Now, someone new to the community has a vast array of resources available on the web, or if they are inclined to begin with Ubuntu, they can literally find almost every single thing they will need in the single volume of Mark Sobell’s “A Practical Guide to Ubuntu Linux.”
I’m sure this sounds a bit like hyperbole. Every thing a person would need to know? Obviously not everything but this book, weighing in at just under 1200 pages covers so much, so thoroughly that there wont be much left out. From install to admin, networking, security, shell scripting, package management and a host of other topics, it is all there. GUI and command line tools are covered. There is not really any wasted space or fluff, just a huge amount of information. There are screen shots when appropriate but they do not take up an inordinate amount of space. This book is information dense.
A lot of that information is very basic. The experienced Linux user or sysadmin is going to find that there is a huge amount of material here that is very foundational. There are advanced topics covered but they are spread out through all the basic material that leads up to them. I think the battle hardened Linux user with a solid understanding of how and why things work would probably be better off with something that doesn’t spend as much time building from the bottom up. But for the others, those new to Linux or those who’ve been using it but have always felt like they were winging it or just holding on, this book could be a ticket to a much higher level of proficiency and a much deeper understanding.
This is an Ubuntu book. It’s in the title and so it will not teach everything about Linux, yet at the same time it is so deep that it will cover topics that are common across all distros. The chapter on Bash and shell scripting are solid and would help any Linux user whatever flavor they prefer. On the other hand, KDE gets covered but to a much lesser extent than Gnome. The book can’t be faulted for this, it is an example of getting what the title says is there. But I would say that by and large the widely applicable outweighs the specific by a great margin. The ls command is ls on any distro. Learning how to work with sudo is valuable even outside of Linux and on Unix systems.
The style is very straightforward. Sobell is not trying to entertain with wacky humor or stories. No religious zealotry here by and large. It is just straightforward explanations of commands, tools and examples of how they are used. And the reader is given a nice set of tools to help them find what they want. The index is 72 pages long. There are 2 tables of contents. The first is the “Brief Contents” and the second takes 23 pages to break down every chapter and section. The book also comes with 45 days of free access to the book electronically through Safari. (I didn’t know there are non-O’Reilly books on Safari, but apparently there are.) I’m guessing that these reference tools will be important as most people will not read this monster from cover to cover, but rather read sections as they are needed, or use the book as a reference when they are stuck.
As I mentioned, everything is explained from the most basic level for gui and command line interfaces. This is what I think would be frustrating for more experienced users. But it is what makes this such a strong title for anyone else. The only other exception might be the new Linux user who is not interested in digging beyond the surface. The person who has possibly moved away from windows but wants something that just works. They would have no need either for the in depth explanations of administration, setting up servers, networking, etc. I think that this book really hits the sweet spot for the reader who would like to move from novice to expert. If they master all the material in the book they will have a very solid grasp of what Linux is about and how it works. Then when they do work with it, they will be able to learn from their successes and failures and gain the experience that will take them to the next level. As opposed to just flailing in the dark, getting things to go their way on occasion, but never knowing exactly why or how things did or did not work.
In fact the book is written primarily as a text book and even includes exercises at the end of each chapter. Often there are regular and advanced exercises. Answers to the even numbered exercises are available at sobell.com. It would be nice if all the exercises had answers available. I hate to think that some person may think they have answered a problem correctly when in fact they have not.
The book comes with a dvd containing everything needed for a full install of Ubuntu 7.10 (Gutsy Gibbon). I guess this might make the title more appealing to the bandwidth challenged, though the ease of getting a free cd or being able to purchase a dvd through Amazon for less than $15 makes this less enticing. If it were used as a textbook in a classroom setting, this would make sense though as every student would be assured of having everything they need in a single package. The text itself focuses on this version of Ubuntu. With 8.04 out now in Beta and coming soon in its final form, the rapid development of Ubuntu does serve to highlight the difference in relative speed as compared to the publishing industry. Fortunately for the book, it’s emphasis on foundational concepts, commands and tools means that it wont be completely useless when the next version rolls out. This is good news also for anyone who invests in a copy of the text.
The server section is a bit short I thought, focusing on mail, nis, nfs, samba, dns, iptables and apache. I guess I’m biased, being a dba, but I do think throwing in something on MySQL and/or PostgreSQL would have been nice. I know the book is already huge but a few more pages wouldn’t have meant too much. Or maybe they could have been swapped out for the appendix defining free software. There are 5 appendixes covering Regular Expressions, Help, Security, the definition of free software and working with the 2.6 kernel. There is also a very nice glossary.
If I ever had to teach a class on linux, get someone up to speed on using linux who had little or no experience, or just wanted a reference with broad and thorough coverage, I wouldn’t hesitate to use this book. The information is current, accurate and understandable. Commands are introduced and revisited later as they fit in with topics. The excellent index keeps this from being a usability issue. Rather than being frustrating it fits in nicely with the overall learning curve of the text. There is a lot here that I learned by trial and error or watching over the shoulder of a more experienced co-worker. Someone looking to accelerate their learning would certainly find this to be an excellent guide rather than waiting on that much longer method of picking it up as it comes along.
So I consider the book to be a 9/10. Giving it a 9 only because it is somewhat tied to a specific version of a specific distribution. It may seem to many right now that Ubuntu is unix but there are a lot of other options out there. And even for the Ubuntu user 7.10 wont be around forever. But the information is so solid and covers things so well from front to back that I consider this to be a very strong book. If I had had something like this when I first started using Linux, who knows? At least newcomers to Linux now don’t have to wonder.
Title: A Practical Guide to Ubuntu Linux
Author: Mark G. Sobell
Publisher: Prentice Hall