The Debian Project

Debian Advantages HOWTO

Scope of this document

This document aims to describe common advantages of the use of Debian GNU, especially Debian GNU/Linux instead of other GNU/Linux distributions.

  1. Upgradability
  2. Availability
  3. Debian is Free
  4. Integration
  5. Filesystem Standard
  6. Configuration Files
  7. Configuration Management
  8. Source
  9. High Quality
  10. Pre-Configuration
  11. Bug Tracking System
  12. Testbed
  13. Remote Maintenance
  14. Syslog
  15. Breadth of Support
  16. User Support
  17. Separation between stable/testing/unstable
  18. Size of the Distribution

------------------------------

Debian's Advantages

1. Upgradability

A Debian GNU system is upgraded to a new minor subrelease or to a new major release by using one out of many methods. Single desktop machines can use the CD-ROM-method or the network-method while the machine runs without the need to reboot it.

Machines connected to a network, production machines, that must not be taken down, normally use the network-method directly. There is no need to take the machine down, reboot it or switch into single-user mode for upgrading it. Using either apt-get (recomended), dpkg-ftp or dpkg-http the admin is able to access various archives on the net or on local disks/cdroms.

Reviews of other distributions have shown that the possibility to upgrade a system without taking it down, rebooting or even crashing it seems to be a unique feature of Debian GNU.

2. Availability

Debian GNU has been released for several architectures using the Linux kernel. Ports using a different kernel (Hurd, NetBSD and FreeBSD) are in progress as well.

This gives the administrator of machines in a heterogenous network the advantage of using the same operating system on all machines which will reduce maintenance time significantly. Even if you like the networking code of FreeBSD more than the one from Linux you don't have to miss the remaining Debian system around.

The Debian project is the only distribution which officially supports the m68k, mips, mipsel, sparc architectures, which may not be commercially interesting and hence don't get company-support for other distributions. These ports will be maintained inside of Debian as long as there is interest and sufficient machines are available.

3. Debian is Free

Debian reads and interprets licenses of software very careful. With the Debian Free Software Guidelines a rule-set exists that helps separate Free Software from non-free software. Using only Debian the user can be sure to be granted all required freedoms.

4. Integration

Debian packages integrate very well into the entire system. Several tools and gadgets are used to help connecting packages to each other, presenting the user a well maintained and round system.

The basis to this are fine grained dependencies for all packages, the menu-system that connects all prominent programs to the menus of all window managers, documentation for all packages combined with dwww, dhelp in /usr/share/doc/, support for alternative programs (e.g. several concurrent implementations of vi) etc.

Debian's clean implementation of SysV boot scripts also keeps things clear and simple. If something weird happens during boot time, you know where to look. It's more versatile and cleaner than a rc.local or a mix of both. It also makes upgrading easy, even after a lot of customizing.

Additionally, due to an abstraction layer using `update-rc.d' and `rc' it is possible to replace the common SysV init scripts by something else, like file-rc, that comes with one single configuration file instead of a farm of links.

Fine grained dependencies enables the user to type 'apt-get install foo' and not only the foo-package will be installed but every other package foo needs as well. There is no need to look for library bar or tool baz in order to get the foo-package work, it gets installed at the same time, apt-get takes care of it.

5. Filesystem Standard

Debian follows the Filesystem Hierarchy Standard very close. Hence, all Debian package implement the same file and directory structure. /etc. contains all configuration files, they don't clutter the entire filesystem instead. /usr/local and /opt are not touched by Debian but reserved for the local admin. Documentation is placed in /usr/share etc.

6. Configuration Files

Configuration files are treated specially. Every package that provides configuration files has them marked so the package system knows about them. When a package is upgraded, the configuration file is not automatically overwritten when it was modified locally. Instead the admin is informed and offered to show the differenced between the local and the new configuration file.

7. Configuration Management

Much of the configuration is handled by debconf, which itself offeres a variety of frontends to use. People who like not to be annoyed with questions can configure it to skip many questions and use default values instead. Those who prefer a graphical interface, can configure it to use a GTK frontend. This technique will also be used in the upcoming debian-installer.

8. Source

For all packages of the distribution the whole source is available. The entire distribution is free according to the DFSG which also means that everybody can improve packages and still distribute them.

Pristine source and Debian improvements are kept in separate files, so one does not need to fetch the whole source archive again in order to keep up with changes. Instead just the new diff-file is needed. This can save a lot of time (and money if you have to pay for traffic or time) in the case of large packages (i.e. emacs, XFree86, gcc).

9. High Quality

The maintainers generally have a strong personal interest in each package they maintain, since they normally volunteered to maintain it because they wanted to use it themselves. This results in in high quality work, by highly motivated, and generally technically skillful people, which in turn gives us high quality throughout the whole distribution.

10. Pre-Configuration

Each Debian package comes preconfigured. As a result, all programs work out-of-the-box once they're installed, there is no need to reconfigure them afterwards. Of course, you are free to reconfigure or fine-tune the packages and Debian packages will not throw away your changes.

11. Bug Tracking System

The Debian Project maintains an open bug tracking system where everybody is able to report bugs to. Under normal circumstances bugs will be fixed within a few days.

12. Testbed

The Debian-Project pays more attention to quality and testing than to often-releasing. As a result of this, each released version of Debian GNU has been well tested over a long period and all major bugs have been removed.

Indeed, the entire distribution is tested by at least all active developers and interested users from the beginning. The entire development system is available for download and testing during the whole development period.

13. Remote Maintenance

A Debian GNU system can fully administered remotely. This includes configuration and package maintenance as well as installation or removal of new packages.

This is a unique feature of Debian GNU. You can do a full operating system upgrade remotely, almost always without the need to reboot, and generally without the services that the machine offers being off the air for more than a few minutes.

While someone with deep experience can achieve this result on other operating systems, they will often have to adopt some fairly extreme tricks to do it, will not be at all sure that it is going to work, and will need to be very careful that each step is performed in exactly the right order. If they get it wrong, they will generally need physical access to the machine to recover.

That's OK it it's in the room next door, but there are times when physical access is difficult, expensive or pretty much impossible.

With Debian GNU not only is this possible, it is easy. It is even possible for an only mildly skilled system administrator to perform actions as fraught with worries as remotely replacing the kernel, and rebooting (in the hope that the machine will come back up in a minute or two), with a reasonable expectation of success.

This can be especially important in the case of machines that are a security concern. If a security bug is discovered in the kernel, or a network server, the ability to instantly access the server and install the fix (when it becomes available) could be very important. Especially if the alternative involves getting a long-haul flight.

14. Syslog

Using Debian GNU you can be relatively sure that syslog files contain what they should - contrary to other unices where you can depend on syslog messages ending up in any file but not the one you would expect them. It seems that nothing is compiled to use the correct syslog facility. Thus you'll get non-mail programs logging to facility mail, mail progs logging to daemon or local1, and so on. Debian's policy ensures that all programs log to the appropriate facility.

15. Breadth of Support

Many useful tools are just an "apt-get install" away from running on Debian. While all Debian software can be made to run on other systems. Things are very easy to install, and most of the time someone else will deal with the upgrade issues for you.

It's those little things that make Debian great.

16. User Support

Debian does not have an office in any country providing first- and second-level support. This is an advantage since pretty much any problem is likely to be answered within a few hours by other expert Debian users or Debian developers on one of the mailing lists.

17. Separation between stable/testing/unstable

The separation between stable, testing and unstable offers the user three distributions he can choose from, with different scopes and contents. For the average user, Debian stable is the distribution to use. For those who need more recent packages but don't want to run bleeding edge software, while not depending on timely security and other updates, Debian testing may be what they are looking for. Users who always want to run most recent software, Debian unstable will be their choice.

18. Size of the Distribution

Debian contains more packages than any other GNU/Linux distribution, leaving the user with a lot of Free Software to choose and use. Using mechanisms like update-alternatives more than one similar package can be installed simultaneously so the user has choice.

Summarised by Martin Schulze