Book Review

Mastering Linux

Author: Arman Danesh
Publisher: SYBEX Inc.
ISBN: 10-7821-2341-4
Price: US $39.99 (Softbound, with CD)
Reviewer: Bob van der Poel

With Linux becoming more and more popular with home computer users and the media, as well as the traditional base of "hackers" and hobbyists, it is should be no surprise that a plethora of introductory books have appeared on your local book store's shelves. Some are excellent, some poor, and some fall somewhere in between. "Mastering Linux" by Arman Danesh could be one of the good books, but, due to some oversights it doesn't quite make it.

"Mastering Linux" is a big book—928 pages; unfortunately, both its size and its title promise more that it delivers. While it is, for the most part, well organized and written and contains a lot of information; it falls short in the promise of mastery of the subject.

According to the introduction, "this book aims to open the world of Linux to the average compute user." It recommends that the reader be "comfortable using a Windows or Macintosh system" and be conversant with using the DOS prompt. The level of writing and the assumptions of prior computer knowledge in the book match these initial guidelines. The writing style is clear and easy to follow.

The book is organized into three major sections, and a large appendix.

The first section, "Welcome to Linux," covers a bit of the history of Linux, an overview of the major distributions available, and the minimum hardware requirements needed for a usable system. Unfortunately, the author does not mention the large contribution made by the GNU project. I'm not suggesting that we slavishly insist on calling Linux systems "GNU/Linux" or "Linux/GNU," but fair is fair. No wonder Richard Stallman gets upset these days.

Section two, "Essential Linux," guides the user though a typical installation from the supplied CD which contains a complete Red Hat 5.1 distribution. Next, the author covers the task of installing and configuring X Windows and various window managers, printers, modems, and some commands and applications. I believe the user described in the introduction should be able to get a working Linux system set up using these instructions.

Section three, "Linux in the Small Office/Home Office," covers network configuration, Windows and Novell integration, setting up routers, web servers, and sendmail. Most users needing to set up these types of services should have no problem using the author's instructions.

Finally, there is the appendix. At just under 300 pages long, this is a major part of the book, but I'm not sure how useful a lot of it is. For example, Appendix B (18 pages), is a listing of all the fonts available under X (this seems to be print out of "xlsfonts"). Appendix D (26 pages), is a listing of a file. Also included in the appendices are "The Linux Hardware Compatibility HOWTO" and "The GNU Public License". On a positive note, there is an excellent command reference which gives a short overview of nearly 200 of the more common commands supplied in a Linux distribution. In my opinion, this overview should have been combined into the main text instead of being hidden in an appendix.

My biggest problem with "Mastering Linux" is that it appears to stop short or be incomplete in many subjects. Being a tad simplistic may be a virtue in a book only destined for "dummies"; however, a book which promises you will, according to the back cover, "learn everything Linux has to offer your business or home office," has to rise well beyond the simple. In many places the book either assumes too much of the reader, or it stops short of truly completing the task at hand.

Often the book could leave the novice confused. For example, when introducing Linux commands and filenames, there is no mention of the fact that Linux is case sensitive. To add confusion, the sections on the various commands are introduced with the command names in mixed case; the examples use the proper lowercase names. Even though some mixed case filenames are used in the examples (I assume to illustrate that both upper and lower case letters are acceptable in a filename), no mention of the need to reproduce the case exactly is noted. Certainly, an experienced Unix user will know this—but pity the poor tyro graduating from the DOS prompt.

At other places in the book the level stops short of the "mastery level" promised. The section on setting up a PPP connection starts off using commands as root. This is fine for getting a PPP connection established for the first time. But, the author should have detailed methods for setting up the connection scripts so that users other than root can use them—there is no need on a properly configured system to only establish PPP connections as the root user.

Another example or not going far enough is the section on configuring sendmail. The author only covers setting up sendmail as an online server since it is "a little bit easier to configure and understand than offline servers." Yes, it is easier. But if I'm mastering Linux I really would like to do learn some of the hard stuff as well!

The book does a good job in giving many overviews of the different major user packages available. For two examples, Chapter 6 has nice overviews of nine different window managers and Chapter 27 overviews ten different web servers. There are similar comparisons throughout the book.

"Mastering Linux" is not a bad book. If anything, it is overly ambitious. It will get a computer user with some basic computer skills up and running with a Linux installation on a PC, but I'm afraid that some of its major oversights will also leave him frustrated or rushing to buy other books. Useful, yes. But don't be mislead into thinking that this is the only book you'll ever need or that you'll master Linux with it.

NOTE: This review originally appeared in "The Linux Journal, Strictly On-Line", November 1999.

All rights are retained and reserved by the author, Bob van der Poel

Web Design--Bob van der Poel This page was last modified on 2024-03-21