Switched From Gentoo to Ubuntu

Tagged in

SliceHost 3-Way-Handshake Podcast Episode 8 — over 80% of Slice at SliceHost runs on Debian-based distributions (Debian, Ubuntu), verses around 5.5% for Gentoo. RPM-based distributions (CentOS, Fedora, etc) is a bit bigger but simply does not compare with overwhelming domination of Debian-based distributions.

Over the last 3-4 months I have also gradually moved my Gentoo based servers to either Ubuntu or Debian (prefer the latest Ubuntu if available). In fact I have just deleted my 18 month old Gentoo slice at SliceHost, and moved all content to a new slice running Ubuntu 7.10 last month. Now I am happy to say that all of my live servers/VPS are now running either Ubuntu or Debian, and it has changed my Monday morning (my usual mass-update morning) from:

  1. # emerge --sync
  2. # emerge -avD world
  3. Starring at compilation messages scrolling across the screen.
  4. Trying to figure out why some packages are blocking, some packages do not emerge, and why some packages I upgraded last week is now down-grading again.
  5. … 20 minutes later I finally got my root prompt back!
  6. Restart all services that I have emerged, finger crossed hoping that nothing breaks, otherwise revdep-rebuild while reading special upgrading instruction on PAM, MySQL, or OpenSSL at Gentoo.org.

To:

  1. # apt-get update
  2. # apt-get upgrade

Upgrading all the packages in the Gentoo Portage system can be very time consuming, and it gets worse when you have quite a few servers to upgrade!

However, I still love my Gentoo and still use it on my desktop and my home server, continuously updated over the last 3-4 years. We still use it at work because of how configurable it is, and how easy it is to write an ebuild script. Portage, IMHO, is still the best thing since slice bread, but unfortunately it is not the best thing for my VPS at slice host. Building takes too long, it is too CPU and IO intensive that I am afraid I am hurting my neighbours’ performance. Moreover, if something breaks my application due to upgrading (far less than uncommon in the Gentoo world), it will take ages to revert back to the previous version (especially heavy builds like MySQL upgrades) — when my service is down!

Great for development boxes, but not so great for production boxes hosting services that people might want to access 24/7.

Ubuntu is constantly improving since the last time I gave it a try. apt-get is a joy to use comparing to yum on CentOS/Fedora. It has almost all the packages I need, and Debian package control files are not that hard to write either. One thing I have not yet tried is dist-upgrade, which is probably even more scary than emerge world. HardyHeron will (hopefully) be released next month so I guess I’ll be able to find out how easy dist-upgrade on a VPS is.

Comments

Gravatar

It’s really surprising how dominant the Debian based distros are and how small the CentOS/Fedora split is.

Gravatar

Yes I am too surprised.

I think SliceHost customers are predominantly developers who probably prefer Debian-based distributions, and CentOS is probably more favourable to those who are reselling hosting services, as I think most commercial control panels only work on CentOS or Fedora. I guess it will be interesting to compare the stats with VPS providers who offer management services, i.e. whose customers are most likely be control panel users. I think CentOS will be dominant there.

Gravatar

Most commercial control panels have for quite a while worked on debian based systems, then you have an extensive free one that only works on debian based systems.

Apart from that I’m torn between debian and ubuntu, both have pros and cons.

Ubuntu puts out stable releases more often, but usually includes a boat load of stuff you don’t really need or want on servers, debfoster can help, but you get a smaller image with debian, especially since you don’t need kernels and what not on Xen installs.

On the other hand a Debian stable release is really really stable, and a lot of the packages Ubuntu shoves into universe and multiverse aren’t tested, and it can be sort of rediculous when a user space tool exists, but there is no kernel support.

As for dist-upgrade, it’s not really recommended by the ubuntu guys, but dist-upgrading xen hosts I’ve not had any problem, even when I went from dapper to gutsy, and my laptop has been dist-upgraded from dapper I think, to every release and is currently using hardy packages, though I don’t upgrade it as often as I probably should have, then again there is usually no pressing need unless something is broken, which usually only happens when it does get upgraded ;)

Unfortunately no distro seems to be all things to all people and it’s unfortunate that debian doesn’t have a rough release schedule as it truly is better in terms of running servers, where as ubuntu tends to excel and be aimed at the desktop with the server stuff more of an after thought then anything.

Gravatar

I have to say that you are wrong about the downgrading - all you need to do it add “buildpkg” to FEATURES in /etc/make.conf and then reverting a package is as simple as emerge -K =package-version

I would also add that I can’t remember the last time I had a package conflict or any of the other “special cases” you mentioned, while when upgrading at least I know exactly what got changed and which configs were updated. of your you might have had a different experience.

Good luck with ubuntu however! It’s a fine OS as it gets

Gravatar

I have to say that you are wrong about the downgrading - all you need to do it add “buildpkg” to FEATURES in /etc/make.conf …

And that builds binary for every package you build. I know the argument is “space is cheap”, but on space-limited VPS, they are not.

That does not rule out the fact that you need to be very careful about the between-version feature changes so you know which version to roll back to. Over the years I have quite a few times building new packages breaking things, and all can be resolved by tracing down which other packages need to be re-emerged. But then that’s half an hour down time for me.

Gravatar

If you’ve got multiple virtual servers, you need to have an extra one dedicated to building. You emerge there building binary packages, run revdep-rebuild to make sure you caught breakage, test a little to catch the remaining breakage. Then the other servers NFS mount the binary package store from the build server and emerge -k. Only one copy of the binary packages (which is probably less that ubuntu) and the chance to test new versions before pushing them out.

Post new comment

The content of this field is kept private and will not be shown publicly.

More information about formatting options