Difference between revisions of "Linux System Administration for Programmers"
(→Bash (or, "How To Save Hours of Your Life on the Command Line")) |
Chris Tyler (talk | contribs) |
||
Line 4: | Line 4: | ||
Basics: | Basics: | ||
* Assume a RHEL/CentOS/Fedora context | * Assume a RHEL/CentOS/Fedora context | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Bash (or, "How To Save Hours of Your Life on the Command Line") == | == Bash (or, "How To Save Hours of Your Life on the Command Line") == | ||
* Bash tips 'n' tricks | * Bash tips 'n' tricks | ||
− | |||
− | |||
** Command editing | ** Command editing | ||
*** ^Right, ^Left, Home, ^A, End, ^E, ^T | *** ^Right, ^Left, Home, ^A, End, ^E, ^T | ||
Line 48: | Line 18: | ||
*** Non-file tab completion | *** Non-file tab completion | ||
** Prompts | ** Prompts | ||
+ | ** Aliases | ||
+ | ** cd shortcuts: using - and ~ | ||
** Startup Scripts - .bashrc, .profile, etc | ** Startup Scripts - .bashrc, .profile, etc | ||
** Environment Variables - especially PATH | ** Environment Variables - especially PATH | ||
* One-Line Scripting | * One-Line Scripting | ||
** Looping on the command line | ** 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") == | == X11 (or, "Why the Linux GUI Rocks and No One Knows") == | ||
Line 68: | Line 57: | ||
* Dangers | * 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") == | == Installing and Removing Software (or, "That Software is only a Yum Away") == | ||
Line 81: | Line 84: | ||
* apt-get basics (As needed) | * 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