Linux for Beginners

It's free! You can tailor it to your own needs! There's a distro for every need! Sure, Linux is tempting, but getting started isn't so easy. eWEEK Labs offers advice for getting your head, and your organization, around Linux.

Linux is getting hotter and more mainstream all the time—enough so that even IT administrators who deal primarily with Windows would do well to get their feet wet with Linux.

After all, even Microsoft, through its recent deal with Novell, has begun to cozy up to Linux. However, Linux can be confusing for newcomers, even those whore already quite proficient with other platforms. Whether youre looking to bring Linux into your enterprise or you just want to know what all the fuss is about, learning about Linux is well worth your time. eWEEK Labs has gathered some advice for striking out into what, for many, is new terrain.

Understand How Linux Is Different

Some of the greatest benefits and most confusing aspects of Linux are rooted in the fact that theres no one Linux—rather, there are many different operating systems based on the Linux kernel.

Theres not just one Linux kernel, either, but various versions and patched flavors of the kernel. And not every Linux kernel is compiled in the same way: Some are stripped down, while some ship with everything enabled but the kitchen sink.

The good thing about this is that you can tailor Linux to your needs and fix certain problems yourself. (In contrast, most problems with Windows need to be fixed by Microsoft.)


The obvious downside to all this is complexity: What version am I running again? Ive got to compile the kernel?

Linux also can cause some tricky software compatibility problems.

Kernel changes often break software. This isnt a Linux-only problem—we see it with certain applications when Apple updates Mac OS X, and were seeing issues now with Microsofts Windows Vista—but there are so many Linux distributions and so many possible versions of these distros that there need to be many versions of applications—in particular, applications that link against the kernel.

The Linux kernel ships with most of the drivers you need. These drivers are compiled along with the kernel, so theyre automatically paired up properly. For proprietary applications, however, this isnt an option. The Linux version of VMware, for example, ships with a setup utility that compiles drivers for the Linux kernel version youre running. Its the same thing with Nvidias proprietary driver. This can be a pain and requires having a compiler and kernel header files installed.

/zimages/3/128936.gifA new type of Linux distribution called rPath combines the strength of Linux, virtualization and appliances to create a useful application platform for both ISVs and businesses. Find out more in this podcast.

Thats all pretty tricky, and thats only the kernel. Clustered around the kernel are hundreds of other applications, most of which have been developed by separate projects. Its all a bit dizzying in scope, but there are distributions to tie everything together and make it easier to understand.

The existence of various distributions does make Linux more complicated to take on than Windows or Mac OS X— both of which have less variability among different versions—but having different Linux flavors also means that different groups of people can pursue different directions at once.

As with all the kernel-related variability, the heterogeneity among Linux distributions can present software compatibility issues: Software developers are less able to deliver versions of their applications for "Linux" because each distribution consists of a different mix of applications. Again, the solution to this compatibility problem tends to be that each distribution provider builds and packages software to fit. Linux distributions tend to ship with many more "out of the box" applications than do Windows or Mac OS X. For applications that projects do not distribute themselves, you can sometimes find third-party packaging efforts that have already packaged the applications you need. You can request that the project or one of these third-party packagers create the package youre looking for. You can also create a package yourself, but creating your own package is an intermediate-advanced topic, so, for now, well move on to setting up your Linux testbed.

Setting Up Your Test Bed

The easiest way to test a Linux distribution is to do so with a virtualization product, such as VMwares Player, Workstation or Server; Microsofts Virtual PC or Virtual Server; or Parallels Workstation. All these options run on Windows, and they are either free or available in time-limited evaluation versions. Parallels Workstation also runs on Mac OS X.

We think VMware Player is, at this point, the simplest of these solutions. Player is free, there are many Linux distributions ready for download in the Player format, and Player runs both on Windows and Linux. So, if youve fallen in love with Linux, youll be able to switch from running Linux guests in a Windows host to running Windows guests in a Linux host. VMware player is downloadable here.

In addition to VMware Player, we suggest picking up software for making terminal connections and for copying files to and from your Linux virtual machine via OpenSSH. For Windows, we suggest Putty as an SSH client, and WinSCP for accessing files. Both applications are open source and freely available.

While you can access your Linux distribution of choice through the interface of VMware Player or another virtualization client, its easier to to cut and paste terminal commands from the Web browser running on your host machine if you have a remote SSH connection to your VM. Also, while every Linux distribution supports file sharing with Windows via Samba, its much easier to access files on your Linux VM via SCP (Secure Copy) or SFTP (SSH FTP).

Next Page: Choose a distribution.