One of the things that is very confusing to new Linux enthusiasts is the "distro," or distribution. And one of the most confusing things about distributions, for the beginner, is that there is no official definition of what a distribution is, exactly: distributions existed in many forms long before anyone cared.
To venture my own definition, a distribution is a bundling of the Linux kernel with other software and services. That's it. In general, the kernel is the same, so what you are selecting is the style of installation, the tools you want, and the level of support that you need to have.
Why do I need this distribution of which you speak?
If you're going to use Linux, you have to get it loaded on your computer somehow. The easiest way is to get a bootable CD containing Linux and follow its installation procedure. But when you surf around to find Linux, it's like hitting the cereal aisle at a grocery store. There are serious-looking distributions, silly-looking distributions, many with heavy branding and crazy names. Some are free. Some have cost. How do you choose?
Anatomy of a Linux distribution
As Figure 1 shows, a distribution starts with the Linux kernel. On top of that will typically be the GNU libraries and utilities, which provide higher level access to kernel functionality and the means to do higher level programming. Applications are bundled on top of that. Installation programs and utilities are added along with documentation and often some level of support.
Figure 1. The Linux distribution pyramid
For those who don't speak geek, the kernel is the core software that makes up an operating system. It is the base set of instructions that allows software to talk to your hardware. Everything you run, such as a command-line shell, a graphical window system, or a Web browser are applications running on top of that kernel.
Most distributions are general purpose, striving to provide an environment suitable for a server or desktop environment, whereas others specialize. For example, Yellow Dog Linux focuses on the POWER™ architecture. Debian focuses on Free Software, excludes proprietary packages, and strives for stability. Other distributions focus on even more specific uses. VideoLinux, for example, focuses on video encoding and DVD authoring.
Because Linux is Free Software, anyone with the desire can put together and release a distribution. Since humans like to make things, this has created a confusing proliferation of distributions. Fortunately, the beginner can safely ignore most of them. Your goal is to get started, so let's set up a small pool of distributions to choose from. As you get more experienced, you may choose to blaze your own trail through the "distro jungle" and pick something else to play with.
The first decision is whether to go for a community or a commercial distribution.
A commercial distribution will cost you money, though typically much less than you would pay for some other operating systems. For the money you will get nice CDs, documentation, and some level of technical support. You will get a company that pays people to work with Linux as a product. If you are using Linux for your business, it is probably a good idea to use a commercial distribution. Some of your business software may even require that you use specific commercial distributions in order to get support.
Right now, the real leaders in the commercial Linux space are Red Hat and Novell SUSE (see Resources for links to these and other distributions mentioned in this article).
Community distributions abound. They are assembled and maintained by enthusiasts and volunteers. While they may be very good and sound, they are not commercial businesses.
You will most likely not find them in stores, and they will probably not have a tech support line for you to call. With these distributions, help is usually provided by the user community in the form of on-line discussion forums.
A community distribution might be a little dismaying to those who are used to software from a box for a price. It is easy to discount these distributions as being too lightweight for "serious" work. Yet many of the most popular distributions, such as Ubuntu, are community-based. Also a community distribution generally has no restrictions on how you may use it. You can install it freely on as many systems as you wish, make changes, and generally do whatever you want with it.
A commercial distribution may have restrictions, such as supporting only a kernel provided by the distributor, or limitations on the number of systems or CPUs that are supported. Commercial distributions might have legal restrictions on the software they include. This is a common issue with applications such as multi-media players where there are disputes over the legality of codecs. Commercial distributions tend to simply not include the controversial items, whereas community distributions are often more daring.
Community editions will often include a greater variety of applications. You'll tend to find more things such as games, scientific toys and tools, and other such software that would not be expected in a commercial IT environment.
If you're not using software packages that require a commercial distribution, a commercial edition can be a way to save money. It is common in Linux shops to see commercial distributions applied to production servers while community distributions perform various useful functions on less critical systems.
Popular community distributions include Fedora, OpenSuse, Debian, Mandrake, Knoppix, and Ubuntu. I personally use OpenSuse and Ubuntu.
I have also used Knoppix for some situations. I don't have any problems with the other distributions, I just had to choose something.
The good news is that the software that you will run in Linux will generally run in any distribution, so you can pick what you like and even change your mind along the way. It makes sense to pick a distribution being used by others like you, so look around a little at other Linux users in your area or industry. If you don't know any Linux users, they are easy to find. Every community distribution has forums available to ask questions and share. You can also probably find a Linux User Group near you where you can meet and share in person.
You can find out about pretty much all the distribution by checking out the DistroWatch Web site (see Resources for a link).
One of the outstanding developments in Linux that you should explore is the "LiveCD." This is a Linux distribution that runs entirely off of a bootable disk without making any changes to your system. You simply boot from the CD (or DVD) and you are running Linux until you turn off the computer. It's a great way to get your feet wet and learn about Linux without having to fully commit a resource. It's also a handy way to carry Linux for your computing tookit. I know of a situation where a Windows user booted a Linux LiveCD to surf the Internet and find a solution when his Windows wouldn't boot. He didn't make the next logical decision to start using Linux full time, although he did admit it was very easy to use.
There are several choices for LiveCDs. Knoppix was the first I recall seeing, but there are many others. Novell SUSE (and OpenSuse) have a LiveCD. Ubuntu is a LiveCD that can be installed. Because of their usefulness, most distributions will probably have a LiveCD in the future, if they don't already.
You might want to bear a few things in mind when selecting a distribution:
-
Does this distribution meet my core needs for using a computer?
If you are using a computer for commercial purposes, you should probably consider a commercial distribution. If you are doing development, you probably don't need a lot of games. If you are doing Web surfing, you probably don't need a lot of database servers. -
What is the track record for the distribution?
There's nothing wrong with trying new things, but some distributions are real fly-by-night operations. They were experiments by someone exploring the technology and they are not intended for supported use. See how long your distribution has been around and make sure it has a foundation. All of the distributions I have mentioned are well established. -
Does the distribution follow the standards?
There are standards for working with Linux. One of the important commercial standards is the Linux Standard Base (LSB; see Resources for a link). These standards define the base pieces that should make up a Linux distribution, where files should be located, installation methods, and so on. Some of the requirements are deeply technical, so it makes for pretty dry reading. For the most part, only commercial distributions are certified. However, one of the easy-to-identify standards is whether a distribution is RPM-based. RPM (which stands, recursively, for RPM Package Manager) is a style of installing software in Linux that has become the LSB standard. If you select a distribution that uses RPMs, you will have better odds for compatibility and flexibility when managing commercial software. -
Can I get help?
You will need help from time to time. Everyone does. Does your distribution have good support communities? Look around at some of the discussion areas and see if they are organized in a way that you find useful. Poke around and see if they seem to answer questions you have. You will also find many other resources for support including instant chats and user groups. Generally, the home site for your distributions will have pointers to resources that are available. As you work with them you'll be introduced to others. It is a very different model from picking up the phone and calling a help desk, so it may take some getting used to. However, if you choose a commercial distribution, you are paying to be able to make that phone call. It's all up to you. -
You can change your mind.
Picking a distribution is not a marriage or a fiefdom. You can change your mind. You may need to back up and restore your data if you decide to switch distributions, but you can do it -- so don't be afraid to take that first step. Pick something to start with, and if you decide you want to change later, you can.
Distributions really aren't that difficult to deal with. Just like the cereal aisle, you pick something you like and can pretty much ignore everything else.
Learn
- At
DistroWatch, you can find out about pretty
much any distribution.
- The
Linux Standard Base is one of
the important commercial standards.
- These Wikipedia articles contain good
background information:
-
Linux User Groups (also known as LUGs)
meet in cities and countries around the world—and are well known for being
very friendly even to very new users.
-
"Anatomy
of the Linux kernel" (developerWorks, June 2007)
introduces the Linux kernel's major subsystems and core interfaces.
- O'Reilly thinks it's
time
for the concept of a Linux "distribution" to go "Web 2.0".
- Learn more about Free Software at the
Free Software Foundation Web site. Because Linux
is Free Software, anyone with the desire can put together and release a
distribution.
- In the
developerWorks Linux zone,
find more resources for Linux developers, including
Linux tutorials,
as well as
our readers' favorite Linux articles and tutorials
over the last month.
- Stay current with
developerWorks technical events and Webcasts.
Get products and technologies
-
Order the SEK for Linux,
a two-DVD set containing the latest IBM trial software for Linux from DB2®,
Lotus®, Rational®, Tivoli®, and WebSphere®.
- With
IBM trial software,
available for download directly from developerWorks, build your next development
project on Linux.
Discuss
- Get involved in the
developerWorks community
through our developer blogs, forums, podcasts, and community topics in our new
developerWorks spaces.
Chris Walden is an e-business Architect for IBM Developer Relations Technical Consulting in Austin, Texas, providing education, enablement, and consulting to IBM Business Partners. He is the official Linux fanatic on his hallway and does his best to spread the good news to all who will hear it. In addition to his architect duties, he manages the area's all-Linux infrastructure servers, which include file, print, and other application services in a mixed-platform user environment. Chris has ten years of experience in the computer industry ranging from field support to Web application development and consulting.




