Linux distribution
A Linux distribution (also called GNU/Linux by distributions such as Debian, Fedora, Ubuntu, Linux Mint, Mandriva and Gentoo) is a member of the Linux family of Unix-like software distributions. Such distributions (often called distros for short) consist of a Linux operating system and a collection of applications. The operating system will consist of the Linux kernel and, usually, a set of libraries and utilities from the GNU project, with graphics support from the X Window System. Distributions optimized for size may not contain X, and tend to use more compact alternatives to the GNU utilities such as busybox, uclibc or dietlibc. There are currently over three hundred Linux distributions. Most of those are in active development, constantly being revised and improved.
Because most of the kernel and supporting packages are some combination of free software and open source, Linux distributions have taken a wide variety of forms — from fully featured desktop and server operating systems to minimal environments (typically for use in embedded systems, or for booting from a floppy disk). Aside from certain custom software (such as installers and configuration tools) a distribution simply refers to a particular assortment of applications installed on top of a set of libraries married with a version of the kernel, such that its "out-of-the-box" capabilities meets most of the needs of its particular end-user base.
One can distinguish between commercially backed distributions, such as Fedora (Red Hat), openSUSE (Novell), Ubuntu (Canonical Ltd.), and Mandriva Linux and community distributions such as Debian and Gentoo, though there are other distributions that, while not governed by a community, are neither driven by a corporation, perhaps most famously, Slackware.
History
Before the first Linux 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 the system to boot and run, but also important details concerning configuration and placement of files in the system.[citation needed]
Linux distributions began to appear very 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 they were in application programs, the user interface, or convenient packaging.[citation needed]
Early distributions included:
- H J Lu's "Boot-root" a two disk pair with the kernel and the absolute minimal tools to get started.
- 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 University about the same time, and
- SLS (Softlanding Linux System).
- Yggdrasil Linux/GNU/X, created the first CD-ROM based Linux distribution.
SLS was not well-maintained, so Patrick Volkerding released a distribution based on SLS, which he called Slackware; released July 16, 1993.[1] This is the oldest distribution still in active development.
Users were attracted to Linux distributions as alternatives to the DOS and Microsoft Windows operating systems on the PC, 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 for its stability, low (if any) cost, and for the availability 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 choice even for Unix or Linux experts. 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.
Components
A typical desktop 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.
Many provide an installation system akin to that provided with other modern operating systems. Self-hosting distributions like Gentoo Linux, T2 and Linux From Scratch provide the source code of all software and include binaries only of a basic kernel, compilation tools, and an installer; the installer compiles all the software for the specific microarchitecture of the user's machine.
Package management
Distributions are normally segmented into packages. Each package contains a specific application or service. Examples of packages include 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 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 (e.g., KDE 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). See for example Linux From Scratch.
Types and trends
Broadly, Linux distributions may be:
- Commercial or non-commercial;
- Designed for enterprise or for home usage;
- Designed for servers, desktops, or embedded devices;
- Targeted at regular users or power users;
- General purpose or highly specialized toward specific machine functionalities, for example firewalls, network routers, and computer clusters;
- Designed and even certified for specific hardware and computer architectures;
- Targeted at specific user groups, for example through language internationalization and localization, or through inclusion of many music production or scientific computing packages.
- Differently configured for security, usability, portability, or comprehensiveness
- Supported on different types of hardware
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 to suit his or her own needs.
Installation-free distributions (Live CDs)
A Live Distro or Live CD, is a Linux distribution that can be booted from a compact disc or other 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 hard drive contents.
The read-only nature of CDs and DVDs means that user data cannot be stored with the operating system, but must be written to some other device (such as a USB flash drive or an installed hard drive) if any is to be kept. Temporary operating system data is usually kept solely in RAM.
The portablility is advantageous for applications such as demonstrations, borrowing someone else's computer, rescue operations, and 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, Mepis, and Fedora. Some distributions, such as Knoppix and Dyne:bolic, are designed primarily for Live CD or Live DVD use.
Examples
Popular distributions
Well-known Linux distributions include:
- Archlinux, a distribution based on the KISS principle with a rolling release system
- 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
- Debian, a non-commercial distribution maintained by a volunteer developer community with a strong commitment to free software principles
- Fedora which is a community distribution sponsored by Red Hat
- Gentoo, a distribution targeted at power users, known for its FreeBSD Ports-like automated system for compiling applications from source code
- Knoppix, a Live CD distribution that runs completely from removable media and without installation to a hard disk
- Mandriva, a Red Hat derivative popular in France and Brazil, today maintained by the French company of the same name
- openSUSE, originally derived from Slackware, sponsored by the company Novell
- Pardus, developed in Turkey, as a product of the Pardus Project. It was named after the Anatolian Leopard.
- PCLinuxOS which is the number 5 distribution on DistroWatch as of August 9, 2008. PCLinuxOS is derived from Mandriva
- Red Hat Enterprise Linux, which is a derivative of Fedora maintained and commercially supported by Red Hat
- Slackware, one of the first Linux distributions, founded in 1993, and since then actively maintained by Patrick J. Volkerding
- Ubuntu, a newly popular desktop distribution maintained by Canonical that is derived from Debian.
DistroWatch maintains a popularity ranking of distribution information on its web site, but this is not considered to be a reliable measure of distribution popularity.
Niche distributions
Other distributions are targeted at other specific niches such as the tiny embedded router distribution OpenWrt, the Ubuntu project to create Edubuntu for educational users, and KnoppMyth which wraps Knoppix around MythTV to ease building Linux-powered DVRs. Still others targeted the Apple Inc. Macintosh platform, including mkLinux, Yellow Dog Linux, and Black Lab Linux.
Interdistribution issues
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.
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 is usually specific to a particular distribution, though cross-installation is sometimes possible on closely related distributions.
Tools for choosing a distribution
There are tools available to help people make the decision, such as several different versions of the Linux Distribution Chooser[2][3] and the universal package search tool, whohas.[4] There are some easy ways to try out several Linux distributions before deciding on one. Multi Distro is a Live CD that contains nine space-saving distributions.[5] Tools are available to make such CDs and DVDs, among them Nautopia.[6]
Virtual machines such as VirtualBox, VMware Workstation, and Microsoft Virtual PC permit booting of Live CD image files without actually burning a CD.
Details and interest rankings of Linux distributions are available on DistroWatch and a fairly comprehensive list of Live CDs is livecdlist.com/. Some websites such as OSDir.com and www.osvids.com/ offer screenshots and videos as a means to getting a first impression of various distributions.
Workspot provides online Linux desktop demos using Virtual Network Computing (VNC).
Advocacy
As part of the free software movement, Linux User Groups (LUGs) still provide the primary face-to-face forum for demonstration of Linux. Commercial exhibitions also provide Linux demonstrations to potential new users, especially corporate buyers.
Installation
There are many ways to install a Linux distribution:
- The most common method of installing Linux is by booting from a CD-ROM or DVD that contains the installation program and installable software. Such a CD can be burned from a downloaded ISO image, purchased alone for a low price, provided as a cover disk with a magazine, in some cases shipped for free by request, or obtained as part of a box set that may also include manuals and additional commercial software. New users tend to begin by partitioning a hard-drive in order to keep an existing operating system. The Linux distribution can then be installed on the new partition without affecting previously saved data.
- 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.
- Still another mode of installation of Linux is to install on a powerful computer to use as a server and to use less powerful machines (perhaps without hard drives, with less memory and slower CPUs) as thin clients over the network. Clients can boot over the network from the server and display results and pass information to the server where all the applications run. The clients can be ordinary PCs with the addition of the network bootloader on a drive or network interface controller, and hard disk space and processor power can be offloaded onto the client machine if desired. The cost savings achieved by using thin clients can be invested in greater computing power or storage on the server.
- 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.
- As with servers, personal computers that come with Linux already installed are available from vendors including Hewlett-Packard and Dell, although generally only for their business desktop lines.
- 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.
Installation via an existing Operating System
Some distributions let the user install Linux on top of their current system, such as WinLinux. Linux is installed to the Windows hard-disk partition, and can be started from inside Windows itself. Similar approaches include coLinux.
Virtual machines (such as VirtualBox or VMware) also enable Linux to be run inside another OS. The VM software simulates an isolated environment onto which the Linux system is installed. After everything is done, the virtual machine can be booted just 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 allows Windows users to download and install Ubuntu or its derivatives without the need for hard drive partitioning or the need for an installation CD. It thus allows users to easily dual boot between either operating system on the same hard drive without losing data.
- Win32-loader allows Windows users to install Debian without a CD, though it performs a network installation and thereby requires repartitioning. It is in the process of being integrated in official Debian CDs/DVDs.[7]
- UNetbootin allows Windows and Linux users to perform similar no-CD network installations for a wide variety of Linux distributions. It additionally provides Live USB creation support.
Proprietary software
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. For example, Epic Games sells a Linux version of its Unreal Tournament 2004. This problem is also addressed by emulation and API-translation projects like Wine and Cedega, which 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.
OEM contracts
Computer hardware is often sold with the operating system of a software original equipment manufacturer (OEM) already installed. It is uncommon for this operating system to be Linux, even though the portability features of Linux mean that it can be installed on most machines. 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 Mac OS X; Sun Microsystems sells SPARC hardware with Solaris installed; video game consoles such as the Xbox, PlayStation, and Gamecube each have their own proprietary OS. That Linux is not installed by default on most computer hardware limits its 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 actually possible to buy hardware with Linux already installed. Lenovo, Hewlett-Packard, Dell, Affordy,[8] and System76 all sell general purpose Linux laptops,[9] and custom-order PC manufacturers will also build Linux systems (but possibly with the Windows Key on the keyboard). 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, PDAs, and portable music players.
Consumers also have the option of obtaining a refund for unused OEM operating system software. The end user license agreement (EULA) for Apple and Microsoft operating systems gives the consumer the opportunity to reject the license and obtain a refund. If requesting a refund directly from the manufacturer fails, it is also possible that a lawsuit in small claims court will work.[10] On February 15, 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.[11] In France, the Linuxfrench and AFUL organizations along with free software activist Roberto Di Cosmo started a "Windows Detax" movement,[12] which led to a 2006 petition against "racketiciels"[13] (translation: Racketwares) and the DGCCRF branch of the French government filing several complaints against bundled software.
Screenshots of common distributions
Few screenshots of common distributions just after installation :
-
Mandriva 2008.1 Spring
-
Ubuntu 8.04
-
Fedora 9
-
OpenSUSE 11.0
-
Gentoo 2008.0
-
Debian GNU/Linux 4.0
-
Slackware 12
See also
- List of Linux distributions
- Comparison of Linux distributions
- Cygwin
- GNU/Linux naming controversy
- Live Distro
- Mini Linux
- EnGarde Secure Linux
References
- ^ The Slackware Linux Project: Slackware Release Announcement
- ^ zegenie Studios Linux Distribution Chooser
- ^ Desktop Linux At Home - Distro Selector
- ^ Philipp's Homepage: whohas
- ^ Linux.com :: Multi Distro is Linux times 9 on a single CD-R
- ^ Linux.com :: Multiple live CDs in one DVD
- ^ Debian -- Details of package win32-loader in lenny
- ^ Affordy - TITAN Computers
- ^ Laptops/Notebooks with Linux Preinstalled
- ^ Getting a Windows Refund in California Small Claims Court
- ^ Windows Refund Day
- ^ Detaxe.org (French) Say no to bundled software - Say yes to informed consumers
- ^ (fr) Petition against software racketeers
External links
- Distrowatch
- Distribution Reviews
- Hardware support by Linux distribution
- Linux Distribution Chooser by Zegenie Studios
- The Linux Mirror Project Download Linux Distributions over BitTorrent