
Ask HN: Advice for learning Linux system administration? - new_hackers
Hello HN!<p>I&#x27;m looking for tips on learning Linux system administration.
I&#x27;ve been programming for ~15 years on a variety of OS&#x27;es, including Debian and Windows.
Most of the admin stuff I know is just from random googling on my current problems.<p>I&#x27;ve been asked to help administer a Linux box (CentOS).<p>What should I do to make sure I have the chops for Linux system administration?<p>TIA
======
hluska
Runjake gave you some excellent advice - you should definitely use CentOS to
run your personal device(s).

Aside from that, I have a few other recommendations:

1.) Don't just let the client use one box. You need a production box and a
staging box. You need a staging box because simple things (ie - doing updates)
will sometimes fuck things up beyond repair. It is way better to have a fucked
up staging box than a fucked up prod box!!

2.) If you're looking for information on security and monitoring, I'd suggest
reading over the PCI-DSS documentation. Vast swaths of PCI-DSS are festering
crap, but it will give you a good look at how some people like to monitor
their systems. While you're at it, read Owasp's secure configuration guide and
NIST's publication on server monitoring. You're not likely to get solid
answers here, but you should get a sense of the trade offs that sysadmins have
to make.

3.) If I were in your shoes, I'd build a Vagrant box that exactly matches what
you'll use in staging/prod. This box is purely for fun. It's way easier to try
new things on your local!

4.) Have fun!! Sysadmin is a dark art, but it's also incredibly fun. Enjoy
learning and have fun!

------
LarryMade2
Get one of those really thick Linux books (you know the Linux Bible ones) I
think any edition may work fine (though later ones will cover new technologies
like systemd) Read it from cover to cover - not every word, take in what you
can of what you see, glance over the complex parts and go back later, bookmark
the interesting ones (you'll have a lot of bookmarks). This helps quite a lot
to get an idea of the Linux big picture.

Now pick up an administrators guide, and use a spare machine to play with and
start working through it. I'd probably start on the basics like installing
Linux, compiling programs (compile a a game to play if you find it boring)
configuration (change Internet settings, set up a web server, file server)
make a backup script, restore your backup, etc.

Learn to document what you do so you: a) can see what you did later on and b)
can do it again if you need to.

I'm gonna say its going to take at least a 1/2 dozen linux installs and
configures before you get the hang of how all that works and other things will
be a little trial and error till you hit on the right way to do it.

------
eb0la
Bad news first: your life of googling is not over.

You will Google a lot even if you become a Pro sysadmin.

But you have an advantage^Wsuperpower: you can read code. That means when
there is some weird log entry somewhere you can grep the codebase and try to
find out what made it happen.

Some skills you'll find useful:

\- Learn to read man pages. The info for almost everything is there. You need
time to get used to man pages but as soon as you know how to skip most of the
content you will be fine.

\- tail -f is your friend. Use it whenever you need to know what's happening.

\- Sharpen your communication skills. You will have to report stuff that
happened late at night and what you did to make it work while you were
supposed to be sleeping. Hint: Emails with good subject lines, using the first
paragraph to summarize all, then add a technical explanation section below
makes the boss and coworkers happy.

\- Learn something about devops, automations, and infrastructure that can be
validated with scripts. You'll have future there :)

Cheers from another programmer .ade sysadmin... 20 years ago.

------
runjake
This is a serious answer:

1.) Get a machine.

2.) Install CentOS on it.

3.) Dogfood (use) that machine full-time.

You'll be up to speed in no time.

~~~
new_hackers
:-) I like the dogfood part

The main issue is that this is a server which many people will use and there
are some business-important services that will run on it.

I'm definitely planning on installing and using CentOS as a personal machine
to help learn.

I was thinking more along the lines of security and monitoring.

------
new_hackers
BTW, I have found this:

[https://www.centos.org/docs/4/4.5/pdf/System_Administration_...](https://www.centos.org/docs/4/4.5/pdf/System_Administration_Guide-450.pdf)

