Book Description
The Book Unix and Linux System Administration (Fifth Edition) by Evi Nemeth, Garth Snyder, Trent R. Hein, Ben Whaley, and Dan Mackin is the bible for Unix and Linux System Administrators, specifically administrators of Debian GNU/Linux, Ubuntu, Red Hat Enterprise Linux, CentOS, and FreeBSD. Despite being a big book, because it has 31 chapters and 1232 pages in the paper version, it is fun and interesting to read. The book covers with good depth the most important subjects concerning System Administration divided into four chunks: Basic Administration, Networking, Storage, and Operations.
In the first chunk of the book, Basic Administration, the authors explain the “basics” (“basics” in the sense that this chunk covers the fundamentals because the topics are not basic –easy– in any way). In this chunk, you will find: The boot system, the file system permissions, the access control, the description of the folders in the / directory, process management, scripting, logging, and drivers. These usually are topics that a Linux Administrator is familiar with but probably misses a deep explanation of the subject.
The second chunk is about networking. Here you will learn the basics of networking; the tools to debug networking issues; how IP packages move throughout the networks; how DNS works and the meaning of the different records; Single Sign-On; email server setup; web hosting setup etc.
The third chunk is about storage. This chapter deals with disks; monitoring; disk partitioning; logical volumes; RAID; repairing filesystems; modern technologies like ZFS and BTRFS; how to create an NFS, and SMB.
The final chapter is about operations. You will find an introduction and discussion of configuration management tools like Ansible, Puppet or Salt; Virtualization (Xen and KVM); Containers (Docker and Kubernetes); CICD (principles and applications with Jenkins); Security; Monitoring; Performance Analysis and DevOps Methodology.
Major contribution of the book
This book has two major contributions to the Unix and Linux literature. The first is that it provides a needed ‘introduction’ to beginners and intermediates into Unix/Linux Sistem Administration. Introduction in the sense that it provides a guide of all the topics that a Unix or Linux System Administrator must be familiar with to be competent in his job.
System Administration is a complex subject, not only because it involves a considerable amount of topics to learn, but because it is a field that you have to teach yourself into (either by experience, books, videos, etc.). Hence, the administrator will profit from a complete picture of what System Administration is about. In the same sense, the book is especially helpful to fill in the blanks of your own self-education. For example, the book introduced to me several topics that I haven’t studied yet like the different storage formats; or how to set a DNS server; how to set a DHCP server; an NFS server; how to use PAM to authenticate with Active Directory; or how to install Kerberos; or how to work with Puppet, Salt or Chef; or the theory behind networks; how packages move through ethernet networks, etc. I was exposed to all these topics and more by reading the book.
The second contribution of the book is that it provides the reference book for Unix and Linux System Administration. In other words, given the profound depth in which the authors dealt with each topic, this book is a tool to keep close in your office and to be consulted permanently. The main reason to have this book in this high regard is that the books started in 1989 and has been improving since then! The book has more than 30 years of history! Not only this, but the editions are also peer-reviewed (and complemented) by several technical reviewers which improves the accuracy of the materials. Then, instead of searching the internet for help or recommendations about certain technologies, it could be better to start with this book!
Recommendation
As stated before, the book not only shows the big picture but also deals with each topic at an intermediate to advanced level. The book is filled with professional technical advice on how to install several services including DNS server, email client, ssh server, web server, NFS server, etc. This is information that you can apply directly at your own job. Also, the book provides interesting reviews about competing technologies/projects: Should you use Ansible, Puppet or Salt? What logging centralization tool should you use, which storage format, LDAP or Kerberos, etc.
I recommended this book to all Unix/Linux System Administrators. At the beginning, I hesitated if this would be a good book for a new system administrator because the amount of material is large and the complexity is intermediate to advanced. Despite this, I think new system administrators could benefit from having a roadmap and having an excellent reference book. Still, new administrators should be warned not to shiver by the amount and complexity of materials presented in the book.
I believe intermediate system administrators could be the ones that benefit the most from this book for the following two reasons. First, because the book is helpful to fill the blanks in your knowledge. Most of us (intermediate System Administrators) are self-taught, therefore this resource could help us fill all those knowledge gaps. And second, because this book provides a considerable amount of recommendations about which technologies use and the reasons why. This helps us improve our architectural skills to be able to make wise decisions about new technologies and practices.
Finally, Senior system administrators could also benefit from the book for the same reasons as intermediate system administrators.