Open main menu

CDOT Wiki β

Changes

Linux System Administration for Programmers

1,580 bytes added, 16:04, 18 February 2015
no edit summary
{{Chris Tyler Draft}}
This is a topic outline for teaching a future the upcoming "System Administration for Programmers" session.
== Screen ==Basics:* Assume a RHEL/CentOS/Fedora context
* GNU [[Screen]] command** Common options == SSH == * [[SSH]] tips and tricks** X tunneling** arbitrary forward and reverse tunnels** Using <code>.ssh/config</code> for convenience** Public key authentication == LVM == * Using LVM for storage management == Bash (or, "How To Save Hours of Your Life on the Command Line") ==
* Bash tips 'n' tricks
** Aliases
** cd shortcuts: using - and ~
** Command editing
*** ^Right, ^Left, Home, ^A, End, ^E, ^T
*** !
** 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 <code>.ssh/config</code> 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
** <code>list, search, info</code>
** <code>install, remove</code>
* <code>rpm -q</code> basics
** package selection: <code>''name'' -a -f --whatrequires --whatprovides</code>
** info selection: <code>''default'' -i -l --requires --provides --scripts --qf</code>
* 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
** <code>pvs, vgs, lvs</code>
** <code>vgextend</code>
** <code>lvextend -r</code>
** <code>pvmove</code>
** LV snapshots