Linux System Administration for Programmers
This is a topic outline for the upcoming "System Administration for Programmers" session.
Basics:
- 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
- Command editing
- 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
Services
- Systemd
- enable and disable
- start and stop
- status
- isolate
- set default
Firewalls
- firewalld
- iptables
Networking
- 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
- package selection:
- 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