10 Things
As I was driving home tonite from dinner with Eric, I was thinking…what 10 things should every linux admin know. I am not going to qualify each one with the statement “in my opinion”…it is implied.
I came up with these:
1. Scripting
Every linux admin ought to know enough scripting to automate repetative tasks. You have 2 choices, learn Shell/Sed/Awk or Perl.
2. Vi(m)
Stop complaing. Every linux admin worth his salt ought to be able to use Vi (or alternatively ViM). It will be on every *NIX machine you ever log into, you don’t have to be a wiz at it, but you should have basic Vi editing skills.
3. Databases
You don’t have to be a DBA, but you should know enough to query a RDBMS from the command line to see how it is doing what it is doing. You should also know enough so that you can set up an application that uses a DB for the backend.
4. ssh (and redirects)
You should know how to use ssh, and redirects for tunneling other applications. Hopefully (unless there is a reason for it) the admin at the other end has every port closed but 22. At 2 am when you are remote from your boxes you will still be able to look at your LDAP server.
5. Keyboard shortcuts
Not just ones for the shell either. You should learn the keybindings for any application you use at least weekly. It will make you more efficent.
6. Compile C apps
You don’t have to know how to write C, but in the event that there is neither a README or an INSTALL file, you should know “./configure && make && make install”.
7. Look at logs
Before you utter a word upon failure of an application, look at the logs. Chances are the answer is right there waiting.
8. Generosity/Humility
If someone asks, tell them everything you know about a particular subject. Conversley, when in the company of someone who knows more than you, ask enough questions to learn what search terms will be needed later to learn about that subject.
9. Read
RTFM is some of the worst advice I have ever heard. Man pages are not for study they are for reference so you don’t have to hold all the switches and conf file locations and syntax in your head. Buy books, lots of them, and read them.
10. Open things
One of the things that helps me tackle tough problems is taking a really good look. Open the conf files, open the code and take a look. Sometimes a conf file comment is all you need to win through and make something work, don’t just fill in values and expect programs to start. If it’s not clear at first, that’s ok…it’s nothing staring at it till you cry won’t fix.
…think I missed one or got one wrong? That is what the comments are for :)
Good list! It might be good to add something about security. They say “a little knowledge is a dangerous thing” so I think a Linux admin needs to know enough not to pooch his box too easily. Also, it’s good to know how to keep 1337 h4×0rz out too.
Good point Don! It was hard to limit it to 10, but perhaps that should have made the list.
Excellent List Nate! I especially like #8. That’s the OSS spirit in a nut shell. I expect it was a standard in comp geek circles before OSS was on the scene. The one I need the most improvement on is the Database stuff. I just haven’t had opportunities/need to practice that, but it has increased of late.
In reading Don’s comments, I think it might be helpful to know enough not to lock yourself out of your own box when in another state. :-) Yeah, so that’s part of just plain thinking . . .
ed is the standard text editor!
Believe it or not, not all systems have vi: but they all have ed.
even windows used to come with a variation of ed.
So use ed. I know you hate vim, so I have a hard time taking this comment seriously.