Linux distribution: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Eric M Gearhart
(Added disambig link)
imported>Pat Palmer
(archived content; now adding point to correct page)
Line 1: Line 1:
{{dablink|This is the article about GNU/Linux distributions. For other meanings of the term "Linux", see [[Linux (disambiguation)]].}}
This page was competing with [[Linux_distribution]] and has been archivedTo find it's contents, please see [[Talk:Linux_distribution]].[[User:Pat Palmer|Pat Palmer]] 10:02, 9 April 2007 (CDT)
 
A '''Linux distribution''' is a version of a [[Unix-like operating system]] comprised of the [[Linux kernel]], all or part of the [[GNU operating system]], and assorted other software. [[Linux]] distributions take a variety of forms, from fully-featured [[desktop]] and [[server operating systems]] to minimal environments.
 
To provide a [[Unix]]-like environment, Linux distributions contain a set of Unix-like [[utilities]] and the [[libraries]] needed to support them. In full-featured distributions these are generally taken from the [[GNU operating system]]. Distributions optimized for size tend to use more compact alternatives like [[busybox]] and [[uclibc]].
 
There are several commercially-backed distributions, such as [[Fedora Core]] ([[Red Hat]]), [[SUSE Linux]] ([[Novell]]), [[Ubuntu]] [[(Canonical Ltd.)]] and [[Mandriva Linux]]. These distributions and community projects such as [[Debian]] and [[Gentoo]], assemble and test the software before releasing their distribution. There are currently over three hundred Linux distribution projects in active development, constantly revising and improving their respective distributions.
 
== 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.
 
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 they were in application programs, the user interface, or convenient packaging.
 
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]]).
 
SLS was not well-maintained, so [[Patrick Volkerding]] released a distribution based on SLS, which he called ''[[Slackware]]''; released [[July 16]], [[1993]] <ref>http://www.slackware.com/announce/1.0.php</ref>. 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 [[IBM PC compatible|PC]], [[Mac OS]] on the [[Apple Macintosh]] and [[proprietary software|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 [[World Wide Web|Web]] and [[database]] servers (''see also'' [[LAMP (software bundle)|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 pre-compiled binaries and in [[source code]] form, allowing users to modify and [[compiler|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]] 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 [[CPU Architecture|microarchitecture]] of the user's machine.
 
===Package management===
{{see also|Package management system|Linux package formats}}
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 "[[Dependency (computer science)|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). 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. Note that such adjustments are typically site-specific and it is not possible for anyone, including a distribution's designer, to pre-configure the software provided to meet individual requirements. As with all operating systems, Linux and its distributions require its users/operators/owners to perform system administration. 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 claims of other operating systems.
 
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]].
 
==Choosing a Linux distribution==
{{further|[[Comparison of Linux distributions]] and [[LiveDistro]]}}
The diversity of Linux distributions is due to technical, organizational, and philosophical variation amongst users.  The permissive licensing of most GNU/Linux software means that any user with sufficient knowledge and interest can customize an existing distribution or design her or his own. Technical variations include support for different hardware devices and systems or software package configurations.  Other differences are motivated either by technical decisions, philosophical or even historical reasons. Some distributions specialise in use on desktops, servers or routers. Other criteria include security (and how often security updates are available), ease of package management and the number of binary packages available.
 
There are tools available to help making the decision, such as several different versions of the Linux Distribution Chooser <ref>http://www.zegeniestudios.net/ldc/</ref> <ref>http://www.tuxs.org/chooser/</ref>  <ref>http://desktoplinuxathome.com/distro.html</ref> and the universal package search tool, whohas.<ref>http://www.philippwesche.org/2004/programs/whohas/intro.html</ref> 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.<ref>http://www.linux.com/article.pl?sid=06/05/22/1353239</ref> Tools are available to make such CDs and DVDs, among them Nautopia.<ref>http://applications.linux.com/article.pl?sid=06/03/16/1724219&tid=47</ref> In fact, it is not necessary to burn a Live CD in the first place. Virtual machines such as [[qemu]] and [[VMWare]] permit booting of LiveCD image files. In the case of VMWare, this requires a specific virtual machine to be downloaded.<ref>http://www.vmwarez.com/2006/02/livecd-player-virtual-machine.html</ref> <ref>[http://homepage.sunrise.ch/mysunrise/ekeller00/EricKellerUbuntuPage.html Emulating Ubuntu in Windows XP using the free VMware Player]</ref> In qemu, the functionality is already included.
 
Details and interest rankings of Linux distributions are available on [http://www.distrowatch.com/ DistroWatch] and a fairly comprehensive list of Live CDs is [http://www.frozentech.com/content/livecd.php FrozenTech's]. Some websites such as [http://shots.osdir.com/ OSDir.com] and [http://www.osvids.com/ OSVids.com] offer screenshots and videos as a means to getting a first impression of various distributions.
 
=== Demonstration ===
 
The difficulty of quickly demonstrating Linux on the computer of a potential new user remained an obstacle until recently, slowing its adoption as a personal computing platform. 
 
However, [[Knoppix]] has pioneered the ability to run directly from a "[[live CD]]" running entirely in [[random access memory|RAM]], rather than installing it to the [[hard drive]].  Other distributions have followed suit, and live versions are available for, for example, [[SUSE]], [[Ubuntu (Linux distribution)|Ubuntu]], [[Mepis]], and others.  Some minimal distributions such as [[tomsrtbt]] can be run directly from as little as 1 floppy disk without needing to change the hard drive contents.
 
[[Linux User Groups]], or LUGs, still provide the primary face-to-face forum for demonstration of Linux. Commercial exhibitions provide Linux demonstrations to potential new users, especially corporate buyers.
 
The fastest approach is probably that of [[Workspot]], which used [[Virtual Network Computing|VNC]] to provide a free Linux desktop demo online.
 
===Popularity===
Each distro has its own merits and demerits, making selection of a distro a matter of matching needs and attitudes, with distro philosophy and software contents. Nonetheless, ''DistroWatch'' provides a summary of the top ten [http://distrowatch.com/dwres.php?resource=major distros by popularity], and [http://distrowatch.com/stats.php?section=popularity another list] of 351 distros ranked by page hits over four time periods.
 
{|class="table"
|+Top 10 Distros
|-
!Major Distros!!Last 12 Months<br />(Jan-Dec 2006)!!Last 6 Months<br />(Jun-Dec 2006)!!Last 3 Months<br />(Oct-Dec 2006)!!Last 1 Month<br />(Dec 06-Jan 07)
|-
|1. [[Ubuntu (Linux distribution)|Ubuntu]]||Ubuntu||Ubuntu||Ubuntu||Ubuntu
|-
|2. [[Mandriva Linux]]||[[OpenSUSE]]||OpenSUSE||OpenSUSE||OpenSUSE
|-
|3. OpenSUSE||[[Fedora Core]]||Fedora Core||Fedora Core||Fedora Core
|-
|4. Fedora Core||[[MEPIS]]||MEPIS||MEPIS||MEPIS
|-
|5. [[Debian]]||Mandriva Linux||Mandriva Linux||Debian||Debian
|-
|6. [[Gentoo Linux]]||Debian||[[PCLinuxOS]]||PCLinuxOS||PCLinuxOS
|-
|7. [[Slackware]]||[[Damn Small Linux]]||Debian||Mandriva Linux||[[SabayonLinux]]
|-
|8. [[Knoppix]]||PCLinuxOS||Damn Small Linux||Damn Small Linux||[[Knoppix]]
|-
|9. MEPIS||Slackware||Slackware||SabayonLinux||Mandriva Linux
|-
|10. [[Xandros]]||Knoppix||Gentoo Linux||Knoppix||Damn Small 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 [[Application binary interface|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.
 
== Installation ==
The most common method of installing Linux is by booting from a [[CD]] 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, or can be obtained as part of a box set that may also include manuals and additional commercial software.  New users tend to begin by [[Disk partitioning|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 [[floppy disk|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 client]]s 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.
 
[[Anaconda installer|Anaconda]], one of the more popular installers, is used by [[Red Hat Linux]], [[Fedora Core]] and other distributions to simplify the installation process.
 
=== Installation on an existing platform ===
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 machine]]s (such as [[Virtual PC]] 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.
 
==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 (software)|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.
 
== See also ==
*[[Comparison of Linux distributions]]
*[[Cygwin]]
*[[GNU/Linux naming controversy]]
*[[List of Linux distributions]]
*[[LiveDistro]]
*[[MiniLinux]]
 
== Notes ==
<div class="references-small"><references /></div>
 
==External links==
* [http://www.zegeniestudios.net/ldc/index.php/ "What Linux is for you" Quiz]
* [http://www.roseindia.net/linux-distribution/ Latest Linux Distributions]
* [http://www.distrowatch.com/ DistroWatch]
* [http://www.distromania.com/ Linux DistroMania]
* [http://www.thecodingstudio.com/opensource/linux/screenshots/ Linux Screenshots from TCS]
* [http://shots.osdir.com/ Linux Screenshots from osdir.com]
* [http://linclips.com/ Linux Screencasts from linclips.com]
* [http://linuxmobile.sourceforge.net/ Linux Mobile System]
* [http://www.linuxiso.org/ LINUXISO.ORG Linux ISO: CD images and LiveCDs]
* [http://www.linuxquestions.org/reviews/index.php Distribution Reviews]
* [http://www.linuxlinks.com/Distributions/Mini_Distributions  Mini-Distributions]
* [http://www.frozentech.com/content/livecd.php Live CDs] - A comprehensive list of 100+ live Linux distros.
* [http://www.tlm-project.org/ The Linux Mirror Project] Download Linux Distributions over BitTorrent
* [http://www.gridter.com/linx/linux.html Grid with links to active Linux distributions]
 
 
[[Category:Linux]]
[[Category:Linux distributions]]
[[Category:Operating system|*]]
[[Category:Computers Workgroup]]

Revision as of 10:02, 9 April 2007

This page was competing with Linux_distribution and has been archived. To find it's contents, please see Talk:Linux_distribution.Pat Palmer 10:02, 9 April 2007 (CDT)