GNU/Linux distributions are generally binary compatible with each other. That means that a program that will work on SUSE Linux will also work on Xandros and Linspire and any other distribution of the same generation and hardware architecture. Like all other operating systems, programs that are compiled for one architecture will not work on others. The only exception is 32-bit x86 binaries, which will work with most 64-bit AMD64 and Intel EM64T computers that are running a 64-bit operating system with a 32-bit binary compatibility layer. Every 64-bit desktop GNU/Linux distribution in existence offers a 32-bit binary compatibility layer by default, and it's so transparent that you can't tell the difference between 32-bit and 64-bit applications under all but the most extreme conditions. Software management and updatingChances are, if you've selected the right GNU/Linux distribution for your needs, you won't have to add any extra software to it. If you do, most distros have software repositories that contain thousands of extra software packages that have been certified to work with your configuration. All you have to do is figure out which programs you want, select them from a list, and everything is installed for you. It's much like using Windows Update. Also like Windows Update, all major GNU/Linux distributions come equipped with a software update framework. Unlike Windows Update, however, GNU/Linux updaters will find patches and bug fixes for all of the software on your computer -- not just the basic operating system. Each distribution has its own specialized update tools, but they are all generally easy to use. On a more basic level, GNU/Linux distributions install software in one of two ways: by compiling from source code, or -- more commonly -- by installing precompiled binary packages. Source-based distributions like Gentoo and Arch still have a software management framework like the big fancy commercial distros, but you have extra options. You can add in compiler flags to make programs a little faster or use less memory, or you can build applications with hooks to other programs so that your software is more interoperable. Binary distributions make guesses as to what your needs will be, and try to cover all of the bases by compiling everything in. In the real world, you're not going to notice much of a difference by adding compiler optimizations and other options, but if you like tinkering with your computer, you'll enjoy the experience. Source-based distros will take a lot longer to manage because it takes time to compile large programs. You can use binary packages to get started, but updates are applied by compiling from source code. A binary installation of the KDE desktop environment takes only slightly longer than the time consumed downloading the binaries from the Internet, but compiling the full KDE system from source can literally take days. The same can be said of such behemoths as OpenOffice.org, GNOME, and Mozilla. Binary distributions almost exclusively use two package formats for programs: RPM (a recursive acronym for RPM Package Manager), and DEB (short for Debian, a GNU/Linux distribution that is commonly used as a basis for others). In the old days, you may have had to go searching for RPMs or DEBs of programs that you wanted. In this day and age, however, you use your package manager to find and retrieve them for you. In the event that you must install one of these packages by hand, there are graphical alternatives to the standard command line tools for installing them. There are even tools available to use DEB packages on RPM-based distros, and vice-versa. Usually programs are packaged in both formats, though. Red Hat (and Fedora Core), SUSE, and Mandriva are three well-known distributions that use RPM packages. Linspire, Xandros, Debian, Ubuntu, and Mepis are some of the most popular DEB-based distributions. Both package formats are heavily entrenched in these and other distributions; neither seeks to replace the other. Occasionally you might see someone on a message forum or mailing list complaining about RPMs and "dependency hell." This is because individual packages usually depend on other packages, and that means tracking down several RPMs to install one program, then doing some command line kung-fu to install them in the right order. Again, this is the old way of doing things -- nowadays you let your package manager do the work for you. Popular package managers include: Hardware managementCommercial GNU/Linux distributions include software that automatically detects and installs the proper drivers for all of your computer hardware and peripherals. Usually it works perfectly without any user intervention necessary. Sometimes it encounters unsupported hardware, or hardware that requires a newer kernel or driver. Some distros share the same autodetection and hardware management code, some have a totally unique hardware management framework. Non-commercial distros are usually good at detecting hardware, but never contain proprietary drivers for ATI and Nvidia video cards, some kinds of wireless network chips, RAID cards, and video capture cards. Drivers for these devices require licensing and distribution agreements that non-commercial distribution developers are generally unwilling to negotiate, agree to, or pay for. This means that if you want to take full advantage of your 3D graphics card, you will have to download and install a proprietary video driver. A simple Google search will usually yield installation instructions. Again, this is best done by adding software repository sources to your package manager instead of installing them by hand. All GNU/Linux distributions of the same era (released within 6 months of each other) will have similar or identical support for computer hardware and peripheral devices, with the above-listed exception that commercial distros often have extra proprietary drivers. Commercial distros make it easy to configure your hardware -- assuming you even have to. Free-of-charge distros can be just as easy in some ways, and much more difficult in others. Desktop environments and themesThe two primary desktop environments in the world of GNU/Linux are GNOME and KDE. Most distros support both, and usually default to one or the other. There are also window managers, which don't have the large number of integrated programs, but are usually considered to be more responsive and efficient on slower computers. Which one you should use is entirely a matter of preference. Aside from desktop environment, each distribution has its own special color, icon, login, desktop, and menu theme. You can change the theme -- there are several dozen good themes available, and more coming out every week -- so don't let the default look and feel of the desktop discourage you. You can make KDE look almost exactly like Windows XP, and you can make GNOME look almost exactly like Apple OS X. Window managers are even more customizable, but often require you to edit configuration files by hand. If you're coming from Windows, you'll find KDE easier to adjust to because it has the same basic graphical layout. If you prefer something that is a little different and possibly more efficient in terms of mouse movements and menu navigation, try GNOME instead. Most desktop distros standardize on KDE, but allow GNOME as well; most "enterprise" distributions (made for business use) standardize on GNOME, but allow KDE as well. In the old days, some popular distros shut out all but the developers' favorite desktop environment, but this is rare or nonexistent nowadays. Proprietary extrasIn addition to the proprietary hardware drivers mentioned previously, there are also proprietary software extras that are an important complement to the desktop computing experience. Most people will, at one time or another, need to access a PDF, Java applet, Flash animation, or video file on the World Wide Web. And when they need to see those files, they need browser plugins to do it. Unfortunately, all of the most functional plugins for these technologies are not free-as-in-rights, and won't be included with the majority of GNU/Linux distributions. If you want them, you have to either choose a commercial distro (there are some recommendations in a section below), or add them by hand. As I've said before, adding them by hand is not necessarily difficult, but it will take some reading and research to get everything working perfectly. If you are not prepared to do this, do not choose a GNU/Linux distro that does not include these extras. RecommendationsIf you don't know what you're doing, don't choose distributions that require a lot of legwork to configure basic services or install extra software. If you are new to GNU/Linux and want a great desktop experience, I recommend trying these distros (listed in no specific order): All of these distros will cost you something -- usually under US $100. A lot of experienced GNU/Linux enthusiasts will recommend non-commercial distributions like Ubuntu, Fedora Core, or Debian. These are good distros and are available free of charge, but require that you add proprietary video drivers and Web browser plugins by hand, and don't have the same kind of automatic hardware management that the four distros I listed above have. That means that you could end up rather frustrated by your GNU/Linux experience. Also stay away from the open source edition of SUSE Linux -- that is also missing many of the proprietary extras that you're used to in Windows or OS X (the commercial version of SUSE does have plugins for Java, Flash, and PDF). It's not tough to add them if you follow this guide, but many people are not prepared to get that technical with their software. If you're looking for a distro that is more suited to server use, try these: Again, people will argue that other distros or Unix-like OSes are better, but the above-mentioned distributions are easy to install, configure, and manage, and come with extensive documentation and commercial support. You will have a much easier time with them, and you're better off going with one of these if you're new to GNU/Linux or Unix-like operating systems in general. You can make virtually any GNU/Linux distribution into a server of any kind; it's just a matter of how much work you have to do to prepare and maintain it. If you don't want to do a lot of work, choose one of the above distros. Non-commercial desktop distributions of note include: If you would prefer more of a challenge, as either a server or a desktop OS, try these distros: Lastly, if you would like to see what a GNU/Linux desktop can look like, you can download Knoppix, a distro that runs entirely from a CD. You write the ISO file to a blank CD-R disc, then restart your computer with the disc in the CD drive. You'll run a whole distribution right from the CD. When you're done playing around, just select the Shutdown menu option, remove the CD from the drive, and restart -- nothing will be written to your hard drive. Is this not what you expected to read?This article is meant to help you understand the basic, fundamental differences between GNU/Linux distributions. If you want an in-depth comparison of several distros, your best bet is to find individual reviews of the ones you're interested in and decide for yourself -- don't let others decide for you. Go to Distrowatch, then find the sections for the distros you want to research. Distrowatch provides links to all of the online reviews of each version of every distro that it tracks -- it's an excellent resource for getting a variety of perspectives on many different GNU/Linux distributions. Discuss this article on the forums. (0 posts) Copyright 2005 Jem Matzan. |