Difference between revisions of "Linux System Administration for Programmers"
Chris Tyler (talk | contribs) (Created page with 'Category:Chris Tyler Draft This is a topic outline for teaching a "System Administration for Programmers" session. == Screen == * GNU Screen command ** Common options …') |
Chris Tyler (talk | contribs) |
||
(21 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | {{Chris Tyler Draft}} | |
− | This is a topic outline for | + | 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 | ||
+ | * One-Line Scripting | ||
+ | ** Looping on the command line | ||
− | == SSH == | + | == SSH (or, "Remote Access made Easy and Secure") == |
* [[SSH]] tips and tricks | * [[SSH]] tips and tricks | ||
Line 14: | Line 32: | ||
** Using <code>.ssh/config</code> for convenience | ** Using <code>.ssh/config</code> for convenience | ||
** Public key authentication | ** 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") == |
− | * Using | + | * 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 | |
− | |||
− | |||
− | ** | ||
− | ** |
Latest revision as of 15:04, 18 February 2015
This is a topic outline for the upcoming "System Administration for Programmers" session.
Basics:
- Assume a RHEL/CentOS/Fedora context
Contents
- 1 Bash (or, "How To Save Hours of Your Life on the Command Line")
- 2 SSH (or, "Remote Access made Easy and Secure")
- 3 Screen (or, "How to Start a Build at the End of the Day")
- 4 X11 (or, "Why the Linux GUI Rocks and No One Knows")
- 5 Using Root (or, "No Power in the 'Verse Can Stop Me")
- 6 Services
- 7 Firewalls
- 8 Networking
- 9 Installing and Removing Software (or, "That Software is only a Yum Away")
- 10 LVM (or, "Why Running out of Disk Space is No Big Deal" or "Snapshots, Volumes, and Disk Errors, Oh My!")
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