A Linux distribution or GNU/Linux distribution, sometimes also called a distro, is a complete Linux operating system: a collection of free software (mainly the GNU system) and sometimes non-free software created by individuals, groups and organizations from around the world and having the Linux kernel at its core. Companies such as Red Hat, SuSE and MandrakeSoft as well as the community projects such as Debian and Gentoo Linux, compile the software and provide it as a complete system ready to install and use.
Table of contents |
2 General-purpose distributions 3 Consortia 4 Special-purpose distributions 5 Interdistribution converter 6 External links |
Linux distributions started to appear soon after the Linux kernel was used by individuals outside the original Linux programmers, who were more interested in developing the operating system than in the programs or user interface. Before the first distributions, a Linux user was forced to be a UNIX expert, not only knowing what libraries and executables were needed to successfully get Linux to boot and run, but important details concerning the files in the system; it was not a time for the faint of heart!
Early distributions included: MCC Interim Linux, which was made available to the public for download on the ftp server of University of Manchester in February, 1992; TAMU, created by individuals at Texas A & M about the same time, and SLS. None of these distributions were well maintained, and when the owner of the SLS distribution refused to accept fixes he had submitted, Patrick Volkerding created the Slackware Linux distribution, the oldest distribution still in active use.
Linux distributions attracted users as an alternative to the Microsoft Windows operating systems and MacOS on the desktop, mostly among people used to Unix from work or school. They embraced for its low cost, and that the source code was included for most of the software included. It has proven more popular in the server market, primarily for Web and database servers.
The Linux kernel and much of the additional software making up a typical Linux-based system is free software; even more of it falls under the somewhat broader definition of open source software. Like all Free and Open Source software, it is distributed by its maintainers in source code form. This form has to be compiled into binary or executable form first before it can be run directly.
A Linux distribution offers compiled versions of the Linux kernel, standard system libraries, and assorted programs that make up an operating system. Many provide an install process similar to other operating systems which are distributed in binary form (Solaris Operating Environment, Microsoft Windows, etc.) Other self-hosting distributions (Gentoo Linux, etc.) provide the source code of all software and binaries only of a basic kernel, compiler toolchain, and installer, and the installer compiles all the software specifically for the machine's microarchitecture.
Distributions are normally segmented into packages, each one 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 just 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 would contain 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.
Although Linux distributions often contain much more software than the typical commercial operating system, it is normal for administrators to install software that is not available through the distribution (or only in an older version). If this software is distributed in source form, this involves compilation. However, if a program is installed from source code (such as a new version of a program for which the distribution publisher has not yet created a package), the state of the system may fall out of synchronization with the state of the package manager's database, and the user will need to override the package manager's dependency checker.
Typical distributions also incorporate some configuration management, as many programs need to be configured correctly to be useful. A default configuration tuned to the distribution may be provided, or the administrator may be queried for configuration information by means easier than the traditional editing of configuration files.
By replacing everything provided by a distribution, an administrator may reach a distribution-less state: everything was retrieved, compiled, configured, and installed by oneself. It is possible to build such a system from the start, but one needs a way to generate the first binaries until the system is self-hosting (has a bootable kernel, and compilation tools to generate more binaries). This can be reached via compilation on another system that is able to build 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 ( deb for Debian, RPM for Fedora and similar and so on), desktop environment (KDE, GNOME, Fluxbox...), media (1 or 2 floppys, LiveCD, bootable Keydrive, only hard diks installation), localization ( for a language, country), Free software direction or not, for a specific pourpose ( firewalls and security, robotics, ...) and so on:
Some groups compile special purpose Linux distributions as turnkey firewalls, for embedded systems, and for other special purposes.
Special-purpose Linux Distributions:
Alien is a program that converts between different linux distribution file formats ( like rpm, dpkg, stampede slp, and slackware tgz). 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. [1].
See also: List of popular Unix programsOverview
General-purpose distributions
Consortia
Special-purpose distributions
There are more than 100 different Linux distributions. See the external links for additional lists of distributions.Interdistribution converter