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.
The current working title of the book is "An Introduction to Design for Professional System Administration" - quite a mouthful. I might prefer a simpler title, but discussions with Wiley have suggested to include some of the obvious key words in the title. I don't know if this title will stick. We shall see...
The current table of contents in brief looks something like this:
PART I INTRODUCTION AND GENERAL CONCEPTS 1 An Introduction to System Administration 2 Unix 3 Documentation Techniques PART II FUNDAMENTAL TECHNOLOGIES AND CONCEPTS 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 Managing System Services 11 System Logging and Monitoring 12 Backup and Disaster Recovery 13 Networking 14 System Security PART III CONCLUSIONS 15 Ethics and Legal Issues 16 Everything Else 17 Future Direction of System Administration
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:
I'm writing all content in LaTeX, using Wiley's style packages. As usual, I use Vim for all the text editing, and I use this Makefile to build the PDF.
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.
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, and in addition to a full-time job and my part-time teaching obligations, I have a 5 and a 1.5-year old daughter, meaning my actually productive hours tend to be after dinner. While I'm used to working with lots of interruptions and distractions, I've found that writing this book requires a lot more concentration and larger chunks of uninterrupted time. At the moment, I'm lucky if I manage to get 4 hours of productive time allocated to this project per week.
Current status: As of 2013-04-04, I have completed the following:
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!