Learning GNU/Linux: The Survey Course Continues
This week's edition takes a look at three very different books. We have tutorials, theory and techniques, and thick juicy slabs of opts. Step through instructions and stay on the sidewalk, get your hands dirty on your own if you're the trailblazing type, or read up on what you always thought someone should code, if you're stuck at your desk.
Title (Author) Using Linux (Jack Tackett, Jr / Steven Burnett) Publisher, ISBN QUE, 0789717468 Included Stuff none Intended Audience RedHat users. Scope Installation and basic introduction to Linux. Technical Correctness Occasional weird advice. (In one spot, the authors describe a very insecure PATH setting without explaining that it's dangerous.) Writing style Varies with chapter author. Other Two-thirds of the way through the book, there are a number of mildly annoying typesetting errors. Unfortunately, they tend to appear near literal command-lines. Hopefully this will be corrected in a second edition.
Using Linux is a cross between a reference-book and a tutorial. Each chapter takes a different subject (Networking, Working with Hard Drives) and breaks it up into common tasks -- each listed in the copious table of contents and the large index. For example, if you're interested in setting up a file system, you can flip right to page 495 and choose between the RedHat tool or editing /etc/fstab yourself. Though RedHat tools receive a lot of attention, they're not presented as the only way to get things done. In a pinch, you'll find command line equivalents for common tasks given near the graphical description.
Accompanying the chapter text are occasional sidebars. These label figures, give a bit of historical perspective, and dish out useful tidbits of information that don't fit into the normal flow. This is less distracting than the usual approach of goofy icons and inset boxes often found in other books.
What's nice about this book is that it covers more subjects than most of the others. It's thick, but not unreasonably so. It's easy to read, but packed with details. Instead of covering only the handful of things every (home) user will need, the authors add information about removable drives, fax configuration, and file system cleanup, to name a few topics. Also nice is a brief chapter on building installations from source code (both make and Imake style systems) -- there's another world out there beyond RPM.
The task-oriented approach doesn't spend much time on theory, preferring a gentle overview and usage specifics. Obviously, there's more to learn than what's presented, but people more interested in results will prefer this decision. The system administration section really stands out, for an introductory book, and the appendix listing common Linux commands and glossary of terms will come in handy.
All things considered, this is a solid book. The breadth of information is good, and the flow of topics means it's readable from start to finish. Occasional flaws detract slightly, but they're not fatal.
[You can purchase this book at FatBrain.]
Title (Author) Linux Configuration & Installation (Patrick Volkerding, Kevin Reichard, Eric Foster-Johnson) Publisher, ISBN M&T Press, 0764570056 Included Stuff Slackware 3.5 CD-ROM, with extra disk full of additional programs. Intended Audience The do-it-yourself type. No prior Unix knowledge is necessary, though some experience with the command line will come in handy. Scope Installation and introduction to Slackware. Very good overview of the general Linux way to do things. Technical Correctness Quite good. Writing style Easy to read, though still technical. Other The version reviewed is the 4th edition -- somewhat dated (1998), but not out of touch. If there's a newer edition, get it! If not, you won't go astray with this one.
With help from Patrick Volkerding (Slackware creator) himself, this book teaches the do-it-yourself distribution. Expect a tremendous amount of detail -- in the first chapter alone, there are dozens of links to a Web site for more information about Linux and particular hardware. Fully half the book falls under installation and initial configuration issues, though this includes tinkering with your window manager, setting up networking, and recompiling your kernel (topics usually saved for later in other books). The fourth edition added a section on Slackware and portable computing, with pages of links to information on particular laptop models and information on synchronizing your Palm Pilot.
Chapter seven introduces the command line (though people following along will have used it -- with gentle prodding). It's a whirlwind, 50-page tour that explains a bevy of tools and tricks both concisely and thoroughly enough for day to day work. Following that are applications -- text editors, text formatters, graphics viewers, and the like. A short section on system administration covers scheduling, managing accounts, checking performance, but relatively little about security. Finally, chapter ten delves in to Linux programming -- toolkits, languages, tools, and scripts. Maybe the hors d'ouvres will whet your appetite to learn more, or at least help you with the magic "./configure; make; make install;" incantations.
The appendices list additional sources of information and the contents of the CD-ROM. Don't overlook the supplemental information, either -- including 30 pages of extra package description. (If you're going to install Slackware yourself, you ought to know what you need and what additional options there are.)
The only reason to overlook this book is its age, which is a shame. Things haven't changed so much that the knowlege presented is obsolete -- considering that the hands-on Slackware approach often leads to true and deep understanding. Unless you're too intimidated to experiment, you can learn a great deal, even from a two-year-old text.
This book is eminently readable. Readers with some technical background will appreciate the slightly geeky, no nonsense approach, while users new to Unix in general will benefit from the quality explanations. When the publishers see fit to release a 5th edition of this book, it deserves very serious consideration.
[You can purchase this book at FatBrain.]
Title (Author) Linux Essential Reference (Ed Petron) Publisher, ISBN New Riders, Included Stuff none Intended Audience Users and administrators already comfortable with the command line. Scope Common and uncommon commands and switches. If you can imagine a task, it's likely listed here in glorious detail. Technical Correctness Good. Writing style Reference style -- very concise, little prose. Not something you'd read straight through. Trust me. Other The organization by topic here is nice. I've used it a few times already, just to look up something I knew had a command option somewhere.
For the user already familiar with shell basics, running programs, and using 'shutdown' instead of flipping the switch, a reference of commands and options might come in handy. That's the idea behind Linux Essential Reference. If you already know what you want to do but not how to do it, flip to the appropriate section and discover all of the little timesavers and niceties you've always wanted but never knew existed.
What sets this book apart from other works, including the man and info pages, is the excellent organization. Not only are commands grouped by category, the sections are (roughly) arranged according to complexity. (Although if you're not familiar with cd, mv, cp, and at least pico before looking something up, get thee to a tutorial!) For example, the Kernel chapter subsections are, in order, 'Installing New Kernels', 'Using Modules', 'Device Files', 'The /proc Filesystem', and 'Kernel Message Logs.'
Rather than reformatting man pages, the author has gone to quite a bit of work, rewriting often terse descriptions into longer examples. This is helpful with the lesser-known options (ls -T 4). The amount of detail, more than in any other work, makes this a good reference. (If you do read it all the way through, you'll have something to put on your technical reviewing resume.)
As seems to be usual, this book is divided into a user section and an administrator section. Administration gets a stronger treatment here, with information on LAN-specific tools. It's not limited to the home user's point of view, which makes it more useful to system administrator-types. The security chapter, including tcpwrappers and ipchains configuration, stands out as informative, though brief.
This book answers the question, "Okay, now what?" If you're feeling experimentative after polishing off one of the others, but you want a little more direction than the command prompt usually provides, having this book on your desk will prove valuable.
Now be it I'm not the most alert person, but why did I see that two of those include Slackware? I thought they'd kinda fallen in the market, and usually going with the best of the market will make you the best of the market in books...
Although, it is nice to see something other than RedHat.. (yes, I run RedHat.. go ahead and flame me, you would either way I had it..)
We don't need no Net Explorer We don't need no Thought control
My favourite (by miles) was and is "Running Debian GNU/Linux" by Bill McCarty (published by O'Reilly). Not only is this a great introduction to the GNU OS which comes with Debian GNU/Linux (oh well I guess slink is finally out of date...a bit better than all those RedHat 5.2 and 6.0 books out there though) but it is also published under the Open Publication License. Not a for dummies book, I'd be far happier to give this to a dummy than any for dummies book I have ever seen. It Rocks
Never underestimate the dark side of the Source
The most enjoyable Linux book I've glommed thus far has got to be Nicholas Wells' "Linux: I didn't know you could do that...". It's got some fifty or so tips and tricks for Linux, plus RPMs and .tgzs for the examples in the book. Lots of useful info, like undeleting files, playing music, etc. While not "dumbed down" by any means, it would still be a good read for the clueful Win9x user wanting to play around with Linux.
The best book I found for people just starting out is Mark Sobell's "A Practical Guide to Linux." His book assumes that you have a working system and teaches you how to use it. It emphasises the command prompt, so it doesn't have much on X, but I found it invaluable for helping me get the basics down - chron, vi, ls, less, cat, grep, tar, etc. A lot of the HowTo documents and man pages made a lot more sense to me after I read this book.
** The opinions expressed here are my own, and do not reflect those of my employers - past, present, or future**
I've personally never found Linux books (or any computer books for that matter) to be terribly helpful. It's probably the way I learn, but I find it much easier either getting a geek friend to teach you, going on a course (if you can find one that isn't too much BS) or just learning by experimentation. Asking around in newsgroups also helps, as long as the question isn't tooo dumb :)
I had a rather unhappy experience with (and haven't resolved, yet, just pretty much threw in the towel) RedHat changes from 4.* to 5.*, I believe regarding tio or termio (I forget and don't have it in front of me) which was going toward BSD compliance. I had to pick up a few O'Reilly books which detailed this matter in greater depth. Albeit it's rather late for something of this nature to be published, were there any books published on these differences?
Vote Naked 2000
A feeling of having made the same mistake before: Deja Foobar