Sunday, June 5, 2011

How to become a Linux system administrator

One of the FAQs that I get is "How can I become a Linux system administrator". I got into sysadmin by mistake and learnt things the hard way i.e. by making mistakes. I do not know of any college courses that train people to be a sysadmin. There are private coaching centers that promise to train people to become a certified RedHat or Novell system administrator, but frankly I am wary of their capabilities. The main reason for my caution against these private institutes is the quality of the teachers there - anyone who is a good sysadmin will usually get picked up in the job market in a jiffy.

Here are things I think that anyone in the college right now and looking to become a sys admin can do. Note that I am focussing here mostly on the technical skills required.

Load Linux on your box - it does not matter which distribution you use. Differences between different Linux distribution is even less than you think. My personal recommendation is Ubuntu. However, if you can make Debian work on your hardware, that is the way to go.
Learn the package management of the distribution of your choice. By this I mean, you should be able to install, remove, reconfigure and locate the packages needed by your distribution.
Learn how to use the vim or the emacs editor
Most of the PCs today live in a network. Learn what a ip address is, what a gateway is and what a subnet is. Having a mental image of how the traffic flows in a network helps when you are trying to solve a network problem
Learn to write bash shell scripts
Learn how to use the awk, sed, cut, sort, uniq, tr and other small Linux shell utils
Write your own backup script
Learn how to use rsync, wget, ssh
You should have read (or at the least have glanced through) all the guides and how-tos available at
Learn to read the syslog file
Learn what a daemon is and which daemons provide what services.
Learn the log files that each daemon creates and how to read them
Learn to configure samba and postfix. Both of these softwares appear to be quite complicated, but come with very extensive documentation. Another plus point of knowing them well is that you will find it easier to find freelance work. Most small companies want to have a mail service and a file sharing service and after the flood of worms specifically targeted towards Windows NT and 2000, have started to look at Linux for their needs
Learn how the email is actually delivered to a recipient, what is the difference between a mbox and maildir format and other intricacies of the email system. Use the postfix that you have configured to play around and see how different parts function. This page has a list of email standards that you might find useful to read
Learn to use tcpdump, ethereal and nmap.
Learn to configure Apache - specifically how to setup virtual hosts, what the core options in Apache are and how modules are added into Apache.
Learn to troubleshoot samba, postfix and apache