The advantages of the Debian GNU/Linux distribution
The popular Linux distributions - the ones that people get
to know first - are SuSE, Redhat, Mandrake, perhaps Turbolinux and so on.
They are all, more or less, the same: They focus on user friendlyness, ease
of installation, easy documentation, translations, and they sponsor quite a
number of OSS projects.
But there are others: Gentoo, Slackware, Debian, for example. They have
a different focus, they focus on long-term stability, ease of
administration, intelligent pre-configuration and extensive
documentation in one language (English most of the time).
And although the "popular" distributions have caught up in some of the
terms, there is still nothing (IMHO) that can reach the package management
and ease of upgrade in Debian or Gentoo. Here's what I think makes Debian -
my favorite Linux distribution - special.
Pros:
- Developed just like Linux itself - by volunteers around the world. No
company, no marketing plans or deadlines. It's released when it's
finished.
- Stable, fast and small. Minimum installation is about 100MB. You get a
fully functional intranet server (without data space) with web server,
proxy, firewall, mail / news and shell access under 150MB. Debian
installs only what is absolutely necessary, unless you explicitly tell it
otherwise.
- NEVER, EVER, reinstall. The Debian upgrade system (APT, "Another
Package Manager" :-) is
just about the most brilliant thing in this universe. My server (installed
first time 1994) has switched from a.out to ELF, from libc5 to glibc 2.0
to glibc 2.2, Perl 4 -> 5 -> 5.6 without EVER having my system screwed up
so badly that Ineeded to reinstall. At least, not by the installation /
upgrade process: I had a hard disk crash once (backups are good) :-)
I know people who do an "apt-get upgrade" via cron job daily to snatch
all the security upgrades automatically.
- More packages. (ATM, 9000 in the unstable tree if I'm correct)
You have a choice between a dozen webservers and several mail servers. All
pre-configured to be useable. Debian installs Apache and Exim by default but
you can install any number of other mail servers.
- More detailed packaging. Perl is divided into a couple hundred packages
and you get half of CPAN as debian packages. New (non-packaged) Perl
packages go in /usr/local and don't mess up your /usr/lib/ directory.
- No package incompatbilities. Debian packages are Debian packages and the
rules for getting one into the official "tree" are _very_ strict.
E.g. /usr/local for a package is taboo, /usr for non-static data is
taboo, and _all_ configuration is kept in /etc.
That means e.g. that you can safely mount /usr read-only (or via NFS) and
_NO_ Debian package will complain. If one does, it's a bug.
That also means that you can e.g. safely install gcc 2.7.2 and gcc 2.95
*and* gcc 3.x at the same time and not worry about libary chaos or
compilation incompatibilities.
- Oh, yes. *Persons* maintaining the packages, not "builddeamon@XXXXXX.com".
You can actually ask the maintainer for missing features and they will
respond. Try asking SuSE or Redhat to compile an additional module into
Apache by default so you don't have to roll your own for your server.
- Working bug report system. Type "reportbug <packagename>" and the reporter
collects dependancy information, versions, changed config files etc. and
prompts you for an explanation and sends this off to the bug tracker and
the developer('s mailing list). You will be kept up to date about your
bug. (see http://bugs.debian.org)
KDE used the same bug tracking system, BTW. :) (see http://bugs.kde.org)
- More intelligent package management. The Debian APT system has been
figuring out and solving dependancies since 1997, and it _works_. Things
like "cannot be installed because XXXX.rpm is not installed" are past.
You can automagically upgrade the WHOLE SYSTEM via a ssh connection.
Including all network packages: The SSH package detects if it is being upgraded
over a SSH connection and doesn't kill itself during an upgrade.
Examples on request.
- More intelligent pre-configuration. Install bind, and you've got a
running leaf nameserver with working example configuration. All /etc
files are well commented and not a "script generated" mess. No program
refuses to run if you manually modify a config file (can anybody say
"SuSEconfig"?). That's because one of Debian's rules is "Package X may
not modify Package Y's files" - it must call a script from Y, ie. Y
must provide a simple "API" (the script) so Y knows what is changeable
and can care about it..
That's why you can replace sysV-init with simple-init or file-rc and
don't notice any change, except for the file structure change in /etc.
- Debian package generation from tar.gz sources is a SNAP. Even for
newbies. (that is, if the source uses autoconf - which can be expected
nowadays). RPM package generation is a LOT more difficult. And for RPM
you need to be root - DEBs can be created without root access (using fakeroot) and without
actually installing the package anywhere but into a temporary subdirectory.
Unpack the sources, type 'deb-make && debuild -uc -us -b' and you're set.
Cons:
- Installation. It's so straight forward that it doesn't even begin to care
about most of your hardware. Setting up sound, USB, Firewire etc.
mostly means installing the (.deb) packages yourself and editing config
files. X11 is however handled by an installer that asks you simple
questions. The docs are there, however, and you get a running network
and PCMCIA system during installation.
Prepare to configure manually. But you will never need to do it again
- and you will NEVER have to worry about some upgrade to destroy your
configuration. (Unless you don't read what a package that is being
upgraded prompts you.) :-)
- Debian developers are very strict about stability. This is an
advantage, but means e.g. that usually the most recent Xfree86 version
isn't in the stable tree. OTOH, Debian was the first to switch to ELF and
the first to switch to glibc 2.0 and 2.1. And if you do get a package, it
works.
If you are daring, however, you can install from the "testing" tree which
contains packages that were tagged "works for me" by the packager, stayed
in "unstable" for 2 weeks without them getting a critical bugreport, and
don't depend on other packages that do not qualify for testing. Then
you're just as bleeding edge as you can safely get.
"unstable", however is (at times) really unstable - e.g. in January 2000
a new bash package accidentally replaced /bin/sh with a (broken) symlink
to itself. And you might want to read about the Perl 5.6 chaos in the
list archives. But that's what "unstable" is for. If you read the
debian mailing lists you can be totally up-to-date with all applications,
and have a perfectly stable system, with Debian 'unstable'. (I know - I've been running unstable, plus XFree86 CVS, plus
KDE CVS, for some months.)
- Debian's APT somewhat assumes that you have a (fast) net connection to
the Debian FTP mirrors. Installing from CDROM is fine, works well, and
upgrading also - but you don't really get all the benefits of the package
management.
- The default package selection tool (dselect) is a PITA. Don't use it.
Period. There are replacements (console-apt, gnome-apt, red-carpet) but
they are still work in progress. There is no simple answer to "what
package performs task X" yet - look at freshmeat or Debian's package
index on the Web and type "apt-get install packagename".
My personal conclusion
My personal conclusion: Debian is to Linux distributions what
Linux/UNIX is to operating systems.
It's "different". It's a tad difficult at times.
But it's worth it.
Zuletzt geändert am: 23.06.2004 09:21
|