Photo by x_jamesmorris
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.
Photo by SurfStyle
Most of us admire free beer and free softwares? The former might not be true for all, but I’m sure you all would agree to the software thing! Has it not been true, more than 60% of the internet users would have not been hitting the websites offering cracks and serials (and they would have not mushroomed to an such an extent. Thanks to Google’s Adsense!)
But what if you are a proud owner of a software — be it an application software, a system software or a game that’s free, and may even be registered to you? This was the idea which created the first impression about Free and Open Source Softwares (FOSS) into the minds of the developers around the world who were busy working great, but under the slavery of softwares which were of closed source and high acquisition cost.
FOSS has risen to great prominence. Briefly, Open Source Softwares and Free Softwares are programs whose licenses give users the freedom to run the program for an indefinite time period, to study and modify the program, and to redistribute copies of either the original or modified program (without having to pay royalties to previous developers).
Open source is inevitable as it gives control to the customer. Bugs are more quickly discovered and fixed. And when a customer doesn’t like how a vendor is serving him, he can choose another without overhauling his infrastructure. No more monopolies. No more
What exactly happens with the closed source softwares?
In the proprietary closed source model, the entire development cycle evolves within a single company. Programmers write code, hide it behind binaries and charge the customers to use the software. Thereafter, they add fee for the after-sales support — to fix the software if and when it breaks. No one ever gets to know how bad the software really is!
Taking about Open source, we talk about a large, Internet-connected, worldwide community which backs up the entire project. It involves geeks, students, working-from-home engineers and entrepreneurs, tech savvy moms, and anyone you can think of!
To have an idea of how has the fan following for FOSS increased, look at the graph below. Apache’s Tomcat leads the way. Yes, it’s yet another FOSS!
Why Open Source?This is what RedHat has to say on this;
All software is written with source code. With open source software, the code is protected by a special license that ensures everyone has access to that code. That means no one company can fully own it. Freedom means choice. Choice means power.The entrepreneurs may still rely on paid products and services but the geeks, students and dare-to-do computer professionals are definitely eying on FOSS. It is like a revolution in the field of computing that people have started to believe in sharing information rather than conserving it or hiding it from the world. This concept has led to a movement — to attain new heights and achieve new goals, which were previously overshadowed due to the reign of closed source softwares.
Talking about the developers and would-be-developers, the platform and support for tools and framework is a key concern guiding them to decide an Operating System. Now-a-days, A new web server infrastructure — LAMP is the cynosure of all eyes.
The acronym LAMP (Linux, Apache, MySQl, PHP/Perl/Python) refers to a solution stack of software, usually FOSS, which is used to run dynamic websites or servers. The well-defined tools of LAMP web development exist in nearly every Linux distribution. They include:
- Linux operating system
- Apache web server
- MySQL database application
- PHP scripting language
- Perl programming language
- Python programming language