The Distro War

I’ve been often criticized for using Gentoo as the base of all my systems. The complaints against it are always the same … compile times, severe breakage, config hell, you name it. A recent thread on the glug-chat mailing list has once again proven this.

My standpoint on this is always controversial. People always think that Gentoo is used because you want that extra bit of speed, or are plainly suicidal because you’re compiling everything. The funny thing is that RPM Hell (If you’ve never experienced this – be extremely thankful) for me is ten times worse than the worst hell I’ve had with Gentoo yet. And it may just be me but I’ve very, very rarely ever experienced some of the problems that users bring up, in fact – I experience these problems much, much more on RPM based systems, where even the simplest of “yum upgrade”s will mysteriously break, with no obvious way of fixing it, and (as far as I can tell) very little to no mechanism of trouble-shooting (other than to google and hope somebody else has already run into the same problem and that some insane guru somewhere has picked up on it, and it’s been long enough ago for google to pick up on it).

Hell no. I’d rather mask the odd package that gives problems and go on with my life, recompile … wait 10 minutes and have a consistently linked system rather than RPM Hell.

Then there is the infamous Debian based package management system. I guess I’m just fortunate that the first distro I managed to get going was Debian. Heck, even back in 2000 it took me about 6 hours to get a completely working Debian system (with NO prior Linux experience other than two weeks of repeatedly attempting to installing RedHat). This may explain why some consider me to be extremely prejudice on the topic, but if I have to use a binary based distribution it’ll be debian for servers and Ubuntu for desktops, and nothing else.

And why this rant? Because I have about 7 hours before I need to get up, and 9 before a certain CentOS based systems _needs_ to be back up and running. Why? Well, dead simple – after two months of it running rock-solid stable, it just broke. For no apparent reason, with zero information in the logs. The usual thing I do is try to figure out why stuff is breaking … after about 8 hours I gave up due to the lack of sensible tools in the default install of the particular system in guestion – and the total inability to get them installed. This is probably just me not knowing how to beg yum or rpm directly to do what I want, but apt-get has always, and almost without exception (there was exactly one incident where it failed – due to an administrator that did source installs on the box causing some really nasty conflicts), just worked. apt-get install strace … *poof* … strace is there. yum install strace … *boom* … now what? yum upgrade … *boom* – rpm dependency hell is still with us. No matter what rpm zealots say.

Now, Gentoo is not without it’s problems, but using a pure binary package for me almost fits into the analogy of driving a car where the bonnet is weld shut – in this case at least you have the plans, but due to the bonnet being weld shut you still can’t fix it. Easily.

3 Responses to “The Distro War”

  1. Quintin says:

    What is it with people cutting their teeth on RPM distro’s and nearly getting burned out of the whole Linux thing?

    I started out with Red Hat 6.2 – and could only get it to work once. This was in late 2K.

    After that came Mandrake Linux – and then my first real joy came with Knoppix.

    I must say that for the desktop RPM distros have grown a lot. I played with Fedora 6 and 7, and also with Mandriva Metisse and SLED.

    Then I became adventurous and tried to build a home file/web server. SLES failed – making mundane tasks (such as adding Vhosts and users) a total pain. It would often take 8hours to install and then fail at the last packages for some stupid reason. It took me three days to get it to first boot. After using it for two weeks I chucked it.

    Next came another server staple – Fedora. Based on Red Hat. Failure and complications.

    Mandriva – wouldn’t even boot.

    Ubuntu desktop – booted first try, and installing the server tools was a breeze. Sure it is “supposed” to not be a server distro in the traditional sense, but given my experience – and those of more than a few others (including mentioned “RPM Hell”) traditional hard-core server distros seem to have one thing in common: Being Complicated.

    That said – seeing as Gentoo is the subject of the Blog entry: setting it up can be confusing – if you are not used to the way it works. I am a gentoo newb, and setting up a system from scratch is hard. I have played around with it a few times. Once it is set up correctly though it is a complete breeze. emerge makes sense, and I daresay as easy to use as apt-get.

    So – RPM, DEB or Gentoo? Whatever you please, I guess – just don’t try and beat me into using something other than what I prefer. “Free” is one of the corner ideas of FOSS after all.

  2. Juggernaut42 says:

    And stated on CLUG Mandriva is one of the easest…?
    http://wiki.clug.org.za/wiki/Recommended_Software

    Ubuntu is brillant Distro. I think Google should “alias Linux=’Ubuntu'” so when new users try Linux they get Ubuntu.

    And for the non-new user that still use Ubuntu… if you want to learn abit more… Ok… alot more of linux try Gentoo or Debian.

  3. Jaco Kroon says:

    I just remember again why, amongst others I really prefer Gentoo. Being a heavy developer I really don’t like problems like this:

    warc:~/abacuscm# misc/bootstrap.sh
    There may be some warnings. You can probably ignore them

    ls: libltdl/*: No such file or directory
    libtoolize: cannot list files in `/usr/share/libtool/libltdl’
    warc:~/abacuscm#

    Darn you debian.

    Then, on another debian box (same packages installed):

    dadoem:~/abacuscm-1.0.2-rc1# ./configure –disable-manual –disable-server –disable-client

    checking for mysql_real_connect in -lmysqlclient_r… no
    ./configure: line 20686: syntax error near unexpected token `QT,’
    ./configure: line 20686: `PKG_CHECK_MODULES(QT, qt-mt >= 3.0, have_qt=yes, have_qt=no)’

    ok, and if you think I’m done, on yet a third machine (fc9 this time):

    [root@acm-server ~]# yum search mysql
    Loaded plugins: refresh-packagekit
    Could not retrieve mirrorlist http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-9&arch=i386 error was
    [Errno 4] IOError:
    Error: Cannot retrieve repository metadata (repomd.xml) for repository: fedora. Please verify its path and try again
    [root@acm-server ~]#

    I LOVE MY GENTOO!

    PS: These are the three machines for the ACM contest that I didn’t actually configure. It’s a crying shame that the four machines involved from my side *just works*, and none of the ones that got set up by others wants to know anything about just working.

    As another aside, working in French is a painful experience if you don’t know french, and secondly, on the FC9 box up here authorized_keys simply does not want to work.