Originally Published: Thursday, 9 March 2000 Author: A.L. Lambert
Published to: interact_articles_jobs_skills/Linux Job Skills Page: 1/1 - [Printable]

What You Really Need to Know

If you're just starting to learn Linux in the hopes of becoming a paid professional, or have been using it for some time for personal use and are interested in making a career out of it, the main question on your mind, is probably "what do I really need to know to make a living doing this?".

   Page 1 of 1  

If you're just starting to learn Linux in the hopes of becoming a paid professional, or have been using it for some time for personal use and are interested in making a career out of it, the main question on your mind, is probably "what do I really need to know to make a living doing this?". This subject could easily be expanded to a full length book of suggested learning, but I will outline some of the basic concepts and skills you should be seeking to acquire for yourself in the interest of becoming a paid Linux professional.

The first thing you need is a certain amount of concrete, tangible knowledge about "how it really works". You should start with disabling X, and learning how to navigate the system using only the command line. The GUI is something you can fall back on later to ease common administration tasks, and make your screen pretty, but without the fundamental knowledge of how the system works at the command line level, you will be significantly impaired in your abilities as a Linux administrator in the real world. A good way to get started understanding all the commands available to you at the command line is by typing "cd /bin ; man *". This will cause man to display documentation on each of the command line utilities stored in the /bin directory (hit "q" to cycle to the next man page). You may also want to repeat this process for /sbin, /usr/bin, and /usr/sbin. As you progress through reading the various man pages, go ahead and try out some of the things you are reading about. Experience is by far the best teacher.

Virtually all Linux/UNIX programs of any reasonable complexity (ie: most daemons) rely on configuration files of some form or another to shape their operational parameters. Since this is a fact of life, you should be well versed in at least one of the many text editors included with most Linux distributions. The vi editor is far and away the most common, although any editor with which you feel comfortable will do just fine. For myself, I use the much less common fte for coding and other complex editing tasks, or pico for simple things such as composing this article or simple configuration file editing.

Once you become comfortable with the command line and a text editor or two, the next step should be learning how to setup and maintain at least a few of the common server applications available for Linux; their configuration file syntaxes, their default file system layouts, etc. You don't need to know everything about all the applications in existence, a modest selection of the most common ones should be enough to get you an entry level job as a Linux administrator. I've compiled a short list of software that I have noted to be commonly requested knowledge in many Linux job postings, which can be found in [Table] at the end of this article.

While not required by many entry level jobs, I highly recommend you learn at least a little basic shell scripting or perl coding. I use shell scripts to automate tasks and ease my workload in a wide variety of ways every day: Cron jobs to search through my log files looking for anomalies to E-Mail to me, scripts to check system status and page me if anything unusual is happening, scripts to perform complicated tasks such as creating virtual mail/web/dns/chat/etc. domains for ISP clients, scripts to automate much of the process of upgrading of software packages, etc. The uses for shell or perl scripts are limitless, and the languages are far easier to learn than most of the more sophisticated programming languages.

To reach the higher echelons of Linux/UNIX System Administration you need only a few years of experience in a reasonably wide variety of applications, some coding abilities with C/C++, and the ability to teach yourself. In many ways, the ability to teach yourself is the single most important thing to acquire along the path to becoming a Linux Guru. When you have reached a level of background knowledge that you can type "man someprogram" or "man some-c-function", and understand everything you need to know from the implications of the documentation found there, then you are lacking in nothing but experience for the right to claim the title "Linux Guru" for yourself.


[Table] This is a listing of some of the basic software components that you will likely want to be somewhat handy with. This guide is based on common prerequisites listed with the various "Linux Computerjobs" websites I browsed while writing this article, and on various daemons/applications that I have found to be useful to me in my career as a Linux professional. It should by no means be considered a complete/authoritative guide, but learning a few of the applications listed below should be enough to get you ready for your first Linux job.

  • How to compile and install a custom Linux kernel based on system specific needs.
  • Apache - Far and away the most common high performance web-server for Linux.
  • BIND - A royal pain of a DNS server.
  • Sendmail (or better yet, qmail) - SMTP mail daemons.
  • Cron (or one of its v riants) - The generally accepted standard for a system task scheduler.
  • Ftpd - At least one of the several variants that are commonly used (wu-ftpd or proftpd are good choices)
  • OpenSSH or SSH - A secure rlogin/rcp replacement.
  • Any few of the common daemons used with Inetd (included in the NetKit package), such as qpopper, cucipop, identd, various NetKit components, etc.
  • Some variety of database software - Something based on the SQL standard (such as MySQL) is recommended, since knowledge of the SQL language will come in handy with a wide variety of database engines.

   Page 1 of 1