Linux System Administration for Programmers

From CDOT Wiki
Jump to: navigation, search
This is a draft only!
It is still under construction and content may change. Do not rely on this information.

This is a topic outline for the upcoming "System Administration for Programmers" session.


  • Assume a RHEL/CentOS/Fedora context

Bash (or, "How To Save Hours of Your Life on the Command Line")

  • Bash tips 'n' tricks
    • Command editing
      • ^Right, ^Left, Home, ^A, End, ^E, ^T
      • Esc-BS, Ctl-W
      • Esc-_
    • Command searching
      • ^R
      •  !
    • Tab completion
      • Non-file tab completion
    • Prompts
    • Aliases
    • cd shortcuts: using - and ~
    • Startup Scripts - .bashrc, .profile, etc
    • Environment Variables - especially PATH
  • One-Line Scripting
    • Looping on the command line

SSH (or, "Remote Access made Easy and Secure")

  • SSH tips and tricks
    • X tunneling
    • arbitrary forward and reverse tunnels
    • Using .ssh/config for convenience
    • Public key authentication
      • Use of passphrases
      • ssh-agent (and gnome ssh agent, ...)
  • Securing SSH
    • Preventing direct root login

Screen (or, "How to Start a Build at the End of the Day")

  • GNU Screen command
    • Common options

X11 (or, "Why the Linux GUI Rocks and No One Knows")

  • Remote access
  • Clipboard vs. Selection
  • Fast-paste (middle mouse)
  • Composed desktops
  • Virtual desktops

Using Root (or, "No Power in the 'Verse Can Stop Me")

  • Via sudo
  • Via su
  • Directly (don't do it!)
  • Dangers


  • Systemd
    • enable and disable
    • start and stop
    • status
    • isolate
    • set default


  • firewalld
  • iptables


  • ip vs. ifconfig

Installing and Removing Software (or, "That Software is only a Yum Away")

On an RPM-based system

  • Why use a package manager
  • Yum/DNF basics
    • list, search, info
    • install, remove
  • rpm -q basics
    • package selection: name -a -f --whatrequires --whatprovides
    • info selection: default -i -l --requires --provides --scripts --qf
  • repoquery basics (?)
  • apt-get basics (As needed)

LVM (or, "Why Running out of Disk Space is No Big Deal" or "Snapshots, Volumes, and Disk Errors, Oh My!")

  • Using LVM for storage management
    • Why?
    • Concepts: PVs, VGs, LVs
    • pvs, vgs, lvs
    • vgextend
    • lvextend -r
    • pvmove
    • LV snapshots