Review: Linux in a Nutshell (Sixth Edition)
Off the Beat: Bruce Byfield's Blog
For years, Linux in a Nutshell's third edition has been the closest book to my keyboard. The new sixth edition -- the first in several years -- is going to continue that tradition. The new edition shows the same indispensable qualities as its predecessors, giving an accurate snapshot of the operating system, solid introductory information, and concise, accurate command summaries in a well-organized format.
Changes in Technology
One of the reasons I value Linux in a Nutshell is that its editions provide an accurate summary of the current state of GNU/Linux technology. You can tell from the topics alone how the technology has changed from edition to edition. For instance, in the sixth edition, new topics include git and virtualization, including VMware ESX. Digging a little deeper, I notice that, while my battered third edition did not mention Yum at all, the new edition mentions not only Yum's basic commands, but also its plugins. Similarly, while the third edition contains brief chapters on KDE and GNOME, those chapters have been dropped in the new edition -- to say nothing of more than a passing mention of any desktop applications -- in the interest of saving space.
More directly, the book mentions such ongoing changes as the transition from init to Upstart in distributions like Ubuntu. Yet perhaps the greatest indication of changes is the fact that the new edition is 120 pages longer than my old one. That additional length in itself seems a testimony to the increasing diversity and complexity of the field. While I have noted many of these changes as they happen, seeing them reflected in the changing table of contents for Linux in a Nutshell makes me aware of just how quickly the operating system is evolving.
Information for newcomers
"Linux in a Nutshell doesn't teach you Linux," the introduction warns. However, I would politely disagree. Another of the strengths of the book is that, in its efforts to summarize, Linux in a Nutshell gives some of the most concise descriptions of jargon and concepts that I have seen. This information includes basic explanations of what GNU/Linux is and where you can find out more on the Internet to one sentence definitions of concepts such as TCP/IP or IP Addresses.
If you have been an expert for several years, you might easily overlook the value of this succinctness. But, if, like me, you remember what it was like to try to track down clear information on the web, only to be frustrated by the large number of unacknowledged borrowings that the writer only half-understood, then you may give these summaries their due. I don't usually need them for myself, but when I am struggling to define a concept in half a sentence, I frequently reach for Linux in a Nutshell to see how somebody else has done so. Unfailingly, I find an example that helps me to clarify my own thoughts.
I value the thoroughness with which so many topics are covered, such as vi and emacs, sed and gawk, or subversion or git. But the greatest asset of Linux in a Nutshell is its summary of commands. It occupies 471 pages, or slightly more than half a book, and I have never found a mistake in it. The closest to a mistake that I have found is a command or option not supported by a particular distribution -- and that sort of problem is going to be inevitable occasionally, and is no fault of the writers.
Of course, some users might point out that the same information is available online in man or info pages. But I am not just showing my age by preferring the book to the online help. The truth is, the quality of man and info pages varies hugely with the writing skills and conscientiousness of their authors. I suspect, too, that some of the man pages, especially those for basic commands, have not been seriously revised for decades. Too often, the available online help is poorly written and assumes a level of expertise you don't have (and, the more desperate you are for information, the more these things are likely to be true).
By contrast, Linux in a Nutshell offers clarity and consistency. Its tables of user and administrator commands alone give an overview that you are unlikely to find in man and info pages. Both tables divide commands in general categories that should help users of all levels get a better sense of the tools available to them.
Even more importantly, Linux in a Nutshell lists commands in a way that is far less intimidating than the typical online help. Where the synopsis of an online command like sudo runs to three lines full of formidable abbreviations, the book cuts through the complexity with a simple sudo [options] [command] that lets you absorb the structure at a glance.
Just as helpfully, the command description generally start with a one-sentence definition of the command. Typically, this definition is followed by a description of some of the limitations you are likely to encounter with the command, and, at times, one or two options that you may want to consider.
With commands such as iptables, the result of this consistent structure can be almost as cryptic as the online help. But, for the most part, the structure makes Linux in a Nutshell exactly the quick reference it is intended to be.
A basic reference
Inspired by Unix in a Nutshell, Linux in a Nutshell has a long history as an essential reference book for those who want to understand the technology that they are using. Five previous editions leave this new one as a solid book, but with little to distinguish it except for updates.
That may sound as though I am damning the sixth edition with faint praise, but I am not. You need solidity in such a basic reference, and that is what Linux in a Nutshell's sixth edition provides. It retains the authoritativeness of earlier editions, and is just as indispensable.
MSBuild is now just another GitHub project as Redmond continues its path to the light.
Malware could pass data and commands between disconnected computers without leaving a trace on the network.
New rules emphasize collegiality in coding.
Upstart lands in the dust bin as a new era begins for Linux.
HP's annual Cyber Risk report offers a bleak look at the state of IT.
But what do the big numbers really mean?
.NET Core execution engine is the basis for cross-platform .NET implementations.
The Xnote trojan hides itself on the target system and will launch a variety of attacks on command.
Spammers go low-volume, and 90% of IE browsers are unpatched.
Adobe scrambles to release patches for vulnerable Flash Player.