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.