Thinking about career in Linux? Part 1
Photo by John Vatterli
The other night, a good question popped out of my head -- How many of the geek teenagers wish to work on closed source technology today? It's been pretty ubiquitous for the computer freaks to turn to Linux/OSS, for that matter. This may not be a good sign for the closed source community and people who love closed source technologies. But that is how the perception is getting transformed amongst the engineering graduates.
However, before changing gears, it's necessary to know what's needed off you to build a career in Linux. It's much more than a mere resistance against Microsoft technology and a hatred for Bill Gates; which I would say is not required at all! Remember, you may excel in one of the domains without criticizing the other one.
Considering a lot of tools which need to be cited for this cause, we'll complete the entire article in 2 parts.
Here you go;
Apache: The world's most widely used web-server, known for it's open source architecture. It is often termed as Apache HyperText Transfer Protocol (HTTP) server program. Apache is one of the primal requirements to build a good CMS or likewise, in an Open Source industry. If not much, you need to learn the basics. Most Linux related jobs would ask you to have a hands-on over the apache administration.
Apt-get tool: It is a command-line tool to handle packages, often known to be a user's weapon to get hold of other tools using the APT library. Although, used mainly on Debian based systems, apt-get is cross-platform with various front ends built for it. Apt-get is one of the simplest tool to use and one should still be familiar with its working and syntax on command line.
BASH Shell: Bash (Bourne again shell) is a sh-compatible command language interpreter which executes commands from the standard input or a file. It incorporates cool features from the Korn and C shells(ksh and csh) too. It is fairly necessary for you to know how to program in Bash. One can save a lot of time and energy by writing down a little bash script to automate a task on the command line.
Iptables: If you're hitting for a Linux administrator, or someone on similar lines, you need to master this. Iptables is used to install, manage and inspect the tables in the IP packet filter rules within the Linux kernel. With iptables you have the ability to create firewall rules on your Linux computer to allow/restrict access through each network interface. You should be capable enough to list the IP rules, filter a range of IPs and add/remove the rules to the table.
MySQL: If you remember one of our previous articles on LAMP, MySQL should appear to be an obvious entry here too! It is a simple SQL database with GNU readline capabilities which supports interactive and non-interactive use.While it is used interactively, the query results are presented as an ASCII-table. For a non-interactive use, as in a filter, the results are tab-separated. However, the output format can easily be altered using command options.
To work on Linux domain, it would be very possible for you work on Linux-Apache-MySQL-PHP, aka LAMP. Hence, you need to be familiar with a MySQL server.
SSH and OpenSSH: SSH/OpenSSH client is a tool/program for logging onto a remote machine to executing commands over it. You might have to use a lot of SSH while working on a Linux network. Some of the basic requirements are - connecting to a server using SSH and setting up a key-based authentication for SSH.
We shall come up with the remainder of tools in our next article. Meanwhile, we'll be happy to see you master these. Stay tuned!
UPDATE: Part 2 of Career in Linux.