Gentoo vs. Debian

I’ve been playing with Linux since 1999 and using it steadily in one capacity or another since 2001. I’ve tinkered with just about every major distribution out there and have come to some overall conclusions that I thought I’d share.

Gentoo

Gentoo has been my distribution of choice since 2002. My buddy Ken and I giddily installed it one night; we were admittedly taken with the whole source-based craze and couldn’t wait to get our hands on it. Another friend of mine was pushing for our circle to go the route of Sorcerer Linux — a competing, soon-to-be-dead source-based distro.

Anyway, Gentoo quickly became my distro. I’ve run it as a file server, a web server, a game server, and yes — I even ran it on the desktop for like a month (didn’t work out…). At one point I must have had over five Gentoo boxes running at once in various places. Anytime I installed Linux I insisted on it, and when people asked me about it I gave the standard fanboy responses, e.g. faster because it’s compiled for your system, etc.

But as time went on I started learning more and more about Linux. As I did I started realizing that most of the things that people said were über-cool about Gentoo were rather unimportant to me, and the little things started to matter more and more. I liked how they handled runlevel control, for example. I liked the fact that no services listened externally by default, unlike Debian, Redhat, SuSE, etc.

Another thing I’ve noticed is that networking seems more smooth and dependable on Gentoo. I can’t count the times I’ve tried to change IPs, change NICs, switch from DHCP to static, etc. with another distro and had it become a hassle. With Gentoo you get spoiled because most everything just works the way you expect it to.

Over time it became a simple matter of familiarity. I had used Gentoo for so long that it just felt right. And to this day it’s still my comfort distro. Hell, I even have it as my license plate. :)

The biggest advantage Gentoo has over all other distributions is its documentation. It’s insanely good–to the point of just making other offerings look silly. Many times I’ve been looking for how to do things in Debian or Redhat and found link after link on how to do the exact same thing in Gentoo instead. The forums are great too; between the docs and the forums I’ve almost never come across an issue in Gentoo that I couldn’t solve.

Debian

While Gentoo’s been my true love since I got into Linux heavily, I’ve always had tremendous respect for Debian. I have a number of friends who’ve always been Debian fanboys proponents, and we’ve had plenty of Gentoo vs. Debian debates over the years.

The thing I love about the Debian project is that it’s so professional and stable. It’s “business-class”, so to speak. It’s comforting to know that a ton of Linux administrators all over the world depend on it daily and demand excellence from it. Gentoo, as cool as it is, has “screwed me” on a number of occasions while running it in important roles.

Granted, this wasn’t Gentoo’s fault really; it was my fault for assuming things would “just work” when running emerge -u world using the "~x86" option. Shame on me for not being more careful, but still–having a distro that you can do confidently do a full update on is golden. That’s what Debian offers.

It’s The Package Manager, Stupid

These days, now that I’m a professional first and hobbyist second, I have a very practical approach to my Linux distribution choice.

I’ve found that distributions come down to one thing for me — the package manager.

In this space there’s simply nothing better than apt. Don’t get me wrong, Portage is great…but it’s no apt. What makes apt so great? First of all, it installs binaries. Watching stuff compile is cool, to be sure, but when time is of the essence there’s no substitute for now.

Plus, apt doesn’t break stuff. It’s rock-solid. I mean, I’m sure it gets borked every once in a while just like anything else, but I’ve never had it break. Trust in a package manager is of the utmost importance when you run Linux on a server that’s important to you, i.e. anything more than a box at home running your own personal stuff that nobody else expects to be up.

Once you start hosting something that people depend on, package management (and the stability of the distro’s packages in general) becomes crucial.

My Current Distribution Breakdown

  • Gentoo Personal Servers // any Linux file, web, or other type of server. Primary Security Distribution // my main Linux distro for basic security tools such as snort, nmap, nessus, hping, tcpdump, etc.
  • Debian Primary Web Server // the distro danielmiessler.com is hosted on. Confidence in the stability of updates is critical, hence Debian.
  • Ubuntu Work Desktop // serves as host OS for VMWare, upon which I run all my OSs required for work. I put nothing in my host OS. Recommended Linux Desktop // I point anyone interested in trying Linux to Ubuntu.
  • Backtrack Standalone Security Distro // for a security-only distro this is currently my favorite.

This system works for me. In my opinion it uses each distribution’s strengths to the most advantage. This does mean I’m basically moving from Gentoo to Debian (and from emerge to apt-get) as my primary Linux OS. I’m still feeling some guilt pain over this, but I can’t help it that I find apt so attractive.

I’ll still continue to give to the Gentoo project as I always have, and it’ll still remain the distro that I have the most feelings for. Oh, and if Portage ever develops the speed (binaries) of apt along with the stability and polish of the Ubuntu desktop (as a base for VMWare), I’ll be right back where I belong.: