Search

The Online Encyclopedia and Dictionary

 
     
 

Encyclopedia

Dictionary

Quotes

 

Linux distribution

(Redirected from GNU/Linux distribution)

A Linux distribution or GNU/Linux distribution (or a distro) is a Unix-like operating system plus application software comprising the Linux kernel, the GNU operating system, assorted free software and sometimes proprietary software, all created by individuals, groups or organizations from around the world.

Companies such as Red Hat, SUSE and Mandriva, as well as community projects such as Debian and Gentoo Linux, assemble and test the software and provide it as a complete system, more or less ready to install and use. There are over 200 different Linux distributions in active development.

Contents

History

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 configuration and placement of files in the system.

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, the user interface or convenient packaging.

Early distributions included:

None of these distributions were well maintained, so Patrick Volkerding released a distribution based on SLS, which he called Slackware; this is the oldest distribution still in active development.

Linux distributions attracted users as an alternative to the Microsoft Windows operating systems on the PC and to Mac OS on the Apple Macintosh. Most early adopters were used to Unix from work or school. They embraced Linux for its stability, low cost and for the inclusion of the source code for most or all of the software included.

The distributions were originally simply 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.

Composition

The Linux kernel, GNU, and most of the additional software making up a typical Linux distribution are free and open source software, distributed by its maintainers both as pre-compiled binaries and in source code form, allowing users to compile the original source code into binary or executable form if they wish.

A Linux distribution almost always offers compiled versions of the Linux kernel, GNU 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 (e.g, 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 file archiver. 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:

  • RPM — now RPM Package Manager, but originally Red Hat Package Manager, originally from Red Hat but now used by many other distributors as well
  • debDebian package, originally from Debian but also used by others
  • tgz or tar.gz — standard tar + gzip, possibly with some extra control files — used by Slackware and others, or sometimes when distributing very simple handmade packages
  • ebuild — the file containing information on how to retrieve, compile, and install a package in Gentoo's Portage system using the command emerge. Typically these are source-primary installs, though binary packages can be installed in this fashion as well.
  • src — building the packages from source (often binary packages are provided in parallel on many systems).

Although Linux distributions typically contain much more software than proprietary operating systems, it is normal for local administrators to install software not included with the distribution. An example would be a newer version of a software application than that supplied with a distribution, or an alternative to that chosen by the distribution (e.g., KDE rather than GNOME or vice versa). If the additional software is distributed in source-only form, this approach requires local compilation. However, if additional software is locally added, the 'state' of the local system may fall out of synchronization with the state of the package manager's database. If so, the local administrator user will be required to take additional measures to ensure the entire system is kept up to date, that all required patches are installed, etc. The package manager may no longer be able to do so automatically.

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 distributors differ from most operating system vendors in not claiming that "no administration is required." This honesty can worry 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.

Choosing Linux distributions

Read Comparison of Linux distributions to help make up your mind about which distribution to use.

These are the most popular according to [1] and therefore the most common distributions of Linux for PCs and other workstations, listed alphabetically.

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.

Interdistribution issues

The Linux Standard Base is an organization devoted to allowing co-operation 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.

See also

External links

Last updated: 08-27-2005 00:54:39