Debian
8242
225942292
2008-07-16T03:21:33Z
24.128.74.11
/* Hardware requirements */ there are no 1Ghz pentium 4s
{{Mergefrom|Debian Manifesto|date=April 2008}}
{{ infobox OS
| name = Debian GNU/Linux
| logo = [[Image:Debian-OpenLogo.svg|Debian logo|50px]]
| screenshot = [[Image:Debian.png|250px]]
| caption = Debian Etch's default [[GNOME]] desktop
| website = [http://www.debian.org/ www.debian.org]
| developer = Debian Project
| family = [[GNU]]/[[Linux]]
| source_model = [[Free and open source software]]
| released = {{initial release|1993|08|16}}
| latest_release_version = 4.0r3 Etch
| latest_release_date = {{release date|2008|02|17}}
| language = Multilingual
| kernel_type = [[Monolithic kernel|Monolithic]] ([[Linux kernel|Linux]])
| ui = [[GNOME]], [[KDE]] & [[Xfce]]
| supported_platforms = [[x86-32]], [[x86-64]], [[PowerPC]], [[SPARC]], [[DEC Alpha]], [[ARM architecture|ARM]], [[MIPS architecture|MIPS]], [[PA-RISC family|HPPA]], [[IBM eServer zSeries|S390]], [[IA-64]]
| updatemodel = [[Advanced Packaging Tool|APT]]
| package_manager = [[dpkg]]
| working_state = Current
}}
'''Debian''' ([[Help:pronunciation|pronounced]] {{IPA|[ˈdɛbiən]}}) is a computer [[operating system]] (OS) composed entirely of software which is both [[free and open source software|free and open source]] (FOSS). Its primary form, '''Debian GNU/Linux''', is a popular and influential [[Linux distribution]].<ref>[http://distrowatch.com/stats.php?section=popularity Linux Distributions - Facts and Figures]</ref> It is a multipurpose OS; it can be used as a [[desktop computer|desktop]] or [[server (computing)|server]] operating system.
Debian is known for strict adherence to the [[Unix]] and [[free software]] philosophies.<ref name=debfaq-def>
{{cite web
| url=http://www.debian.org/doc/manuals/debian-faq/ch-basic_defs.en.html#s-whatisdebian
| title=The Debian GNU/Linux FAQ - Definitions and overview
| publisher=www.debian.org
| accessdate=2008-05-12
}}
</ref> Debian is also known for its abundance of options — the current release includes over twenty-six thousand [[software package]]s for eleven [[computer architecture]]s. These architectures range from the Intel/AMD [[x86-32|32-bit]]/[[x86-64|64-bit]] architectures commonly found in [[personal computer]]s to the [[ARM architecture]] commonly found in [[embedded system]]s and the [[IBM eServer zSeries]] [[Mainframe computer|mainframe]]s.<ref>
{{cite web
| url=http://www.debian.org/doc/manuals/debian-faq/ch-compat.en.html#s-arches
| title=The Debian GNU/Linux FAQ - Compatibility issues
| publisher=www.debian.org
| accessdate=2008-05-12
}}
</ref> Throughout Debian's lifetime, other distributions have taken it as a basis to develop their own, including: [[Ubuntu (operating system)|Ubuntu]], [[MEPIS]], [[Dreamlinux]], [[Damn Small Linux]], [[Xandros]], [[Knoppix]], [[Linspire]], [[sidux]], [[Kanotix]], and [[GnuLinEx|LinEx]] among [[List of Linux distributions#Debian-based|others]].<ref>
{{cite web
| url=http://www.debian.org/doc/manuals/debian-faq/ch-choosing.en.html#s3.2
| title=The Debian GNU/Linux FAQ - Choosing a Debian distribution
| publisher=www.debian.org
| accessdate=2008-05-12
}}
</ref> A university's study concluded that Debian's 283 million source code lines would cost [[United States dollar|US$]]10 billion to develop by proprietary means.<ref>{{ cite web | first = Juan José | last = Amor | coauthors = et al | date = [[17 June]] [[2007]] | url = https://penta.debconf.org/~joerg/attachments/33-measuring_etch_slides.pdf | title = Measuring Etch: the size of Debian 4.0 | accessdate = 2007-09-16 }}</ref>
Prominent features of Debian are its [[Advanced Packaging Tool|APT]] [[package management system]], its strict policies regarding its packages and the quality of its releases.<ref>
{{cite web
| url=http://www.debian.org/doc/manuals/debian-faq/ch-choosing.en.html#s3.1
| title=The Debian GNU/Linux FAQ - Choosing a Debian distribution
| publisher=www.debian.org
| accessdate=2008-05-12
| last=
| first=
}}
</ref> These practices afford easy upgrades between releases and easy automated installation and removal of packages. Debian uses an open development and testing process. It is developed by volunteers from around the world and supported by donations through [[Software in the Public Interest|SPI]], a [[non-profit organization|non-profit]] [[umbrella organization]] for various free software projects.<ref>
{{cite web
| url=http://www.spi-inc.org/projects/spi-projects
| title=SPI Projects — Welcome to SPI
| publisher=www.spi-inc.org
| accessdate=2008-05-12
| last=
| first=
}}
</ref>
The default install provides popular programs such as: [[OpenOffice.org]], [[Mozilla software rebranding|Iceweasel]] (a [[rebranding]] of [[Mozilla Firefox|Firefox]]), [[Evolution (software)|Evolution]] mail, CD/DVD writing programs, music and video players, image viewers and editors, and [[Portable Document Format|PDF]] viewers. Only the first CD/DVD is necessary for the default install; the remaining discs contain all 26,000+ extra programs and packages currently available. If a user does not wish to download the CDs/DVDs, these extras can be downloaded and installed separately using a package manager such as [[Advanced Packaging Tool|APT]] and [[Synaptic Package Manager|Synaptic]]. Debian also downloads updates automatically.
== History ==
Debian was first announced on [[16 August]] [[1993]] by [[Ian Murdock]], then a student at [[Purdue University]].<ref>
{{cite web
| url=http://www.debian.org/doc/manuals/project-history/ch-intro.en.html
| title=A Brief History of Debian - Introduction -- What is the Debian Project?
| publisher=www.debian.org
| accessdate=2008-05-12
| last=
| first=
}}
</ref> Murdock initially called his system the "Debian Linux Release".<ref>{{cite newsgroup | title = New release under development; suggestions requested | url = http://groups.google.com/group/comp.os.linux.development/msg/a32d4e2ef3bcdcc6 | last = Murdock | first = Ian A | id = CBusDD.MIK@unix.portal.com | date = [[16 August]] [[1993]] | newsgroup = comp.os.linux.development }}</ref> Previously, [[Softlanding Linux System]] had been the first well-known attempt at making a Linux distribution from various software packages, and was a popular option among Linux users in 1994.<ref>{{cite web| title = Debian and the grass roots of Linux | url = http://www.itpro.co.uk/applications/features/135084/debian-and-the-grass-roots-of-linux.html | last = Hillesley | first = Richard | date = [[5 November]] [[2007]] }}</ref> It was the perceived poor maintenance and prevalence of [[software bug|bugs]] in SLS<ref>{{ cite web | first = Ian A | last = Murdock | title = NNTP Subject: New release under development; suggestions requested | url = http://groups.google.com/group/comp.os.linux.development/msg/a32d4e2ef3bcdcc6 | date = [[16 August]] [[1993]] | accessdate = 2007-08-17 }}</ref> that motivated Murdock to launch a new distribution.
In the ''[[Debian Manifesto]]'', Murdock called for the creation of a distribution to be maintained in an open manner, in the spirit of Linux and GNU. He formed the name "Debian" as a combination of the first name of his girlfriend (later wife, now ex-wife) Debra and his own first name. As such, Debian is pronounced as the corresponding [[syllable]]s of these names in American English: {{IPA|/'dɛbiən/}}<ref>{{ cite website | url = http://www.debian.org/intro/about | title = About Debian }}</ref> but other pronunciations are common in different parts of the world.<ref>The Debian Systeme Martin F. Krafft p31 </ref>
The Debian Project grew slowly at first and released its first 0.9x versions in 1994 and 1995. The first ports to other architectures were begun in 1995, and the first 1.x version of Debian was released in 1996. In 1996, [[Bruce Perens]] replaced Ian Murdock as the project leader. In the same year, fellow developer [[Ean Schuessler]] suggested that Debian establish a [[social contract]] with its users. He distilled the resulting discussion on Debian mailing lists into the [[Debian Social Contract]] and the [[Debian Free Software Guidelines]], defining fundamental commitments for the development of the distribution. He also initiated the creation of the legal [[umbrella organization]] [[Software in the Public Interest]].
Perens left in 1998 before the release of the first [[glibc]]-based Debian, 2.0. The Project elected new leaders and made two more 2.x releases, each including more ports and packages. The [[Advanced Packaging Tool]] was deployed during this time and the first port to a non-Linux kernel, [[Debian GNU/Hurd]], was started. The first [[Linux distribution]]s based on Debian, [[Libranet]], [[Corel Linux]] and [[Stormix]]'s Storm Linux, were started in 1999. Though no longer developed, these distributions were the first of many [[Comparison of Linux distributions|distributions based on Debian]].
In late 2000, the project made major changes to archive and release management, reorganizing software archive processes with new "package pools" and creating a testing branch as an ongoing, relatively stable staging area for the next release. Also in that year, developers began holding an annual conference called ''[[DebConf]]'' with talks and workshops for developers and technical users.<ref>Debian Documentation Team. ''[http://www.debian.org/doc/manuals/project-history/ A Brief History of Debian]''.</ref>
On [[April 8]] [[2007]] the project announced the official release of Debian GNU/Linux version 4.0, codenamed "Etch".
In May, 2008, security researcher [[Luciano Bello]] revealed his discovery that changes made in 2006 to the [[random number generator]] in the version of the [[openssl]] package distributed with Debian and other Debian-based distributions such as a [[Ubuntu]], made a variety of security keys vulnerable to attack.<ref>http://www.debian.org/security/2008/dsa-1571</ref><ref>http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-0166</ref> The security weakness was caused by changes made to the openssl code by a Debian developer in response to compiler warnings of apparently redundant code.<ref>http://cryptogon.com/?p=2635</ref> Other Linux distributions were unaffected. This security hole has been patched. ''See'' [[Random number generator attack]]
== Development procedures ==
Software packages in development are either uploaded to the project branch named ''unstable'', also known as ''sid'', or the ''experimental'' branch. Software packages uploaded to ''unstable'' are normally versions stable enough to be released by the original ''upstream'' developer, but with the added Debian-specific packaging and other modifications introduced by Debian developers. These additions may be new and untested. Software not ready yet for the ''unstable'' branch is typically placed in the ''experimental'' branch.
After a version of a software package has remained in ''unstable'' for a certain length of time (depending on the urgency of the software's changes), that package is automatically migrated to the ''testing'' branch. The package's migration to testing occurs only if no serious (''release-critical'') bugs in the package are reported and if other software needed for package functionality qualifies for inclusion in ''testing''.
Since updates to Debian software packages between official releases do not contain new features, some choose to use the ''testing'' and ''unstable'' branches for their newer packages. However, these branches are less tested than ''stable'', and ''unstable'' doesn't receive timely security updates.<ref>{{cite web |url=http://www.debian.org/security/faq#testing |title=Debian security FAQ |date=[[2007-02-28]] |accessdate=2007-04-20 |quote='''Q''': How is security handled for testing and unstable? / '''A''': The short answer is: it's not. }}</ref> Starting [[September 9]], [[2005]]<ref>{{cite mailing list |url=http://lists.debian.org/debian-devel-announce/2005/09/msg00006.html |title=announcing the beginning of security support for testing |date=[[2005-09-05]] |accessdate=2007-04-20 |mailinglist=debian-devel-announce |last=Hess |first=Joey }}</ref> a ''testing'' security team provides security updates.<ref>[http://testing-security.debian.net Debian testing security team<!-- Bot generated title -->]</ref> In particular, incautious upgrades to working ''unstable'' packages can sometimes seriously break software functionality.
After the packages in ''testing'' have matured and the goals for the next release are met, the ''testing'' branch becomes the next stable release. The latest stable release of Debian (''etch'') is 4.0. It was released on [[April 8]], [[2007]]. The forthcoming version is codenamed "''lenny''."
== Project organization ==
[[Image:Debian-organigram.png|thumb|300px|Diagram of the organizational structure of the project]]
The Debian Project is a volunteer organization with three foundational documents:
* The [[Debian Social Contract]] defines a set of basic principles by which the project and its developers conduct affairs.
* The [[Debian Free Software Guidelines]] define the criteria for "free software" and thus what software is permissible in the distribution, as referenced in the Social Contract. These guidelines have also been adopted as the basis of the [[Open Source Definition]]. Although it can be considered a separate document for all practical purposes, it formally is part of the Social Contract.
* '''The Debian Constitution''' describes the organizational structure for formal decision-making within the Project, and enumerates the powers and responsibilities of the Debian Project Leader, the Debian Project Secretary, and the Debian Developers generally.<ref>
{{cite web
| url=http://www.debian.org/devel/constitution
| title= The Debian Constitution
| publisher=www.debian.org
| accessdate=2008-05-18
}}
</ref>
Currently, the project includes more than a thousand developers. Each of them sustains some niche in the project, be it [[software package|package]] maintenance, [[software documentation]], maintaining the project infrastructure, [[quality assurance]], or release coordination. Package maintainers have jurisdiction over their own packages, although packages are increasingly co-maintained. Other tasks are usually the domain of smaller, more collaborative groups of developers.
The project maintains official [[mailing list]]s and conferences for communication and coordination between developers.<ref>
{{cite web
| url=http://www.debian.org/doc/manuals/debian-faq/ch-support.en.html#s12.2.1
| title=The Debian GNU/Linux FAQ - Getting support for Debian GNU/Linux
| publisher=www.debian.org
| accessdate=2008-05-12
}}
</ref>For issues with single packages or domains, a public [[computer bug|bug]] tracking system is used by developers and end-users both. Informally, [[Internet Relay Chat]] channels (primarily on the [[OFTC]] and [[freenode]] networks) are used for communication among developers and users as well.
Together, the Developers may make binding general decisions by way of a General Resolution or election. All voting is conducted by [[Schulze method|Cloneproof Schwartz Sequential Dropping]], a [[Condorcet method]] of voting. A [[Debian Project Leader|Project Leader]] is elected once per year by a vote of the Developers; in April 2008, [[Steve McIntyre]] was voted into this position, succeeding [[Sam Hocevar]]. The Debian Project Leader has several special powers, but this power is far from absolute and is rarely utilized. Under a General Resolution, the Developers may, among other things, recall the leader, reverse a decision by him or his delegates, and amend the constitution and other foundational documents.
The Leader sometimes delegates authority to other developers in order for them to perform specialized tasks. Generally this means that a leader delegates someone to start a new group for a new task, and gradually a team gets formed that carries on doing the work and regularly expands or reduces their ranks as they think is best and as the circumstances allow.
A role in Debian with a similar importance to the Project Leader's is [[software release|Release]] Manager. Release Managers set goals for the next release, supervise the process, and make the final decision as to when to release.<ref>A list of many important positions in the Debian project is available at [http://www.debian.org/intro/organization the Debian organization web page]. A deeper analysis of Debian leadership can be found in [http://www.business.ualberta.ca/tcc/documents/TII_3_OMahoney_Ferraro_final.pdf this paper by Siobhan O'Mahony and Fabrizio Ferraro].</ref>
== Developer recruitment, motivation, and resignation ==
The Debian project has a steady influx of applicants wishing to become developers. These applicants must undergo an elaborate vetting process which establishes their identity, motivation, understanding of the project's goals (embodied in the Social Contract), and technical competence. <ref>{{cite web|url=http://www.debian.org/devel/join/newmaint|title=the Debian New Maintainer page}}</ref>.
Debian Developers join the Project for any number of reasons; some that have been cited in the past include{{Fact|date=November 2007}}:
* a desire to contribute back to the [[Free Software community]] (practically all applicants are users of [[Free Software]]);
* a desire to see some specific software task accomplished (some view the Debian user community as a valuable testing or proving ground for new software);
* a desire to make, or keep, Free Software competitive with [[proprietary software|proprietary alternatives]];
* a desire to work closely with people that share some of their aptitudes, interests, and goals (there is a very strong sense of [[community]] within the Debian project which some applicants do not experience in their paid jobs);
* a simple enjoyment of the iterative process of [[software development]] and maintenance.
Debian Developers may resign their positions at any time by orphaning the packages they were responsible for and sending a notice to the developers and the [[public key infrastructure|keyring]] maintainer (so that their upload authorization can be revoked).
== Package life cycle ==
[[Image:Debian-package-cycle.png|thumb|300px|Flowchart of the life cycle of a Debian package]]
Each Debian software package has a maintainer who keeps track of releases by the "upstream" authors of the software and ensures that the package is compliant with Debian Policy, coheres with the rest of the distribution, and meets the standards of quality of Debian. In relations with users and other developers, the maintainer uses the bug tracking system to follow up on bug reports and fix bugs. Typically, there is only one maintainer for a single package, but increasingly small teams of developers "co-maintain" larger and more complex packages and groups of packages.
Periodically, a package maintainer makes a release of a package by uploading it to the "incoming" directory of the Debian package archive (or an "upload queue" which periodically batch-transmits packages to the incoming directory). Package uploads are automatically processed to ensure that they are well-formed (all the requisite files are in place) and that the package is [[digital signature|digitally signed]] by a Debian developer using [[OpenPGP]]-compatible software. All Debian developers have [[public key]]s. Packages are signed to be able to reject uploads from hostile outsiders to the project, and to permit accountability in the event that a package contains a serious [[Computer bug|bug]], a violation of policy, or malicious code.
If the package in incoming is found to be validly signed and well-formed, it is installed into the archive into an area called the "pool" and distributed every day to hundreds of [[mirror (computing)|mirrors]] worldwide. Initially, all package uploads accepted into the archive are only available in the "unstable" suite of packages, which contains the most up-to-date version of each package.
However, new code is also untried code, and those packages are only distributed with clear disclaimers. For packages to become candidates for the next "stable" release of the Debian distribution, they first need to be included in the "testing" suite. The requirements for a package to be included in "testing" is that it:<ref>{{cite web | url=http://www.debian.org/doc/developers-reference/ch-pkgs.en.html#s-testing-unstable | accessdate=2007-08-09 | title= Debian Developer Reference }}</ref>
* must have been in ''unstable'' for the appropriate length of time (the exact duration depends on the "urgency" of the upload).
* must not have a greater number of "release-critical" bugs filed against it than the current version in testing. Release-critical bugs are those bugs which are considered serious enough that they make the package unsuitable for release.
* must be compiled for all release architectures the package claims to support (eg: the i386-specific package gmod can be included in "testing").
* must be a package for an architecture that is slated to release (in other words, packages for architectures that aren't scheduled to release with all the rest are never considered for "testing").<ref>[http://packages.debian.org/testing/sound/gmod Debian - Details of package gmod in lenny<!-- Bot generated title -->]</ref>
* must not depend on versions of any packages that do not meet the above conditions.
[[Image:debianaptget.jpg|right|150px|thumb|APT shown on Debian Sarge]]
Thus, a release-critical bug in a package on which many packages depend, such as a shared library, may prevent many packages from entering the "testing" area, because that library is considered deficient.
Periodically, the Release Manager publishes guidelines to the developers in order to ready the release, and in accordance with them eventually decides to make a release. This occurs when all important software is reasonably up-to-date in the release-candidate suite for all architectures for which a release is planned, and when any other goals set by the Release Manager have been met. At that time, all packages in the release-candidate suite ("testing") become part of the released suite ("stable").
It is possible for a package -- particularly an old, stable, and seldom-updated one -- to belong to more than one suite at the same time. The suites are simply collections of pointers into the package "pool" mentioned above.
== Releases ==
[[Image:Debian releases.svg|thumb|Graph of release dates, updates, and security support]]
As of April 2007, the latest stable release is version 4.0, code name ''etch''.<ref>{{cite web | url=http://www.us.debian.org/releases/ | accessdate=2007-05-22 | title= Debian Releases }}</ref> When a new version is released, the previous stable is labeled ''oldstable''; currently, this is version 3.1, code name ''sarge''.
In addition, a stable release gets minor updates (called ''point releases'') marked, for example, like 4.0r3.
The Debian security team releases security updates for the latest stable major release, as well as for the previous stable release for one year.<ref name="lifespan">[http://www.debian.org/security/faq#lifespan Debian security FAQ: Lifespan]</ref> Version 4.0 ''Etch'' was released on [[8 April]] [[2007]], and the security team supported version 3.1 ''Sarge'' until March 31 2008. For most uses it is strongly recommended to run a system which receives security updates. The ''testing'' version also receives security updates.<ref>[http://secure-testing-master.debian.net/ Debian testing security team]</ref>
Debian has made nine major stable releases:<ref>{{cite web | url = http://www.debian.org/doc/manuals/project-history/ch-releases.en.html | title = A Brief History of Debian: Debian Releases}}</ref>
{| class="wikitable"
|-
! Color
! Meaning
|-
| style="background-color:#fa8072;" | Red
| Old release; not supported
|-
| style="background-color:#f0e68c;" | Yellow
| Old release; still supported
|-
| style="background-color:#A0E75A;" | Green
| Current release
|-
| style="background-color:#87ceeb;" | Blue
| Future release
|}
{| class="wikitable"
! Version
! [[Code name]]
! Release date
! [[Computer architecture|Archs]]
! Packages
! Support
! Notes
|-
| 1.1
| ''buzz''
| align="right" | [[17 June]] [[1996]]
| align="right" | 1
| align="right" | 474
| style="background-color:#fa8072;"|1996
| <tt>dpkg</tt>, [[Executable and Linkable Format|ELF]] transition, Linux 2.0<ref>{{cite web | url = http://www.debian.org/doc/manuals/project-history/ch-detailed.en.html#s4.2 | date = [[2007-04-03]] | accessdate = 2007-04-26 | title = A Brief History of Debian, 4.2: the 1.x Releases | quote = 1.1 ''Buzz'' released June 1996 (474 packages, 2.0 kernel, fully ELF, dpkg)}}</ref>
|-
| 1.2
| ''rex''
| align="right" | [[12 December]] [[1996]]
| align="right" | 1
| align="right" | 848
| style="background-color:#fa8072;"|1996
| -
|-
| 1.3
| ''bo''
| align="right" | [[5 June]] [[1997]]
| align="right" | 1
| align="right" | 974
| style="background-color:#fa8072;"|1997
| -
|-
| 2.0
| ''hamm''
| align="right" | [[24 July]] [[1998]]
| align="right" | 2
| align="right" | ~ 1500
| style="background-color:#fa8072;"|1998
| [[GNU C Library|glibc]] transition, new architecture: <tt>m68k</tt><ref>{{cite web | url=http://www.debian.org/doc/manuals/project-history/ch-detailed.en.html#s4.3 | date = [[2007-04-03]] | accessdate = 2007-04-26 | title = A Brief History of Debian, 4.3: the 2.x Releases | quote = Debian 2.0 (''Hamm'') was released July 1998 for the Intel i386 and Motorola 68000 series architectures. This release marked the move to a new version of the system C libraries (glibc2 or for historical reasons libc6).}}</ref>
|-
| 2.1
| ''slink''
| align="right" | [[9 March]] [[1999]]
| align="right" | 4
| align="right" | ~ 2250
| style="background-color:#fa8072;"|2000-12
| <tt>APT</tt>, new architectures: <tt>alpha</tt>, <tt>sparc</tt><ref>{{cite web | url=http://www.debian.org/doc/manuals/project-history/ch-detailed.en.html#s4.3 | date = [[2007-04-03]] | accessdate = 2007-04-26 | title = A Brief History of Debian, 4.3: the 2.x Releases | quote = this release of Debian was the first to require 2 CD-ROMs for the "Official Debian CD set"}}</ref>
|-
| 2.2
| ''potato''
| align="right" | [[15 August]] [[2000]]
| align="right" | 6
| align="right" | ~ 3900
| style="background-color:#fa8072;"|2003-04
| New architectures: <tt>arm</tt>, <tt>powerpc</tt><ref>{{cite mailing list | url = http://lists.debian.org/debian-announce/debian-announce-2000/msg00009.html | title = Debian GNU/Linux 2.2, the "Joel 'Espy' Klecker" release | mailinglist = debian-announce | date = [[2000-08-15]] | author = Martin Schulze }}</ref>
|-
| 3.0
| ''woody''
| align="right" | [[19 July]] [[2002]]
| align="right" | 11
| align="right" | ~ 8500
| style="background-color:#fa8072;"|2006-08
| New architectures: <tt>hppa</tt>, <tt>ia64</tt>, <tt>mips</tt>, <tt>mipsel</tt>, <tt>s390</tt><ref>{{cite web | url=http://www.debian.org/doc/manuals/project-history/ch-detailed.en.html#s4.4 | date = [[2007-04-03]] | accessdate = 2007-04-26 | title = A Brief History of Debian, 4.4: the 3.x Releases | quote = This is the first release including HP PA-RISC, IA-64, MIPS, MIPS (DEC) and IBM s/390 ports.}}</ref>
|-
| 3.1
| ''sarge''
| align="right" | [[6 June]] [[2005]]
| align="right" | 11
| align="right" | ~ 15400
| style="background-color:#fa8072;"|2008-04.<ref name="lifespan" />
| Modular installer, semi-official <tt>amd64</tt> support
|-
| 4.0
| ''etch''
| align="right" | [[8 April]] [[2007]]
| align="right" | 11
| align="right" | ~ 18000
| style="background-color:#A0E75A;"|2009-09.<ref name="lifespan" />
| Graphical installer, [[udev]] transition, modular [[X.Org Server|X.Org]] transition, new architecture: <tt>amd64</tt>, dropped architecture: <tt>m68k</tt><ref>{{cite mailing list | url = http://lists.debian.org/debian-announce/debian-announce-2007/msg00002.html | title = Debian GNU/Linux 4.0 released | mailinglist = debian-announce | date = [[2007-04-08]] | author = Alexander Schmehl }}</ref>
|-
| 5.0<ref>[http://lists.debian.org/debian-devel-announce/2008/03/msg00001.html Release Update: Release numbering, goals, armel architecture, BSPs]</ref>
| ''lenny''<ref>{{cite mailing list | url = http://lists.debian.org/debian-devel-announce/2006/11/msg00004.html | title = testing d-i Release Candidate 1 and more release adjustments | mailinglist = debian-devel-announce | date = [[2006-11-16]] | author = Steve Langasek }}</ref>
| align="right" | Planned for September 2008<ref name=releaseupdate20080203>[http://lists.debian.org/debian-devel-announce/2008/06/msg00000.html release update: release team, blockers, architectures, schedule, goals]</ref>
| align="right" | TBA
| align="right" | TBA
| style="background-color:#87ceeb;"|TBA<ref name="lifespan" />
| 32-bit [[SPARC]] architecture dropped. Almost complete [[UTF-8]] support.<ref name=releaseupdate20080203 />
|}
Due to an incident involving a CD vendor who made an unofficial and broken release labeled ''1.0'', an official 1.0 release was never made.<ref>{{cite web | url=http://www.debian.org/doc/manuals/project-history/ch-detailed.en.html#s4.1 | date = [[2007-04-03]] | accessdate = 2007-05-24 | title = A Brief History of Debian, 4.1: the 0.x Releases | quote = Debian 1.0, which was actually released as Debian 1.1 to avoid confusion after a CDROM manufacturer mistakenly labelled an unreleased version as Debian 1.0.}}</ref>
The code names of Debian releases are [[List of Toy Story characters|names of characters]] from the film ''[[Toy Story]]''. The unstable, development distribution is nicknamed ''sid'', after the emotionally unstable next-door neighbour boy who regularly destroyed toys.<ref>{{cite web | url= http://www.us.debian.org/doc/FAQ/ch-ftparchives#s-sourceforcodenames | accessdate= 2007-05-24 | title= The Debian GNU/Linux FAQ - The Debian FTP archives}}</ref>
== Branches, official and unofficial repositories ==
There are ''stable'' releases about every 18 months, therefore packages in this branch can become too old for users' tastes. This is countered by the ''testing'' and ''unstable'' branches which include recent package versions. The repositories update older packages in ''stable'' and ''oldstable'' with more modern ones or include packages which do not follow Debian guidelines.
=== Branches ===
* '''oldstable''', presently aliased ''sarge'', is the previous ''stable'' release. It is supported until 1 year after a new ''stable'' is released. Debian recommends to update to the new ''stable'' once it has been released.
* '''stable''', presently aliased ''etch'', is the current release that has stable and well tested software. ''Stable'' is made by freezing ''testing'' for a few months where bugs are fixed in order to make the distribution as stable as possible; then the resulting system is released as ''stable''. It is updated only if major security or usability fixes are incorporated. There are ''stable'' releases about every 18 months. ''Stable's'' CDs and DVDs can be found in the Debian web site.
* '''testing''', presently aliased ''lenny'', is what the next major release will be and is currently being tested. The packages included in this branch have had some testing in ''unstable'' but they may not be completely fit for release yet. It contains more modern packages than ''stable'' but older than ''unstable''. This branch is updated continuously. ''Stable'' can be upgraded to ''testing'' by modifying the /etc/apt/sources.list file but the reverse is not possible. It does not get regular security updates and scrutiny from the Debian team. ''Testing's'' CDs and DVDs can be found on the Debian web site.
* '''unstable''', permanently aliased ''sid'', repository contains packages currently under development; it is updated continuously. Packages can be retrieved from the ''unstable'' repository on any Debian site and use them to upgrade a system at any time, but it should not be expected that the system is as usable or as stable as more well tested branches. This repository is for Debian developers who participate in a project and need the latest libraries available. There are Debian Live CDs available and it can be added as a repository.
=== Official repositories ===
The Debian Project has rigorous requirements for software to be considered free. This is why not all software and documentation is available in the official Debian software repository. For example, documents using the [[GNU Free Documentation License]] with sections that the author does not permit to be altered or removed are considered ''non-free'' by Debian.<ref>[http://www.debian.org/vote/2006/vote_001 General Resolution: Why the GNU Free Documentation License is not suitable for Debian main.]</ref> Some in the free software community have criticized the Debian Project for providing a ''non-free'' repository, rather than excluding proprietary software entirely. Others have criticized Debian for separating ''non-free'' packages from the ''main'' repository. These rigorous requirements are countered by the existence of official and unofficial repositories.
These repositories can be used by modifying the /etc/apt/sources.list file.
* '''non-free''': repository have license conditions restricting use or redistribution of the software.
* '''contrib''': repository are freely licensed by the copyright holder but depend on other software that is not free.
* '''experimental''': is not actually a full (self-contained) development branch, it is meant to be a temporary staging area for highly experimental software. Dependencies missing are most likely found in ''unstable''. Debian warns that these packages are likely unstable or buggy and are to be used at the user's own risk.
* '''volatile project''': repository contains updates to the ''stable'' and ''oldstable'' release for programs whose functionality requires frequent updates. Some packages aim at fast moving targets, such as spam filtering and virus scanning, and even when using updated data patterns, they do not really work for the full time of a ''stable'' release. The main goal of ''volatile'' is allowing system administrators to update their systems in a nice, consistent way, without getting the drawbacks of using ''unstable'', even without getting the drawbacks for the selected packages. So ''debian-volatile'' will only contain updates to programs that are necessary to keep them functional.<ref>[http://www.debian.org/volatile/ The debian-volatile Project]</ref>
==== Semi-official repositories ====
* '''backports.org''' repository are recompiled packages from ''testing'' (mostly) and ''unstable'' (in a few cases only, e.g. security updates), therefore they will run without new libraries, wherever it is possible, on ''stable'' or ''oldstable''. This repository's packages are listed along with the Official repositories and Branches in debian.org but the packages are hosted at backports.org.
=== Unofficial repositories ===
These repositories contain packages that are either more modern than the ones found in ''stable'' or include packages that are not included in the official Debian repositories for a variety of reasons such as: e.g. alleged possible patent infringement, binary-only/no sources, or special too restrictive licenses. These repositories can be used by modifying the /etc/apt/sources.list file and by installing a keyring. Their use requires precise configuration of the priority of the repositories to be merged, otherwise these packages may not integrate correctly into the system, and may cause problems upgrading or conflicts between packages from different sources. The Debian Project discourages the use of these repositories as they are not part of the project. Some well-known unofficial repositories include:
* apt-get.org
* debian-multimedia.org
* debian-unofficial.org
== Ports ==
=== Architectures ===
As of the current stable release, the official ports are:<ref>{{cite web | url=http://www.debian.org/ports/ | accessdate=2007-05-25 | title= Debian Ports }}</ref>
* <tt>i386</tt> – [[x86-32]] architecture designed for Intel/AMD 32-bit [[IBM PC compatible|PC]]s and various other systems
* <tt>amd64</tt> – [[x86-64]] architecture designed for Intel/AMD 64-bit [[IBM PC compatible|PC]]s and various other systems
* <tt>alpha</tt> – [[DEC Alpha]] architecture
* <tt>sparc</tt> – [[SPARC|Sun SPARC]] architecture on [[Sun-4m]], [[Sun-4u]], and [[Sun-4v]] systems
* <tt>arm</tt> – [[ARM architecture]] on [[Risc PC]] and various embedded systems (little-endian)
* <tt>powerpc</tt> – [[PowerPC]] architecture
* <tt>hppa</tt> – [[PA-RISC family|HP PA-RISC]] architecture
* <tt>ia64</tt> – [[Itanium|Intel Itanium]] (IA-64) architecture
* <tt>mips</tt>, <tt>mipsel</tt> – [[MIPS architecture]] (big-endian and little-endian)
* <tt>s390</tt> – [[IBM ESA/390]] architecture and [[z/Architecture]]
The <tt>m68k</tt> port was the second official port in Debian, and has been part of five stable Debian releases. Due to its failure to meet the release criteria, it has been dropped before the release of ''etch''. Still, it continues to be available as part of the ''unstable'' distribution:
* <tt>m68k</tt> – [[68k|Motorola 68k]] architecture on [[Amiga]], [[Atari ST|Atari]], [[Macintosh]], and various embedded [[VMEbus|VME]] systems
Ongoing efforts include ports to [[SuperH|Hitachi SuperH]] (<tt>sh</tt>) and [[M32R|Renesas M32R]] (<tt>m32r</tt>) architectures, big-endian ARM port (<tt>armeb</tt>), little-endian [[Embedded Application Binary Interface|EABI]] ARM port (<tt>armel</tt>), and 64-bit-only PowerPC port (<tt>[[ppc64]]</tt>).
=== Kernels ===
{{details|GNU variants}}
The Project describes itself as creating a "Universal Operating System" and several [[porting|ports]] of all [[Userland (computing)|userland]] software to various operating system [[Kernel (computer science)|kernels]] are under development:<ref name="Kernel ports">
{{cite web |url=http://www.debian.org/ports/#nonlinux |title=Debian -- Ports |accessdate=2007-08-10
| date=28 |year=2007 |month=July |format=Webpage |work=Webpage |publisher=Debian Foundation
| language=English}}
</ref>
* ''Debian GNU/Linux'', on the [[Linux kernel]] — the original, officially released port
* ''[[Debian GNU/Hurd]]'', on [[GNU Hurd]]
* ''[[Debian GNU/kFreeBSD]]'', on the [[FreeBSD]] kernel
* ''[[Debian GNU/NetBSD]]'', on the [[NetBSD]] kernel
Although these are official Debian projects, there have been no official releases of the non-Linux ports yet, so currently Debian is exclusively a Linux distribution.
=== Debian Installer ===
{| border="0" style="background:transparent;"
| style="background:transparent; color:black" | Starting Debian 4.0 Etch, a graphical version of the installer is available for [[x86-32|i386]] and [[x86-64|amd64]]. For [[PowerPC]] the graphical installer is only available as a separate, experimental image. For most installation images, the graphical installer can be started by typing "installgui" at the boot screen. The graphical version allows the user to use the mouse rather than just the keyboard.
|
[[Image:installgui.png|150px x 150px|thumb|center|Type "installgui"]]
||
[[Image:debian-installer.png|150px x 150px|thumb|center|Picture of a [[GUI]] install]]
|}
=== Desktop environments ===
Debian offers ''stable'' and ''testing'' CDs/DVDs for each major [[desktop environment]]: [[GNOME]], the default, along with [[KDE]] and [[Xfce]] as alternatives.
=== Debian Live ===
A Debian Live system is a version of Debian that can be booted directly from [[removable media]] (CDs, DVDs, USB keys) or via [[netboot]] without having to install it on the hard drive. <ref>[http://wiki.debian.org/DebianLive/ DebianLive - Debian Wiki<!-- Bot generated title -->]</ref> This allows the user to try out Debian before installing it or use it as a boot-disk. There are prebuilt Debian Live CD Images for ''etch'', ''lenny'', and ''sid'' for all three major [[desktop environment]]s: [[GNOME]], [[KDE]] and [[Xfce]]. ''Etch'' is available in both [[x86-32|i386]] and [[x86-64|amd64]] while ''lenny'' and ''sid'' are only available in [[x86-32|i386]]. A hard disk installation can be achieved using the Debian Installer included in the CD. Customized CD Images can be built using live-helper. Live-helper can not only generate CD Images, but also bootable DVDs, images for USB thumb drives, or [[netboot]] images. Live-magic is a [[GUI]] for live-helper.
== Hardware requirements ==
Debian's recommended system requirements differ depending on the level of installation, which corresponds to increased numbers of installed components:<ref>{{cite web | url= http://www.debian.org/releases/stable/i386/ch03s04.html.en | title= Meeting Minimum Hardware Requirements}}</ref>
{| class="wikitable" cellpadding="3" cellspacing="0" style="text-align:center;"
|-
!|Install Type
!|[[RAM]] (minimal)
!|[[RAM]] (recommended)
!|Hard Drive space used
|-
| No desktop
| 64 [[Megabyte|MB]]
| 256 [[Megabyte|MB]]
| 1 [[Gigabyte|GB]]
|-
| With Desktop
| 64 [[Megabyte|MB]]
| 512 [[Megabyte|MB]]
| 5 [[Gigabyte|GB]]
|}
A 1Ghz [[Pentium 3]] or [[Athlon XP]] [[Central processing unit|CPU]] is the minimum recommended for desktop systems.
The actual minimum memory requirements are a lot less than the numbers listed in this table. Depending on the [[Computer architecture|architecture]], it is possible to install Debian with as little as 20[[Megabyte|MB]] (for [[IBM eServer zSeries|s390]]) to 48[[Megabyte|MB]] (for [[X86-32|i386]] and [[amd64]]). The same goes for the disk space requirements, especially if a user picks and chooses which applications to install.
It is possible to run a graphical [[desktop environment]] on older or low-end systems, but in that case it is recommended to install a [[window manager]] that is less resource-hungry than those of the [[GNOME]] or [[KDE]] desktop environments; alternatives include [[Xfce]], [[IceWM]] and [[Wmaker]], but there are others to choose from.
It is practically impossible to give general [[RAM]] or disk space requirements for server installations as those very much depend on what the server is to be used for.
== See also ==
{{portal|Free software|Free Software Portal Logo.svg}}
* [[Comparison of Linux distributions]]
* [[DCC Alliance]]
* [[List of Linux distributions#Debian-based|List of Debian-based Linux distributions]]
* [[List of Debian Project Leaders]]
== Notes ==
{{reflist|3}}
== References ==
{{refbegin|2}}
* [[Martin Felix Krafft|Krafft, Martin F.]] ''[[The Debian System]]''. Published by [[Open Source Press]] (Germany) and [[No Starch Press]] (United States), 2005. (ISBN 3-937514-07-4) / (ISBN 1-59327-069-0) / ([http://www.debiansystem.info Website])
* [[Benjamin Mako Hill|Hill, Benjamin Mako]] et al. ''Debian GNU/Linux 3.1 Bible''. Published by [[John Wiley & Sons]], 2005. (ISBN 0-7645-7644-5)
{{refend}}
== External links ==
{{Commons|Debian}}
{{wikibooks}}
* [http://www.debian.org/ Official website]
* {{Distrowatch|debian|NAME=Debian GNU/Linux}}
* [http://groups.google.com/group/comp.os.linux.development/msg/a32d4e2ef3bcdcc6?output=gplain Original comp.os.linux.development announcement from 1993]
* [irc://irc.freenode.net/debian #debian] on [[freenode]]
* [irc://irc.oftc.net/debian #debian] on [[Open and Free Technology Community|OFTC]]
{{Debian}}
{{Linux-distro}}
[[Category:Debian]]
[[Category:Linux distributions]]
[[Category:1993 establishments]]
[[Category:X86-64 Linux distributions]]
[[als:Debian]]
[[ar:دبيان]]
[[bn:ডেবিয়ান]]
[[bs:Debian]]
[[bg:Дебиан]]
[[ca:Debian]]
[[cs:Debian]]
[[da:Debian]]
[[de:Debian]]
[[el:Debian GNU/Linux]]
[[es:Debian]]
[[eo:Debiano]]
[[eu:Debian]]
[[fa:دبیان]]
[[fr:Debian]]
[[gl:Debian GNU/Linux]]
[[gu:ડેબિયન]]
[[ko:데비안]]
[[hr:Debian]]
[[id:Debian]]
[[ia:Debian]]
[[it:Debian]]
[[he:דביאן GNU/לינוקס]]
[[jv:Debian]]
[[ku:Debian]]
[[la:Debian GNU/Linux]]
[[lv:Debian]]
[[lt:Debian]]
[[hu:Debian]]
[[ml:ഡെബിയന് ലിനക്സ്]]
[[nl:Debian]]
[[ne:डेबियन]]
[[ja:Debian]]
[[no:Debian]]
[[nn:Debian]]
[[pl:Debian]]
[[pt:Debian]]
[[ro:Debian GNU/Linux]]
[[ru:Debian]]
[[simple:Debian]]
[[sk:Debian]]
[[sl:Debian]]
[[sr:Debian]]
[[sh:Debian]]
[[fi:Debian]]
[[sv:Debian GNU/Linux]]
[[tl:Debian GNU/Linux]]
[[th:เดเบียน]]
[[vi:Debian]]
[[tr:Debian]]
[[uk:Debian GNU/Linux]]
[[zh-yue:Debian]]
[[zh:Debian]]