Translation(s): English - Ελληνικά

(!) ?Discussion


There are three principal classes of GNU/Linux distribution:

http://www.debian.org/misc/children-distros.html - Software distributions based on Debian

As of 2003, LinuxWeeklyNews lists 335 active variants of Linux; there are doubtless more. Not all fit into this categorization, but the general rules will serve.

Any managed distro differs from an unmanaged distribution by keeping track of packages (sets of related software), and their dependencies. Generally speaking, the package management system won't let you install packages for which you lack prerequisites, or remove packages on which other packages depend, unless you specifically override it.

Debian takes this a step further by identifying the packages which provide dependencies (often selecting these for installation), or the packages which are dependent on a package selected for removal. Though other distros are beginning to acquire some of this functionality, Debian leads strongly in this area.

Not to rest there, Debian 2.2 introduced debconf, which can be simply described as "Install Shield Wizards Done Right". This system simplifies the process of configuring installed packages and maintaining selected configuration options through an upgrade. Debian 3.0 introduced UpdateCluster, which simplifies administration of networks of machines such as DebianBeowulf clusters. In both cases, the maintenance of our FreeSoftware packages by the vast DebianDeveloper network allows Debian to customize package installation to make these tools useful in a way which no other distribution or proprietary OS can match.

For several classes of packages, DebianPolicy provides consistency which makes administration considerably easier. For example, any package providing emacs lisp code must conform to Debian emacs policy so that, for example, installing auctex byte-compiles its elisp for every version of emacs installed (emacs20, emacs21, mule, xemacs, etc.). The DebianMenu system makes all applications easy to find from any desktop or window manager.

In addition, running Debian has high nerd value as compared to other distributions such as RedHatLinux. It has the benefit of being generally usable and largely accepted in a production environment while still being l33t.

From what I have heard, Gentoo has a fully functional package like system of its own. In fact I hear it is one of the easiest distros to install things, it will automatically download packges and dependancies and build and install them.

A significant difference between Gentoo and Debian is the availability of binary packages from Debian. Gentoo's packages are almost always built on the local machine. This is acceptable to some people, on some machines, but not everyone will have the combination of patience and CPU power to compile nearly everything that runs on their own box. It must be considered that compiling on its own box doesn't necessarily give a great (or even any) speed improvement, as this analysis (dead link) shows. There are various other ways to improve the speed of Debian GNU/Linux. See this page for some hints.

Of course, Gentoo offers most packages as source or binary form for common architectures, but most people don't like to talk about that. It spoils all those compiling jokes.

Some seem to operate under the idea that compiling code on one's own box brings some security advantage. The advantage in using source code, though, comes from reading, auditing, and editing the source code. If one simply downloads and compiles code without first inspecting it, one might as well have downloaded a binary package.


GeorgesMariano The previous paragraph is not ... fair. It's assumed that people used to compile source packages without modifying something. But in fact, the main reason why you choose to compile source is exactly to tweak something (may be activating some functionalities which are not provided by the binary package). AFAIK, Gentoo is provided with a framework which allows such preferences ... and this gives a good reason to choose a source distribution vs a binary distribution.

You can't objectively explain the differences between Debian and Gentoo without exploring the reasons why people, one day, decide to switch.

NB I only use Debian... ;-)

Do also note that it is usually not very complicated to rebuild either deb or rpm packages and add patches or alter build options/commands once you get to know the system a bit. Taking the time to learn to use your package management system is a good investment.


Debian also has a noticeable body and active effort to support ports to non-"standard" CPU architectures. Something not many distributions are willing or capable of doing.


Even though Gentoo offers source compiles, which can be very useful for some packages, Gentoo doesn't offer inverse dependency resolutions. By this I mean, if PackageX depends on LibY and PackageZ, they are automatically installed. But if a user tries to uninstall PackageZ because they never use it, they are warned about PackageX. Gentoo (as far as I know) can't handle inverse dependencies, but beyond that Gentoo is a good distro for someone who likes to tinker with their system.

I just see no advantage to compiling from source, it takes longer for no reason. Why should you compile a program without support for a feature? Because when you eventually need it, you'll have to recompile the whole package. If you really need something added into the program, just compile it into a .deb package, APT will notice it, and if you go at it the official way (i.e. Not checkinstall) Apt will also protect your program and it's dependencies.

And on top of that APT is far more mature than Portage, which is unfair to Gentoo but gives Debian a reputation as maybe not the strongest distro, maybe not the most powerful, but it is definitely one of the largest and most stable distros around. -- MichaelPobega 2007-03-26 11:10:57

Alexander Ljungberg wrote an interesting artice "Why Gentoo Should Not Be On Your Server" http://markhobley.yi.org/gentoo/documents/notonserver/

Reasons for Mixing Distributions and Sharing Media Between Distributions

Using mixed distributions is an advanced technique, and is generally not recommended. However, there a whole series of reasons why a mixed distribution may be desired:

* You have a network of computers running a different distribution, and you now want to migrate to Debian, without breaking the infrastructure. * Your servers run Debian, but you want a different distribution for the desktop clients * You wish to build an entire system from source and need to migrate to a build-from-source type distribution (e.g. Gentoo), because Debian does not currently provide this facility * You have multiple computers with different distributions and want the same packages on all of the computers. * You are developing software or systems and have specialized packaging requirements that utilize non-Debian based systems. * You are sharing or distributing systems files across mixed distributions.