Linux Administration for Nerds
Copyright 2018 Brian Davis - CC-BY-NC-SA
Introduction
This guide is intended to document the tools, strategies and practices that I have found useful at home and work when building and maintaining Linux systems. Please take note, I am not a systems administrator by trade. I am not in charge of hundreds of mission critical servers and the techniques I use probably won't scale very well to that environment. However, I do manage a handful of desktops and servers and I like that the following techniques allow me to keep them consistent.
Assumptions
I'm going to assume you understand the basics of the unix/linux systems such as users, permissions, and the command line environment. I do most of my administration from command line tools and one reason for that is it is very easy to document the commands required to perform a task. In some cases I use simple console based applications that have menus (like fdisk) or graphical tools (like gparted). In these cases I will just describe the task and assume the user can navigate the menus unless the feature is particularly esoteric or hidden.
Conventions
Generally, commands are shown in a fixed width font like this mycommand
args
. I will usually omit the su or sudo prefix and assume you know how to gain
the appropriate user priviledges.
Outline
Operating system: Brief comparison
Installation methods: Clonezilla, copy a live system
Filesystem: BTRFS, snapshots + RAID
Synchronization: rsync + cron, smb, webdav