Linux Annoyances for Geeks, by Michael Jang, ISBN 0-596-00801-5

Reviewed by: Robert Boardman, September 2006
Published by: O’Reilly
Requires: N/A
MSRP: US$34.99, CAN$48.99

Ideally there would be no annoyances with any computer operating system. Ideally this book would not be needed. Unfortunately all computer operating systems have ways of doing things that are bothersome. All can be customized to look and operate the way the user, rather than the developer, wants them to. This book sets out to help the reasonably experienced Linux user correct and customize. It is aimed at users who feel comfortable working with command line tools, and who understand the major pieces of the Linux operating system, for example, what iptables or netstat are for.

Linux Annoyances for Geeks gathers together a number of related annoyances in each chapter. Some truly are annoyances. For example, how do you get a seemingly impossible-to-connect wireless network card to connect to a Linux network? Or how can you get a workstation to read PDF files? Others annoynaces can be things like difficult system customization, desktop customization or boot time issues. Many so-called annoyances are techniques to get things that should already be part of the system working better. For example, author Michael Jang uses several pages to discuss different backups. He explains how to use rsync and ssh to do remote backups. He explains how to set up a cron job for a remote backup. And he shows how to set up the software for RAID 1 (hard drive mirroring).


The first chapter deals with configuring the desktop. This is the only chapter where graphical user interface (GUI) tools are used almost exclusively. Even here, Jang goes through some configuration of X Windows using xf86config and edits fstab directly. He does not give specific instructions, simply tells users about the various configuration options and suggests some defaults. Since target readers are expected to be at least part-time 'geeks' they are expected to be able to change these settings themselves. Jang forgets to mention either 1) make a backup before changing system files, and 2) change only one thing at a time. Geeks are supposed to know these two basic principles.

Jang deals with the annoyances that appear during installation (or multiple installations). He focuses on hardware compatibility with both desktops and laptops. After that he discusses the reasons for and the process of startup configuration, including dual boot systems, weak passwords, lost passwords and securing servers. Those of us who work with Linux regularly (and who are Linux geeks already?) are well aware of the annoyances that arise from upgrades, everything from finding out if an upgrade is needed to dependency hell (Ed. Note: Some Linux distros and their associated upgrade package management methods are created more equal than others), to kernel panics after an upgrade. Jang deals with all of those issues and more.

The last three chapters of the book focus on networks: servers, users and user groups, network security, Internet connections and related topics. Readers can learn about virtual hosts, user group management, server storage quotas, using a mirror to update all the workstations on a network, how to set up a secure telnet connection, and so on. Because the author assumes that Linux Annoyances readers are reasonably experienced, he opted to skip many of the repetitive steps that introductory books have to include, leaving him with more space to deal with what is most important and most useful in each process.

Early in the book the author says there were over 350 different distributions of Linux available. That variety makes writing any book about the Linux operating system difficult. Fortunately most of the different distributions come in various families. Most Linux users have installed at least one of the more well-known distributions. Most Linux distributions come with the same set of applications, particularly the basic applications that the author works with. In the book he shows examples from the three major Linux families in use: Red Hat/Fedora, SUSE and Debian. These three distros install files in different locations and often use applications with different names to do the same work (particularly true with GUI applications). Geeks using distros from other Linux families probably already know how to adjust the instructions in the book to their particular version.

This book will also be particularly useful to those who administer Linux machines, either workstations or servers, on networks. But even geeks running a single Linux machine, whether connected to the Internet or not, will almost certainly learn something from this clearly written book. The examples are easy to follow. Finding solutions for specific annoyances is simple. This book will stay in my personal library and be well-used.

KSN Product Rating:

Comments? Questions? Qualms? Technical problems? Send an e-mail!





© Copyright 2000-2006 All rights reserved. legal notice
home | previous reviews | hot news | about us | search | store | subscribe


Forums Search Home Previous Reviews About Us Store Subscribe