Difference between revisions of "Linux System Administration for Programmers"
Chris Tyler (talk | contribs) (→X11) |
Chris Tyler (talk | contribs) |
||
(8 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Chris Tyler Draft}} | {{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 (or, "Remote Access made Easy and Secure") == | == SSH (or, "Remote Access made Easy and Secure") == | ||
Line 19: | Line 37: | ||
** Preventing direct root login | ** 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 53: | Line 50: | ||
* Virtual desktops | * Virtual desktops | ||
− | == Using Root == | + | == Using Root (or, "No Power in the 'Verse Can Stop Me") == |
* Via sudo | * Via sudo | ||
Line 60: | Line 57: | ||
* Dangers | * Dangers | ||
− | == Installing and Removing Software == | + | == 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 | On an RPM-based system | ||
Line 72: | Line 83: | ||
* repoquery basics (?) | * repoquery basics (?) | ||
* 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