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.
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).
Choose a Distribution
Choose a Distribution
Now its time to choose a distribution to test. If you change your mind at some point or want to evaluate more than one distribution, your virtualization-based testbed will be quite amenable to the shift.
When considering which distribution to test, you should first ask yourself whether theres a family of distributions that youre interested in learning about or if theres specific functionality youre interested in using.
While there are many different Linux distributions out there, lots of them trace their heritage back to one of a few particular parents, and the major families of distributions have their own ways of organizing packages and administration processes.
Also, consider whether you have a Linux guru available to you for answering questions or explaining concepts—if you do, it might be a good idea to start out with the same distribution that this person uses, as this will make it easier for him or her to help you.
Following are brief evaluations of four different Linux distributions, each of which is free and ships with a comfortable GUI and access to pretty much all the software resources available to Linux. Not all of these are necessarily suitable for production use themselves, but they offer good entry points to different segments of the overall Linux world.
Red Hats Fedora is the cutting-edge sibling of Red Hats more staid, stable and costly RHEL (Red Hat Enterprise Linux). The skills you develop using Fedora will transfer directly to RHEL, and running Fedora will give you early access to the features that will eventually make their way into RHEL.
While Fedora is billed as a community-supported, hobbyist-and-developer-focused distribution, the directions in which Fedora moves have everything to do with Red Hats enterprise goals.
On the plus side, this means that Fedora is home to some pretty advanced functionality. For instance, Fedoras support for boosted security through SELinux (Security Enhanced Linux) is unmatched, and other groundbreaking projects such as Stateless Linux call Fedora home.
On the negative side, Fedora is less focused on user happiness than some other popular distributions. Fedora is, however, very popular, and this popularity pays dividends in part through access to lots of third-party software packaging resources.
There are a few VMware Player images of Fedora Core 6 available for download here.
Generally speaking, OpenSUSE is to Novells SUSE Linux Enterprise distributions what Fedora is to Red Hats RHEL. Novells enterprise distributions battle for the same customers as Red Hats enterprise distributions do, but SUSE and OpenSUSE tend to offer more in the way of graphical creature comforts than do Red Hats distributions.
While Red Hat was offering up its original Red Hat Linux for free download and battling for service contract dollars from large enterprises migrating from Unix, SUSE was attempting to go head-to-head with Windows on retail shelves, without any such free download option. Back when Windows XP first shipped, boxed copies of SUSE offered what was probably the slickest and Windows-comparable desktop experience at the time.
Now, OpenSUSE is as free as Fedora, but under Novell, SUSE is still targeted more directly at being a Windows replacement than are Red Hats distributions, and it shows in little touches such as the distributions Windows-like start menu.
Novells enterprise ambitions for SUSE also translate to distinctive, server-focused functionality, such as its partial answer to SELinux, AppArmor. As with Fedora, OpenSUSEs popularity means ample third-party resources, and Novells newly launched package-building service looks promising as well.
Theres a VMware Player image of OpenSUSE 10.2 (complete with the latest version of the mono development framework) available for download here.
If youre interested in learning more about Linux, youve probably heard about Ubuntu, which has, in just a couple of years, managed to leap into prominence among Linux-based OS options. Ubuntu owes this success in large part to the Debian GNU/Linux foundation on which its based.
Just as the business plans of Red Hat and SUSE shaped the Fedora and OpenSUSE we see today, so, too, did Debians noncommercial status shape it.
Debian in the past tended to be less approachable than other distributions, but what it lacked in polish it made up for in the excellence of its software packaging tools and the strength of its organization of volunteer developers.
Then, just over two years ago, Ubuntu emerged under the patronage of Mark Shuttleworth as a slick, end-user-oriented spinoff of Debian that quickly began winning over converts to the Debian family. Ubuntu lacks the big-name IT vendor support that RHEL and SUSE boast, but Ubuntu is rising fast. Most recently, commercial Linux distributor Linspire announced that it would be basing its future releases on Ubuntu.
There are a few VMware Player images of Ubuntu 6.10 available for download here.
Foresight Linux is a relatively new Linux distribution thats focused on delivering an up-to-date GNOME-based desktop environment. What earns Foresight a spot in this shortlist of Linux distributions for consideration is the rPath Linux foundation on which its built.
rPath Linux is sort of a reference Linux distribution from which ISVs or individual users may pick and choose components to build Linux-based software appliances or full-fledged Linux OSes.
rPath provides hosting and build tools for the distributions that its users create, all of which are tied together by rPaths next-generation software management tool, Conary. Weve found that Conary offers a good balance between the stability and prebuilt package benefits of distributions such as Fedora and Ubuntu, and the flexibility and control virtues of source-based distributions such as Gentoo.
In our experience, weve found that its much easier to create software packages for Conary than for the four other distributions weve mentioned here. If youre interested in trying out and learning about rPaths new software management concepts in the context of the desktop software with which youre probably already familiar, Foresight is a good starting point—as well as a nice desktop Linux distribution.
Theres a VMware Player image of Foresight here.
Getting Your Grounding
Getting Your Grounding
If youre beginning your Linux exploration with a premade VM, take note of the default password and user name specified on the VMs download page, extract the VM, open it up, and youre in business. If you opt to download the distributions installation media, configure a new Linux VM in your virtualization application, give it at least 256MB of RAM (although 512MB would be better) and create a virtual disk of about 10GB.
Configure a CD/DVD drive for your new VM that points to disc one of your distribution of choice. When downloading installation media for a distribution that spans multiple CD images, its easier to choose the DVD option, if available, so that you wont have to worry about swapping iso images to get through the installation.
After booting from the installation media, you should be able to make your way through the process using the classic next-next-next installation strategy. While different distributions handle custom installation paths with varying levels of aplomb, all four Linux options weve mentioned make basic installations fairly foolproof.
Either during installation or upon initial boot, youll create a root user—also known as a superuser—which is the same thing as administrator on Windows. Youll also create a regular user, which is the account you should use while running your distribution of choice.
As Microsoft has recently begun to impress upon Windows users—starting with Vista and its UAC (User Account Control) capabilities—keeping administrative and regular-user rights separate is an important practice to enforce. Fortunately, Linux distributions have been on the least-privilege bus for quite a while now, and you can expect that graphical administrative applications will prompt you for your root password if rights elevation is required.
Ubuntu ships out of the box with an application called sudo enabled throughout the interface. Sudo lets users “do as superuser” by providing their own password when rights elevation prompts appear. If you prefer the single-password approach that sudo delivers, any distribution may be configured to use sudo. With or without sudo, you can always become the superuser by running the command “su” from a terminal and then providing the root password.
Once your new Linux distribution is up and running and youve spent some time kicking the tires, there are some housekeeping duties to which you should attend, including fetching updates and searching for and installing software. Youll find a link to your distributions terminal in its applications menu, usually in the accessories subfolder.
Alternatively, on a GNOME desktop, you can open a terminal by hitting Alt-F2 and typing gnome-terminal. When carrying out command-line operations with VMs, we typically find it easiest to open an SSH session to your guest OS, for which Putty is a very good Windows-based option. Many distributions ship with OpenSSH server installed out of the box. If not, you can install that software using your distros software management tools.
Fedora: Run su -c “yum update” from the terminal, or run the graphical application pup.
OpenSUSE: Run the software update tool in OpenSUSEs Yast management console; OpenSUSE currently—and somewhat confusingly—offers multiple software update options for command line use. See http://en.opensuse.org/Package_Management/Tools for more information.
Ubuntu: Run sudo apt-get update && sudo apt-get dist-upgrade from the command line to first update your systems list of available packages, and then apply all available updates. Alternatively, an update applet that appears in the upper-right corner of your display will prompt you when updates are available. You may also update software from the graphical software management tool, synaptic.
Foresight: Run sudo conary updateall from the command line, or update through the Web-based Foresight System Manager.
Finding and Installing Software
Fedora: Run su -c “yum install [name of application]” from the command line. If you dont know the exact name of the application, this isnt going to work. Try opening the graphical application called Pirut to browse through and install available software.
OpenSUSE: Again, your best bet is using the software installation tool that lives within Yast. See the above link for command line options.
Ubuntu: Ubuntu sports an add & remove software tool with a fairly simple interface, but we prefer Synaptic for our browsing and installation needs. From the command line, install packages with sudo apt-get install [package name].
Foresight: Software installation is noticeably less mature with Foresight/rPath than with other distributions. You can browse for packages at rpath.org. If the package in which youre interested lives in the repositories of Foresight or rPath, you can install it by typing sudo conary update [packagename] at a command line.
While Linux-based OSes have grown quite a bit more approachable and predictable during the past several years, getting acquainted with Linux can still be frustrating.
Fortunately, there are lots of helpful people out on the Internet who can answer your questions. Even better, theres a pretty complete log of the past questions and issues that others have already faced and solved waiting for you at your search engine of choice. Whats more, every distribution worth its salt maintains a variety of outlets for distributing information and offering help, including project wikis, mailing lists, IRC (Internet Relay Chat) rooms, user forums and project blog sites.
- Fedora Project wiki
- Fedora mailing lists (the ones with names that contain “fedora”)
- Fedora IRC rooms
- Fedora forums
- Fedora people blog
- Fedora software management
- OpenSUSE wiki
- OpenSUSE mailing lists
- OpenSUSE IRC rooms, newsgroups, blogs and forums
- OpenSUSE software management
- Ubuntu wiki
- Ubuntu mailing lists
- Ubuntu forums
- Ubuntu IRC rooms
- Ubuntu blogs
- Ubuntu software management
- Foresight wiki
- Foresight mailing lists
- Foresight IRC: #foresight on irc.freenode.net
- Foresight forums
- Foresight blogs
- Foresight software management
Check out eWEEK.coms for the latest open-source news, reviews and analysis.