|
|
A Linux distribution or, alternatively, a GNU/Linux distribution (sometimes also called a distro) is a complete Linux operating system: a Linux kernel, a collection of free software releases (usually parts of the GNU system) and sometimes non-free software created by individuals, groups and organizations from around the world.
Companies such as Red Hat, SuSE and MandrakeSoft, as well as community projects such as Debian and Gentoo Linux, assemble and test the software and provide it as a complete system, generally more or less ready to install and use. There are over 100 different Linux distributions in active development.
| Table of contents |
|
2 Composition 3 General-purpose distributions 4 Special-purpose distributions 5 Interdistribution issues 6 See also 7 External links |
Linux distributions began to appear soon after the Linux kernel was first used by individuals outside the original Linux programmers. They were more interested in developing the operating system than in application programs, or the user interface, or convenient packaging. Before the first distributions, a would-be Linux user was required to be something of a UNIX expert, not only knowing what libraries and executables were needed to successfully get Linux to boot and run, but also important details concerning the files in the system; configuration, placement, ... It was not a time for the faint of heart!
Early distributions included:
History
None of these distributions were well maintained, and when the owner of the SLS distribution refused to accept some of his fixes, Patrick Volkerding created the Slackware Linux distribution, the oldest distribution still in active development.
Linux distributions attracted users as an alternative to the Microsoft Windows operating systems on the IBM PC and its clones and to the MacOS on the Apple Macintosh machines, mostly from among people used to Unix from work or school. They embraced Linux for its low cost, and for the inclusion of the source code for most (all in some distributions) of the software included.
The distributions were originally simply useful as a convenience, but today they have become the usual resort even for Unix or Linux gurus. To date Linux has proven more popular in the server market, primarily for Web and database servers (see also LAMP), than in the desktop market.
The Linux kernel and much of the additional software making up a typical Linux distribution is free software; even more of it falls under the somewhat broader definition of open source software. Like all Open Source software (and some Free software), it is distributed by its maintainers in source code form. This allows users to convert the original source code into binary or executable form if they wish (termed compiling). Pre-compiled binaries are also often supplied in distributions.
A Linux distribution almost always offers compiled versions of the Linux kernel, standard system libraries, and assorted programs that make up the rest of an operating system. Many provide an install program / procedure akin to that provided with other operating systems which are distributed in binary form (e.g., Solaris Operating Environment, Microsoft Windows, etc.). Other self-hosting distributions (e.g., Gentoo Linux, etc.) provide the source code of all software but only binaries of a basic kernel, compiler tools (eg, a compiler, make utility and so on), and an installer; the installer compiles all the software specifically for the microarchitecture of the user's machine.
Distributions are normally segmented into packages, each holding a specific application or service; one package may hold a library for handling PNG images, another may contain a number of fonts, while a third one supplies a web browser.
In addition to providing packaged compiled code, most distributions offer tools for installation/removal of packages that are more powerful than simple archiving software. This software is said to be the package management system of the distribution. Each package intended for such a PMS contains meta-information like description, version, "dependencies", etc. The package management system can evaluate this meta-information, to allow package searches, automatic upgrade to newer versions, checking that all dependencies of a package are fulfilled and/or fulfilling them automatically, and more. Package management systems include:
Most distributions install packages, including the kernel and other core operating system components, in a predetermined configuration. Few now require or even permit configuration adjustments at first install time. This is less daunting, particularly for new users, but not always acceptable. Since much software must be carefully configured to be useful, to work correctly with other software or to be secure, local administrators will often be obliged to spend time reviewing and reconfiguring assorted software. Some distributions go to considerable lengths to specifically adjust all (or some) of the software they include to their particular distribution (location of particular files and so on), but not all do so. Some distributions provide configuration tools to assist in this process, but, again, not all. Note that such adjustments may be required for a particular site and that it is not, in principle, possible for anyone including a distribution's designer to preconfigure the software provided to meet individual requirements. As with all operating systems, Linux and its distributions impose a system administration obligation on its users/operators/owners. Linux, and most of its distributors, differ from the usual operating system vendors in not claiming that "no administration is required." Honesty is a virtue, but worries potential users who have been told otherwise in marketing.
By replacing everything provided in a distribution, an administrator may reach a 'distribution-less' state: everything was retrieved, compiled, configured, and installed locally. It is possible to build such a system from scratch, bypassing any distribution altogether, but one needs a way to generate the first binaries until the system is '\'self-hosting (i.e.'', has a bootable kernel, and compilation tools to generate more binaries). This can be done via compilation on another system capable of building binaries for the intended target (possibly by cross-compilation). See Linux From Scratch Guide for instructions.
These are the most popular and therefore the most common distributions of Linux for PCs and other workstations, listed approximately alphabetically; a list by userbase share would have Beehive far lower, and Redhat far higher, among others.:
See: DistroWatch for a comprehensive, up-to-date listing.
They can use different file base distributions (e.g., dpkg for Debian, RPM for Fedora), desktop environment (e.g., KDE, GNOME, XFce), media (e.g., 1 or 2 floppys, LiveCD, bootable Keydrive, only hard disk installation), localization (setting for a language and country), Free software direction or not, for a specific purpose (e.g., firewalls and security, robotics, desktop workstation) and so on.
Some groups compile special purpose Linux distributions as turnkey firewalls, for embedded systems, and for other special purposes.
The Linux Standard Base is an organization devoted to allowing cooperation between different distributions. The Filesystem Hierarchy Standard is also an important tool that significantly eases interdistribution cooperation.
Alien is a program that converts between different Linux package distribution file formats. If you want to use a package from another distribution than the one you have installed on your system, you can use alien to convert it to your preferred package format and install it.Composition
Although Linux distributions typically contain much more software than commercial operating systems, it is normal for local administrators to install software not included with the distribution. An example would be a newer version of General-purpose distributions
Special-purpose distributions
Interdistribution issues