Principles of System Administration

Since October 2011, I have been working on a textbook for my class on System Administration. On this page you can find some additional information about my work in progress on this long project. If you are interested in helping me review the book, please contact me!

Other information about the book:


The book is intended to be a graduate level course book to accompany a general class on System Administration. It is modeled after the class Aspects of System Administration, which I have been teaching at Stevens Institute of Technology since 2005. The class was developed to give students a broad overview of the profession and expose them to the many different practical aspects, but not to teach specific individual technologies that would soon be obsolete or replaced by the next generation. The breadth of the topic required that the class focused on fundamental underlying principles rather than implementation details.

Most existing books on relating to System Administration, thorough and useful as they are, have a practical "howto" approach or are targeted towards people already in the profession. They provide detailed instructions for various specific problems or discuss different implementations of a given software service across different operating systems.

This book is different. It focuses on concepts and the understanding of the given topics on a fundamental level, so as to facilitate the learning of how to build scalable solutions that are flexible enough to adapt to different system requirements.

You can find out more about how I compare my work in progress to existing books I've used in the past in this class in this blog entry.

Title and Table of Contents

When I initially submitted the book proposal to Wiley, the working title of the book was "An Introduction to Design for Professional System Administration" - quite a mouthful. I prefer "Principles of System Administration", so that's what I'll use for the time being.

The current table of contents in brief looks something like this:

Preface to the preface

 1 An Introduction to System Administration
 2 Unix
 3 Documentation Techniques

 4 Of File Systems and Storage Models
 5 Software Installation and Package Management
 6 Of Users and Groups
 7 Configuration Management
 8 Automation
 9 Building Scalable Tools
10 Networking
11 Security

12 Managing System Services
13 Backup, Failover, and Disaster Recovery
14 Monitoring and Visibility

15 Everything We Haven't Covered
16 Ethics and Legal Issues
17 Future Direction of System Administration

Image Attributions
Name Index

Related Blog Entries

In the process of writing the book, I've at times written related entries on my blog. These include partial excerpts from the chapters as well as musings or commentary on the process itself. They are:

Tools I'm using

I'm writing all content in LaTeX, using Vim for all the text editing and make for document building.

I have created a number of illustrations using OmniGraffle, Gimp, and Graphviz, which are then converted to encapsulated postscript using ImageMagick.

I write on my laptop, but religiously store all files in a private git repository on my Panix hosted VPS, with additional backup copies on Dropbox and my local NAS device. Published content is also pushed to GitHub.


Progress on this book is very slow. Most people I know who write books do this as a full-time job or, if in academia, during a sabbatical. I don't have that luxury; in addition to my family, a full-time job, and my part-time teaching obligations, I've found numerous ways to keep myself from focusing on this work.

Current status: As of 2017-01-22, I have completed the following:

I still have a long way to go...


I'm always looking for productive feedback on the very idea of the book, my class, my approach to the class or the book, or, if you have a lot of time on your hands yourself, feedback on the actual chapter drafts I have completed so far. If you are interested in helping me out or have any comment for me, please don't hesitate to email me!