Debian Etch's default GNOME desktop |
|
Company / developer | Debian Project |
---|---|
OS family | GNU (various kernels) |
Working state | Current |
Source model | Free and open source software |
Initial release | August 16 1993 |
Latest stable release | 4.0r5 Etch / October 23 2008 |
Available language(s) | Multilingual |
Update method | APT |
Package manager | APT, with several front-ends available |
Supported platforms | i386(x86), amd64(x86-64), PowerPC, SPARC, DEC Alpha, ARM, MIPS, HPPA, S390, IA-64 |
Kernel type | Monolithic (Linux, FreeBSD, NetBSD), Micro (Hurd) |
Default user interface | GNOME, KDE & Xfce |
Website | www.debian.org |
Debian (pronounced [ˈdɛbiən]) is a computer operating system composed entirely of free and open source software. The primary form, Debian GNU/Linux, is a popular and influential Linux distribution.[1] Debian is known for strict adherence to the Unix and free software philosophies. Debian uses open development and testing processes.[2] Debian can be used as a desktop as well as server operating system.
The Debian Project is an independent organization; it is not backed by a company like other Linux distributions such as Ubuntu, openSUSE, Fedora, and Mandriva. A SLOC-based estimate measured that Debian etch would cost close to US$13 billion if it was proprietary software.[3] Since its founding in 1993, Debian is governed by the Debian Constitution[4] and the Social Contract[5] which states that the goal of the project is the development of a free operating system and to ensure that Debian remains 100% free. Debian is developed by over one thousand volunteers from around the world[6] and supported by donations through SPI, a non-profit umbrella organization for various free software projects.[7] Many distributions are based on Debian, including Ubuntu, MEPIS, Dreamlinux, Damn Small Linux, Xandros, Knoppix, Linspire, sidux, Kanotix, and LinEx, among others.[8]
Debian is also known for an abundance of options. The current release, Debian etch, includes over eighteen thousand software packages for eleven computer architectures. These architectures range from the Intel/AMD 32-bit/64-bit architectures commonly found in personal computers to the ARM architecture commonly found in embedded systems and the IBM eServer zSeries mainframes.[9] Prominent features of Debian are the APT package management system, repositories with large numbers of packages, strict policies regarding packages, and the quality of releases.[8] These practices allow easy upgrades between releases and easy automated installation and removal of packages.
The GNOME default install provides popular programs such as OpenOffice.org, Iceweasel (a rebranding of Firefox), Evolution mail, CD/DVD writing programs, music and video players, image viewers and editors, and PDF viewers. A default installation requires only the first GNOME, KDE or Xfce CD/DVD. The remaining discs, which span four DVDs or over twenty CDs, contain all eighteen thousand extra packages currently available. The preferred method of install is a net install CD, which includes only necessary software and downloads selected packages during the installation via Debian's package manager, APT (or Synaptic). This method minimises download traffic since only required packages are downloaded.
Contents |
Debian was first announced on 16 August 1993, by Ian Murdock, who was then a student at Purdue University.[10] Murdock initially called the system "the Debian Linux Release".[11] Previously, Softlanding Linux System (SLS) had been the first Linux distribution compiled from various software packages, and was a popular basis for other distributions in 1993-1994.[12] The perceived poor maintenance and prevalence of bugs in SLS[13] motivated Murdock to launch a new distribution.
In 1993 Murdock also released the Debian Manifesto,[14] outlining his view for the new operating system. In it he 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.[15] As such, Debian is pronounced as the corresponding syllables of these names in English: /ˈdɛbiən/[16] but other pronunciations are common in different parts of the world.[17]
The Debian Project grew slowly at first and released the first 0.9x versions in 1994 and 1995. The first ports to other architectures began 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 should 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.[6]
Perens left the project 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 distributions based on Debian, namely Libranet, Corel Linux and Stormix's Storm Linux, were started in 1999.[6]
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 distribution as an ongoing, relatively stable staging area for the next release. In the same year, developers began holding an annual conference called DebConf with talks and workshops for developers and technical users.[6]
In July 2002, the Project released version 3.0, codenamed woody, a stable release which would see relatively few updates until the following release, 3.1 sarge in June 2005.[6]
There were many major changes in the sarge release, mostly due to the large time it took to freeze and release the distribution. Not only did this release update over 73% of the software shipped in the previous version, but it also included much more software than previous releases, almost doubling in size with 9,000 new packages. A new installer replaced the aging boot-floopies installer with a modular design. This allowed advanced installations (with RAID, XFS and LVM support) including hardware detection, making installations easier for novice users. In the sarge release Debian switched to advanced packaging tool for package management. The installation system also boasted full internationalization support as the software was translated into almost forty languages. An installation manual and comprehensive release notes were released in ten and fifteen different languages respectively. This release included the efforts of the Debian-Edu/Skolelinux, Debian-Med and Debian-Accessibility sub-projects which boosted the number of educational packages and those with a medical affiliation as well as packages designed especially for people with disabilities.[6]
Debian 4.0 (etch) was released April 8th, 2007 for the same number of architectures as in sarge. It included the AMD64 port but dropped support for m68k. The m68k port was, however, still available in the unstable distribution. There were around 18,200 binary packages maintained by more than 1,030 Debian developers.[6]
Software packages in development are either uploaded to the project distribution named unstable (also known as sid), or to the experimental repository. 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 distribution is typically placed in the experimental repository.[18]
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 distribution. 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.[18]
Since updates to Debian software packages between official releases do not contain new features, some choose to use the testing and unstable distributions for their newer packages. However, these distributions are less tested than stable, and unstable does not receive timely security updates. In particular, incautious upgrades to working unstable packages can sometimes seriously break software functionality.[19] Since September 9, 2005[20] the testing distributions security updates have been provided by the testing security team.[21]
After the packages in testing have matured and the goals for the next release are met, the testing distribution becomes the next stable release. The latest stable release of Debian (etch) is 4.0, released on April 8, 2007. The forthcoming release is codenamed "lenny".[18]
The Debian Project is a volunteer organization with three foundational documents:
Currently, the project includes more than a thousand developers. Each of them sustains some niche in the project, be it 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 handled by the domain of smaller, more collaborative groups of developers.
The project maintains official mailing lists and conferences for communication and coordination between developers.[22] For issues with single packages or domains, a public bug tracking system is used by developers and end-users. 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 Cloneproof Schwartz Sequential Dropping, a Condorcet method of voting. A 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 used. 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 that of a Release Manager. Release Managers set goals for the next release, supervize the processes, and make the final decision as to when to release.[23] [24]
The project has had the following leaders:[25]
A supplemental position, Debian Second in Charge (2IC), was created by Anthony Towns. Steve McIntyre held the position between April 2006 and April 2007.
Note that this list includes the active release managers; it does not include the release assistants (first introduced in 2003) and the retiring managers ("release wizards").[23]
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.[26]
Debian Developers join the Project for a number of reasons; some that have been cited in the past include:[27]
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 keyring maintainer (so that their upload authorization can be revoked).
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 digitally signed by a Debian developer using OpenPGP-compatible software. All Debian developers have public keys. 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 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 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:[28] [29]
|
|
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.
As of April 2007, the latest stable release is version 4.0, code name etch.[30] 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.[31] 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 distribution also receives security updates.[32]
Debian has made nine major stable releases:[6]
Color | Meaning |
---|---|
Red | Old release; not supported |
Yellow | Old release; still supported |
Green | Current release |
Blue | Future release |
Version | Code name | Release date | Archs | Packages | Support | Notes |
---|---|---|---|---|---|---|
1.1 | buzz | 17 June 1996 | 1 | 474 | 1996 | dpkg, ELF transition, Linux 2.0[6] |
1.2 | rex | 12 December 1996 | 1 | 848 | 1996 | - |
1.3 | bo | 5 June 1997 | 1 | 974 | 1997 | - |
2.0 | hamm | 24 July 1998 | 2 | ~ 1500 | 1998 | glibc transition, new architecture: m68k[6] |
2.1 | slink | 9 March 1999 | 4 | ~ 2250 | 2000-12 | APT, new architectures: alpha, sparc[6] |
2.2 | potato | 15 August 2000 | 6 | ~ 3900 | 2003-04 | New architectures: arm, powerpc[33] |
3.0 | woody | 19 July 2002 | 11 | ~ 8500 | 2006-08 | New architectures: hppa, ia64, mips, mipsel, s390[6] |
3.1 | sarge | 6 June 2005 | 11 | ~ 15400 | 2008-04[31] | Modular installer, semi-official amd64 support |
4.0 | etch | 8 April 2007 | 11 | ~ 18000 | 2009-4Q[31] | Graphical installer, udev transition, modular X.Org transition, new architecture: amd64, dropped architecture: m68k.[34] Latest update 4.0r5 was released 2008-10-23[35] |
5.0[36] | lenny[37] | In preparation | TBA | TBA | TBA[31] | 32-bit SPARC architecture dropped.[38] New architecture/binary ABI: armel.[39] Almost complete UTF-8 support.[40] Full Eee PC support.[41] |
TBA | squeeze[42] | TBA | TBA | TBA | TBA | - |
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.[6]
The code names of Debian releases are names of characters from the film Toy Story. The unstable, development distribution is nicknamed sid, after the emotionally unstable next-door neighbor boy who regularly destroyed toys.[18]
Any of the repositories can be added or modified by editing the /etc/apt/sources.list file or modifying the settings in Synaptic.[43] This is an example of the contents of this file:
deb http://http.us.debian.org/debian stable main contrib non-free
The Debian Project offers 3 distributions to choose from, each with different characteristics. The distributions include FOSS packages; which are included inside the main repositories.[44]
The Debian Project adheres to a strict interpretation of FOSS. This is why a relatively small number of packages are excluded from the distributions' main repositories and included inside the non-free and contrib repositories:
These are other repositories available in Debian:
These repositories are not part of the Debian Project, they are maintained by third party organizations. They contain packages that are either more modern than the ones found in stable or include packages that are not included in the Debian Project for a variety of reasons such as: e.g. alleged possible patent infringement, binary-only/no sources, or special too restrictive licenses. 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:
As of the current stable release, the official ports are:[47]
The m68k 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:
Ongoing efforts include ports to Hitachi SuperH (sh) and Renesas M32R (m32r) architectures, big-endian ARM port (armeb), little-endian EABI ARM port (armel), and 64-bit-only PowerPC port (ppc64).
The Project describes itself as creating a "Universal Operating System" and several ports of all userland software to various operating system kernels are under development:[49]
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.
|
|
Starting with Debian 4.0 Etch, a graphical version of the installer is available for i386, amd64 and PowerPC. The graphical installer can be started by typing "installgui" at the boot screen.[55]
Debian offers stable and testing CDs/DVDs for each major desktop environment: GNOME (the default), KDE and Xfce.[56] Less common window managers such as Enlightenment, Fluxbox, GNUstep, IceWM, CDE and others can be installed using APT or Synaptic.
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.[57] 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 environments: GNOME, KDE and Xfce. Etch and lenny are available in both i386 and amd64 while sid is only available in 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.
Debian does not require hardware requirements beyond the requirements of the Linux kernel and the GNU tool-sets. Therefore, any architecture or platform to which the Linux kernel, libc, gcc, etc. have been ported, and for which a Debian port exists, can run Debian.[58]
Multiprocessor support, also called “symmetric multiprocessing” or SMP, is available. The standard Debian 4.0 kernel image was compiled with SMP-alternatives support. This means that the kernel will detect the number of processors (or processor cores) and will automatically deactivate SMP on single processor systems.[58]
Debian's recommended system requirements differ depending on the level of installation, which corresponds to increased numbers of installed components:[59]
Install Type | Minimal RAM[59] | Recommended RAM[59] | Hard Drive space used[59] |
---|---|---|---|
No Desktop | 64 MB | 256 MB | 1 GB |
With Desktop | 64 MB | 512 MB | 5 GB |
A 1GHz processor is the minimum recommended for desktop systems.[59]
The real minimum memory requirements are a lot less than the numbers listed in this table. Depending on the architecture, it is possible to install Debian with as little as 20 MB for s390 or 48 MB for i386 and amd64. The same is applicable for disk space requirements which depend on the packages to be installed.[59]
It is possible to run graphical user interfaces on older or low-end systems, but it is recommended to install window managers instead which are less resource-intensive than desktop environments.[59]
Depending on the nature of the server, RAM and disk space requirements can vary widely.[59]
Debian was ranked second only to Ubuntu for Most Used Linux Distribution for both Personal and Organizational use in a 2007 survey by SurveyMonkey.com.[60] Debian won the 2007 poll on Server Distribution of the Year by LinuxQuestions.org.[61]
Both the Debian distribution and their website have won various awards from different organizations. Debian was awarded the 2004 Readers' Choice Award for Favorite Linux Distribution by the Linux Journal.[62] A total of fifteen other awards have been awarded throughout Debian's lifetime including Best Linux Distribution.[63]
Debian has also received negative assessments. 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 Ubuntu or Knoppix, made a variety of security keys vulnerable to a random number generator attack.[64][65] 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.[66] The security hole was soon patched by Debian and others, but the complete resolution procedure was cumbersome for users because it involved regenerating all affected keys, and it drew criticism to Debian's practice of making Debian-specific changes to software.
Some in the free software community have criticized the Debian Project for providing the non-free repository, rather than excluding this type of software entirely. Others have criticized Debian for separating the non-free repository from the distributions' main repositories.[45]
The Debian Project drew considerable criticism from the free software community because of the extended period between stable releases (about every 18 months).[67] This triggered the creation of Ubuntu in 2004, a fork of Debian unstable, which has releases every 6 months. Other free software users have suggested to use testing instead of stable as it contains more modern but slightly less stable packages.
The Debian Project has its own popularity contest project.[68] It is an attempt to map the usage of Debian packages. The package is not installed by default but the current installer asks the users if they wish to participate. By taking part on the survey, the software tracks when packages were last used and sends anonymous information to Debian (either by E-Mail or a webrequest). The package also includes a tool called popcon-largest-unused to track which packages are used seldomly.
|
|