Ask HN: Must have (Linux) sysadmin skills?
What would you list as the most essential skills one must be able to demonstrate to be hireable ? (Coming from a developer). What are the most common things a sysadmin does daily ?
Cheers
What would you list as the most essential skills one must be able to demonstrate to be hireable ? (Coming from a developer). What are the most common things a sysadmin does daily ?
Cheers
I'd like to point out that some sysadmins are focused on linux internals while others focus on application in production. So, of course, the list may vary according to the position you're looking to be hired.
https://people.redhat.com/duffy/selinux/selinux-coloring-boo...
I agree with this.
Anyone interested in command line hacking can find everything nelsonmarcus recommends (and a bit more) in this very readable book: The Linux Command Line A complete Introduction By Shotts https://www.amazon.com/Linux-Command-Line-Complete-Introduct...
1. Troubleshooting and performance analysis. There is excellent site about performance: http://www.brendangregg.com/linuxperf.html I don't know a good resource on troubleshooting, but some tools are the same.
2. Problem can be anywhere including network so the next topic is networks. There is excellent book TCP/IP Illustrated — old, but still relevant.
3. Sysadmin often spends a lot of time in a shell so it is good to know it very well (and common shell commands too).
- reacting to monitoring alerts and critical messages in logs. First you need to understand what given alert/message mean, and then goes troubleshooting if root cause is not obvious - improving monitoring system settings/thresholds/metrics (if there no separate teem for this) - deployment (but it often performed by developers) - upgrading OS and 3rd party software (if 3rd party software not deployed alongside own code) - performance tuning - learning software used in production (both: 3rd and written in the company) - writing numerous config files and ensuring that all settings adequate to given environment/system - if system is not entirely in cloud - replacing broken hardware and parts (HDD), usually using "remote hands" in datacenter. - managing ACLs / credentials for different systems, e.t.c.
Make your actions reversible (as far as possible). Had learned it in the field, later also saw it mentioned in a sysadmin book.
I can't count the number of times I've seen colleagues just blindly charge ahead and do, for example, non-trivial surgery (a.k.a. edits) on important system config files (in a haphazard, lets-see-if-this-works manner, without so much as making a backup copy of the file), which sometimes resulted in screwing up the system further, sometimes irrevocably (because, you guessed it, no backups - or no current ones, anyway). And yes, on production systems. Got a few stories about that, may mention them some other time.
- ssh: you need to know what that means and how to use it
- Difference between ftp and sftp
- cd, ls, pwd (directory stuff)
- scp and rsync (move files from server to server)
- find, cat, grep, sed, awk, head, tail (manipulations and discovery)
- chown, chmod (permissions)
- cp, mv, rm, rmdir, mkdir, touch
- Don't do rm -rf unless you know what you are doing
- Setup aliases on your shell. e.g. .profile file for bash etc.
- top, ps (check processes)
- sudo and su (switching users or running commands as root)
- Know various OS differences like CentOS vs Ubunut.
- Know where to find logs for web servers like Apache or nginx (e.g. /var/log/nginx in Ubuntu).
- Star/Stop services as needed
Systems administration is a huge topic with so many interconnected parts and such vast variety of tools. Even breaking it down to segments can fall apart easily as nearly all topics overlap from user management, to filesystems, etc.
My only advice is this: Get a copy of "UNIX and Linux System Administration Handbook" and read the topics that you work on. It's a reference not something that you can read from cover to cover, but it's I own the 4th edition and it's depth is amazing. On 18 Aug there is the 5th edition coming out. Grab a copy.
My only issue is that I'd love to have *BSD included along Linux, Solaris and AIX (which is hard to find these days...).
The new book I'm sure will have a new section on virtualisation, automation (ansible, etc.), docker, docker orchestration tools, service discovery, etc.
I'll buy a copy on Christmas.