Linux distribution

From Wikipedia, the free encyclopedia
Jump to: navigation, search

A Linux distribution (often called distro for short) is an operating system made as a collection of software based around the Linux kernel and often around a package management system. Linux distributions are available for a wide variety of systems, from embedded devices and personal computers up to the powerful supercomputers with specialised functionalities (for example, Rocks Cluster Distribution distribution), or down to small embedded systems (for example, OpenWrt distribution). Most distributions come ready to use and pre-compiled for a specific instruction set, while others (such as Gentoo) are distributed in source code form and compiled locally during installation.

Linux distributions are primarily based on free and open-source software, at least partially; that part includes the Linux kernel and usually a very large collection of software of all sorts. They usually come with a graphical user interface, by adapting and packaging free and open-source implementations of one or more of the available windowing systems, the most common being the X Window System. Usually, Linux distributions include some proprietary software that may be optional, such as binary blobs required for some device drivers.[citation needed] Because of the huge availability of software, distributions have taken a wide variety of forms – including fully featured desktop, server, laptop, netbook, mobile phone, and tablet operating systems, as well as minimal environments typically for use in embedded systems.

A Linux distribution is most simply described as a particular assortment of application and utility software, packaged together with the Linux kernel in such a way that its "out-of-the-box" capabilities meet most of the needs of its particular end-user base. The software is usually adapted to the distribution and then packaged into software packages by the distribution's maintainers. The software packages are available online in so-called repositories, on various servers around the world. Beside glue components, such as the distribution installers (for example, Debian-Installer and Anaconda) or the packages management systems, there are only very few packages that are originally written from the ground up by the maintainers of a Linux distribution.

A typical Linux distribution comprises a Linux kernel, GNU tools and libraries, additional software, documentation, a window system, window manager, and a desktop environment. Most of the included software is free software/open-source software which is distributed by its maintainers both as compiled binaries and in source code form, allowing users to modify and compile the original source code if they wish. Other software included with some distributions may be proprietary and may not be available in source code form. Linux distributions are almost universally Unix-like as described; the most notable exception is Android, which does not include a command-line interface and programs made for typical Linux distributions.[1]

There are currently over six hundred Linux distributions; over three hundred of those are in active development, constantly being revised and improved. One can distinguish between commercially backed distributions, such as Fedora (Red Hat), openSUSE (SUSE), Ubuntu (Canonical Ltd.), and Mandriva Linux (Mandriva), and entirely community-driven distributions, such as Debian, Slackware, Gentoo and Arch Linux.

History[edit]

A timeline representing the development of various Linux distributions[2]

Linus Torvalds developed the Linux kernel and distributed its first version, 0.01, in 1991. Linux was initially distributed as source code only, and later as a pair of downloadable floppy disk images – one bootable and containing the Linux kernel itself, and the other with a set of GNU utilities and tools for setting up a file system. Since the installation procedure was complicated, especially in the face of growing amounts of available software, distributions sprang up to simplify this.[3]

Early distributions included the following:

  • H. J. Lu's "Boot-root", the aforementioned disk image pair with the kernel and the absolute minimal tools to get started
  • MCC Interim Linux, which was made available to the public for download in February 1992
  • TAMU, created by individuals at Texas A&M University about the same time as the MCC Interim Linux[citation needed]
  • Softlanding Linux System (SLS), released in 1992, was the most comprehensive distribution for a short time, including the X Window System
  • Yggdrasil Linux/GNU/X, a commercial distribution first released in December 1992

The two oldest and still active distribution projects started in 1993. The SLS distribution was not well maintained, so in July 1993 a new distribution, called Slackware and based on SLS, was released by Patrick Volkerding.[4] Also dissatisfied with SLS, Ian Murdock set to create a free distribution by founding Debian, which had its first release in December 1993.[5]

Users were attracted to Linux distributions as alternatives to the DOS and Microsoft Windows operating systems on IBM PC compatible computers, Mac OS on the Apple Macintosh, and proprietary versions of Unix. Most early adopters were familiar with Unix from work or school. They embraced Linux distributions for their low (if any) cost, and availability of the source code for most or all of the software included.

Originally, the distributions were simply a convenience,[citation needed] but later they became the usual choice even for Unix or Linux experts.

To date, Linux has proven more popular in the server market, primarily for Web and database servers (for example, in the LAMP stack), and in embedded devices market than in the desktop market.

Components[edit]

A Linux distribution is usually built around a package management system, which puts together the Linux kernel, free and open-source software, and often some proprietary software.
Components of a Linux distribution

Because the Free Software Foundation considers Linux to be a variant of the GNU operating system, it prefers the name GNU/Linux when referring to the operating system as a whole; see GNU/Linux naming controversy for more details.

Many distributions provide an installation system akin to that provided with other modern operating systems. Some distributions like Gentoo Linux and T2 include only binaries of a basic kernel, compilation tools, and an installer; the installer compiles all the requested software for the specific microarchitecture of the user's machine, using these tools and the provided source code.

Package management[edit]

Distributions are normally segmented into packages. Each package contains a specific application or service. Examples of packages are a library for handling the PNG image format, a collection of fonts or a web browser.

The package is typically provided as compiled code, with installation and removal of packages handled by a package management system (PMS) rather than a simple file archiver. Each package intended for such a PMS contains meta-information such as a package description, version, and "dependencies". The package management system can evaluate this meta-information to allow package searches, to perform an automatic upgrade to a newer version, to check that all dependencies of a package are fulfilled, and/or to fulfill them automatically.

Although Linux distributions typically contain much more software than proprietary operating systems, it is normal for local administrators to also install software not included in 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 (for example, KDE Plasma Workspaces rather than GNOME or vice-versa for the user interface layer). 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 will be required to take additional measures to ensure the entire system is kept up to date. 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 makes installation less daunting, particularly for new users, but is not always acceptable. For specific requirements, much software must be carefully configured to be useful, to work correctly with other software, or to be secure, and local administrators are often obliged to spend time reviewing and reconfiguring assorted software.

Some distributions go to considerable lengths to specifically adjust and customize most or all of the software included in the distribution. Not all do so. Some distributions provide configuration tools to assist in this process.

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, avoiding a distribution altogether. One needs a way to generate the first binaries until the system is self-hosting. This can be done via compilation on another system capable of building binaries for the intended target (possibly by cross-compilation). For example, see Linux From Scratch.

Types and trends[edit]

Broadly, Linux distributions may be:

  • Commercial or non-commercial;
  • Designed for enterprise users, power users, or for home users;
  • Supported on multiple types of hardware, or platform-specific, even to the extent of certification by the platform vendor;
  • Designed for servers, desktops, or embedded devices;
  • General purpose or highly specialized toward specific machine functionalities (e.g. firewalls, network routers, and computer clusters);
  • Targeted at specific user groups, for example through language internationalization and localization, or through inclusion of many music production or scientific computing packages;
  • Built primarily for security, usability, portability, or comprehensiveness.

The diversity of Linux distributions is due to technical, organizational, and philosophical variation among vendors and users. The permissive licensing of free software means that any user with sufficient knowledge and interest can customize an existing distribution or design one to suit his or her own needs.

Installation-free distributions (Live CDs)[edit]

Main articles: Live CD and Live USB

A Live Distro or Live CD is a Linux distribution that can be booted from a compact disc or other removable medium (such as a DVD or USB flash drive) instead of the conventional hard drive. Some minimal distributions such as tomsrtbt can be run directly from as little as one floppy disk without needing to change the system's hard drive contents.

When the operating system is booted from a read-only device such as a CD or DVD, if user data needs to be retained between sessions, it cannot be stored on the boot device but must be written to some other media such as a USB flash drive or an installed hard drive. Temporary operating system data is usually kept solely in RAM.

The portability of installation-free distributions makes them advantageous for applications such as demonstrations, borrowing someone else's computer, rescue operations, or as installation media for a standard distribution. Many popular distributions come in both "Live" and conventional forms (the conventional form being a network or removable media image which is intended to be used for installation only). This includes SUSE, Ubuntu, Linux Mint, MEPIS, Sidux, and Fedora. Some distributions, such as Knoppix, Puppy Linux, Devil-Linux, SuperGamer, SliTaz and dyne:bolic are designed primarily for Live CD, Live DVD, or USB flash drive use.

Examples[edit]

Popular distributions[edit]

Well-known Linux distributions include:

  • Arch Linux, a rolling release distribution targeted at experienced Linux users, maintained by a volunteer community and primarily based on binary packages in the tar.gz and tar.xz format.
    • Manjaro Linux, a derivative of Arch Linux that includes a graphical installer and other ease-of-use features for less experienced Linux users. Rolling release packages from Arch repositories are held for further testing to achieve increased stability with a small sacrifice of delayed security updates.
  • Debian, a non-commercial distribution and one of the earliest, maintained by a volunteer developer community with a strong commitment to free software principles and democratic project management
  • Fedora, a community distribution sponsored by American company Red Hat.
    • Red Hat Enterprise Linux, a derivative of Fedora, maintained and commercially supported by Red Hat
      • CentOS, a distribution derived from the same sources used by Red Hat, maintained by a dedicated volunteer community of developers with both 100% Red Hat-compatible versions and an upgraded version that is not always 100% upstream compatible
      • Oracle Linux, which is a derivative of Red Hat Enterprise Linux, maintained and commercially supported by Oracle
    • Mandriva was a Red Hat derivative popular in several European countries and Brazil, backed by the French company of the same name. It was replaced by OpenMandriva Lx.
      • Mageia, a fork of Mandriva Linux created in 2010 that recently had a quick rise in popularity
      • PCLinuxOS, a derivative of Mandriva, grew from a group of packages into a community-spawned desktop distribution
  • Gentoo, a distribution targeted at power users, known for its FreeBSD Ports-like automated system for compiling applications from source code
  • openSUSE a community distribution mainly sponsored by German company SUSE.
  • Slackware, created in 1993, one of the first Linux distributions and among the earliest still maintained, committed to remain highly Unix-like and easily modifiable by end users[6]

DistroWatch attempts to include every known distribution of Linux[citation needed], whether currently active or not; it also maintains a ranking of distributions based on its own site's page views, as a measure of relative popularity. Other measures of popularity such as Linux Counter use survey data.

Niche distributions[edit]

Other distributions target specific niches, such as:

Android[edit]

Terminal Emulator in Android

Whether or not Google's Android counts as a Linux distribution is a matter of definition. It uses the Linux kernel, so the Linux Foundation[7] and Chris DiBona,[8] Google's open source chief, agree that Android is a Linux distribution; others, such as Google engineer Patrick Brady, disagree by noting the lack of support for many GNU tools in Android, including the glibc.[9]

Interdistribution issues[edit]

The Free Standards Group is an organization formed by major software and hardware vendors that aims to improve interoperability between different distributions. Among their proposed standards are the Linux Standard Base, which defines a common ABI and packaging system for Linux, and the Filesystem Hierarchy Standard which recommends a standard filenaming chart, notably the basic directory names found on the root of the tree of any Linux filesystem. Those standards, however, see limited use, even among the distributions developed by members of the organization.[citation needed]

The diversity of Linux distributions means that not all software runs on all distributions, depending on what libraries and other system attributes are required. Packaged software and software repositories are usually specific to a particular distribution, though cross-installation is sometimes possible on closely related distributions.[citation needed]

Tools for choosing a distribution[edit]

There are tools available to help people select an appropriate distribution, such as several different versions of the Linux Distribution Chooser,[10][11] and the universal package search tool whohas.[12] There are easy ways to try out several Linux distributions before deciding on one: Multi Distro is a Live CD that contains nine space-saving distributions.[13] Tools are available to make such CDs and DVDs, among them Nautopia.[14][citation needed]

Virtual machines such as VirtualBox and VMware Workstation virtualize hardware allowing users to test live media on a virtual machine.

Details and interest rankings of Linux distributions are available on DistroWatch and a fairly comprehensive list of live CDs is available at livecdlist.com. OSDir.com offers screenshots as a way to get a first impression of various distributions.

Installation[edit]

There are many ways to install a Linux distribution. The most common method of installing Linux is by booting from an optical disk that contains the installation program and installable software. Such a disk can be burned from a downloaded ISO image, purchased alone for a low price, provided as a cover disk with a magazine, shipped for free by request, or obtained as part of a box set that may also include manuals and additional commercial software.

Early Linux distributions were installed using sets of floppies but this has been abandoned by all major distributions. Nowadays most distributions offer CD and DVD sets with the vital packages on the first disc and less important packages on later ones. They usually also allow installation over a network after booting from either a set of floppies or a CD with only a small amount of data on it.[15]

New users tend to begin by partitioning a hard drive in order to keep their previously installed operating system. The Linux distribution can then be installed on its own separate partition without affecting previously saved data.

In a Live CD setup, the computer boots the entire operating system from CD without first installing it on the computer's hard disk. Some distributions have a Live CD installer, where the computer boots the operating system from the disk, and then proceeds to install it onto the computer's hard disk, providing a seamless transition from the OS running from the CD to the OS running from the hard disk.

Both servers and personal computers that come with Linux already installed are available from vendors including Hewlett-Packard, Dell and System76.

On embedded devices, Linux is typically held in the device's firmware and may or may not be consumer-accessible.

Anaconda, one of the more popular installers, is used by Red Hat Enterprise Linux, Fedora and other distributions to simplify the installation process. Debian, Ubuntu and many others use Debian-Installer.

Installation via an existing operating system[edit]

Some distributions let the user install Linux on top of their current system, such as WinLinux or coLinux. Linux is installed to the Windows hard disk partition, and can be started from inside Windows itself

Virtual machines (such as VirtualBox or VMware) also make it possible for Linux to be run inside another OS. The VM software simulates a separate computer onto which the Linux system is installed. After installation, the virtual machine can be booted as if it were an independent computer.

Various tools are also available to perform full dual-boot installations from existing platforms without a CD, most notably:

  • The Wubi installer, which allows Windows users to download and install Ubuntu or its derivatives into a FAT32 or a NTFS partition without an installation CD, allowing users to easily dual boot between either operating system on the same hard drive without losing data
  • Win32-loader, which is in the process of being integrated in official Debian CDs/DVDs, and allows Windows users to install Debian without a CD, though it performs a network installation and thereby requires repartitioning[16]
  • UNetbootin, which allows Windows and Linux users to perform similar no-CD network installations for a wide variety of Linux distributions and additionally provides live USB creation support

Proprietary software[edit]

Some specific proprietary software products are not available in any form for Linux. This includes many popular computer games, although in recent years some game manufacturers have begun making their software available for Linux. Emulation and API-translation projects like Wine and CrossOver make it possible to run non-Linux-based software on Linux systems, either by emulating a proprietary operating system or by translating proprietary API calls (e.g., calls to Microsoft's Win32 or DirectX APIs) into native Linux API calls. A virtual machine can also be used to run a proprietary OS (like Microsoft Windows) on top of Linux.

OEM contracts[edit]

Computer hardware is usually sold with an operating system other than Linux already installed by the original equipment manufacturer (OEM). In the case of IBM PC compatibles the OS is usually Microsoft Windows; in the case of Apple Macintosh computers it has always been a version of Apple's OS, currently OS X; Sun Microsystems sold SPARC hardware with the Solaris installed; video game consoles such as the Xbox, PlayStation, and Wii each have their own proprietary OS. This limits Linux's market share: consumers are unaware that an alternative exists, they must make a conscious effort to use a different operating system, and they must either perform the actual installation themselves, or depend on support from a friend, relative, or computer professional.

However, it is possible to buy hardware with Linux already installed. Lenovo, Hewlett-Packard, Dell, Affordy,[17] and System76 all sell general-purpose Linux laptops,[18] and custom-order PC manufacturers will also build Linux systems (but possibly with the Windows key on the keyboard). Fixstars Solutions (formerly Terra Soft) sells Macintosh computers and PlayStation 3 consoles with Yellow Dog Linux installed.

It is more common to find embedded devices sold with Linux as the default manufacturer-supported OS, including the Linksys NSLU2 NAS device, TiVo's line of personal video recorders, and Linux-based cellphones (including Android smartphones), PDAs, and portable music players.

The end user license agreement (EULA) for Apple gives the consumer the opportunity to reject the license and obtain a refund. The current Microsoft Windows license lets the manufacturer determine the refund policy.[19] With previous versions of Windows, it was possible to obtain a refund if the manufacturer failed to provide the refund by litigation in the small claims courts.[20] On 15 February 1999, a group of Linux users in Orange County, California held a "Windows Refund Day" protest in an attempt to pressure Microsoft into issuing them refunds.[21] In France, the Linuxfrench and AFUL (French speaking Libre Software Users' Association) organizations along with free software activist Roberto Di Cosmo started a "Windows Detax" movement,[22] which led to a 2006 petition against "racketiciels" (translation: Racketware) with 39,415 signatories and the DGCCRF branch of the French government filing several complaints against bundled software. On March 24, 2014, a new international petition was launched by AFUL on the Avaaz platform,[23] translated into several languages and supported by many organizations around the world.

See also[edit]

References[edit]

  1. ^ "Android, forking, and control". LWN.net. Retrieved 2014-03-29. 
  2. ^ "GNU/Linux Distribution Timeline". Futurist.se. Retrieved 2014-03-25. 
  3. ^ Berlich, Ruediger (April 2001). "ALL YOU NEED TO KNOW ABOUT... The early history of Linux, Part 2, Re: distribution". LinuxUser. Retrieved 4 May 2013. 
  4. ^ "The Slackware Linux Project: Slackware Release Announcement". Slackware.com. 16 July 1993. Retrieved 29 July 2011. 
  5. ^ "A Brief History of Debian - Debian Releases". debian.org. 2013-05-04. Retrieved 2014-07-19. 
  6. ^ Slackware Linux Basics, Chapter 2
  7. ^ Ask AC: Is Android Linux?. "Ask AC: Is Android Linux?". Android Central. Retrieved 2013-03-14. 
  8. ^ derStandard.at. "Google: "Android is the Linux desktop dream come true" - Suchmaschinen - derStandard.at " Web". Derstandard.at. Retrieved 2013-03-14. 
  9. ^ Paul, Ryan (2009-02-24). "Dream(sheep++): A developer’s introduction to Google Android". Ars Technica. Retrieved 2013-04-22. 
  10. ^ "Zegenie Studios Linux Distribution Chooser". Zegeniestudios.net. 14 May 2011. Retrieved 29 July 2011. 
  11. ^ "Distro Selector". Desktop Linux At Home. Retrieved 29 July 2011. 
  12. ^ "Philipp's Homepage: whohas". Philippwesche.org. 11 February 2010. Retrieved 29 July 2011. 
  13. ^ "Multi Distro is Linux times 9 on a single CD-R". Linux.com. Retrieved 29 July 2011. 
  14. ^ Linux.com :: Multiple live CDs in one DVD[dead link]
  15. ^ "Network install from a minimal CD". Debian. Retrieved 29 July 2011. 
  16. ^ Debian Webmaster, webmaster@debian.org. "Debian - Details of package win32-loader in Lenny". Packages.debian.org. Retrieved 29 July 2011. 
  17. ^ "Affordy - TITAN Computers". Shop.affordy.com. Retrieved 29 July 2011. 
  18. ^ "Laptops/Notebooks with Linux Preinstalled". Mcelrath.org. 10 June 2010. Retrieved 29 July 2011. 
  19. ^ "Microsoft Software License Terms: Windows 7 Professional". 
  20. ^ "Getting a Windows Refund in California Small Claims Court". Linuxjournal.com. Retrieved 29 July 2011. 
  21. ^ "Windows Refund Day". Marc.merlins.org. 15 February 1999. Retrieved 29 July 2011. 
  22. ^ Detaxe.org (French) Say no to bundled software - Say yes to informed consumers
  23. ^ "(en) Computers in the post-Snowden era: choose before paying!". 

External links[edit]