Live data from Hacker News

Tech Choices - Why we use Centos instead of Debian / Ubuntu

chinanetcloud.com

41–47 of 47 posts

Re: Tech Choices - Why we use Centos instead of Debian / Ubuntu

#41
Really the only major things that annoy me[1] about using ubuntu LTS as a server are:

- The fact that packages which install server software autostart the server on install, and the mechanism to disable this can vary package to package. I'd rather install-configure-then-start than install-disable-configure-then-start.

- The mechanisms for setting options for packages to be installed are geared towards interactive use. You have to disable it popping up a curses dialog, and I don't think there's an easy way to pre-configure them so you just wind up with defaults if you do.

- The version of upstart in 12.04 is really limited, and the mix of packages using old and new style init can be frustrating at times.

[1] Perspective check: I'm mostly a software developer, but I also admin my own servers for personal projects as well as having it as a peripheral aspect to my job at times.

Re: Tech Choices - Why we use Centos instead of Debian / Ubuntu

#42
At work I run close to 30 VM's on Ubuntu. I chose Ubuntu for two reasons. I've been running it on my desktop for years and thus know how it works. And CentOS did not have the newer versions of various packages I needed in its default repos.

For the couple years I've been doing this, I can't think of any downtime that wasn't caused by something other than the OS.

Heck, even my desktop hasn't had OS caused downtime.

I would bet my experience would be the same if I was using CentOS.

Also, there are so many different ways you can automate your server and app deployments, that your choice of OS should really depend on what app you are running. A cutting edge app might need the latest Ubuntu release to get the latest packages. Another app might need the stability of an LTS release. And another might only work with an RPM based OS and specific versions of dependencies that are only found on CentOS.

Anyway, that's my opinion and experience. I am curious if there's statistical/scientific evidence supporting the idea that CentOS/RHEL is more stable than Debian/Ubuntu.

Re: Tech Choices - Why we use Centos instead of Debian / Ubuntu

#44

Earlier quoted context omitted.

Just a counter point: I love yum. It is, by far, my favorite package management option. Managing yum repos is a breeze vs every other option (the toolchain is one command, vs a half dozen commands and hours of manual labor to setup a new repo for Debian/Ubuntu). I also prefer it from the end user perspective. apt-get is fine, and I wouldn't be at all unhappy with servers running Debian, but yum is my preference.

As a Debian user, I agree that you can't beat the ease of setting up a repo on RHEL/CentOS. On the other hand, I'm not fond of the .spec format and working with yum is not particularly pleasant. Not to mention that Debian ships with a lot more packages.

I've provisioned and maintained dozens of servers all running Arch, and currently have four home PCs running it. I've found Pacman to be one of the easier and more pleasant package managers to live with.

You can sort through tens of thousands of existing PKGBUILDs on the AUR [1], which typically makes it quick and easy to start packaging software for Arch. You can even sync a flat text file database of all official Arch packages with abs [2]. The ability to reverse engineer every PKGBUILD for a wide variety of software is a major plus in my book.

Writing a PKGBUILD takes roughly the same effort as compiling software from source with a bash script. PKGBUILDs are simple to write, and there's just enough "magic" in Pacman to keep things sane.

Nine times out of ten, the PKGBUILD writing process boils down to copy/pasting directions from README or INSTALL files. It's like a bash script, except more 'done-for-you'. Finding exact dependencies is typically a cinch with the AUR and tools like packer.

Maintaining a rolling distro can be a labor of love, but if you love the system, you'll find it may significantly increase your overall sanity. It's another way of doing things, but I consider choice of distro to be one of the more important decisions to make, and IME, Arch has been such a significant departure from other distros that not trying it in a serious capacity is roughly equivalent to not trying Vim / Emacs ever in your career. Which is to say, I think it's a mistake not to at least see what it may offer you, especially if you're in any doubt.

I hope my positivity is only seen as that: positivity, and not overzealous dedication to one specific toolset. Arch probably isn't a panacea, nor will I claim that it's a perfect fit for your way of doing things. But I have never found something as pleasant as Pacman to work with. In addition, I never would've even tried Arch if I hadn't been slightly flustered by the seemingly irrational exuberance random sysadmins displayed for the system.

1: https://aur.archlinux.org

2: https://wiki.archlinux.org/index.php/Abs

Re: Tech Choices - Why we use Centos instead of Debian / Ubuntu

#45

Really the only major things that annoy me[1] about using ubuntu LTS as a server are: - The fact that packages which install server software autostart the server on install, and the mechanism to disable this can vary package to package. I'd rather install-configure-then-start than install-disable-configure-then-start. - The mechanisms for setting options for packages to be installed are geared towards interactive use…

Wow. I am the author of a popular app-that-runs-as-a-daemon and I just went through a HUGE debate with some folks about whether or not my package should auto-start on boot by default.

I eventually settled on this: If you're using Upstart you get auto-start by default. For everything else you'll have to turn on auto-start at boot via whatever mechanism is normal for your distribution.

That means for Ubuntu you get auto-start on boot the moment you install the package. For Debian you'll use update-rc.d and for RHEL-based distros you'll use chkconfig.

I have no idea if I made the right decision though since there's no standard. Sometimes it annoys the hell out of me that a package configures itself to start at boot and other times I wish it did auto-configure itself to start at boot. It all depends on the package and what I want the server to do (primarily).

Re: Tech Choices - Why we use Centos instead of Debian / Ubuntu

#46
post #35

This is a content-free article. It boils down to "we've committed to CentOS, so that's what we prefer to use." The claim that "in our experience, [Debian/Ubuntu] are not nearly as stable or trouble-free as RHEL/CentOS" says more about their lesser experience with those systems than it does about Debian or Ubuntu.

"Many people ask us why not use Debian-based systems such as Debian or Ubuntu server. We do support these if there is no other choice, but in our experience, they are not nearly as stable or trouble-free as RHEL/CentOS." So while they do have "less experience" they do have ongoing experience with Debian or Ubuntu. They say. We don't know what that means it could mean 1 machine per year or it could mean 10 per month.…

"without qualification of their exact experience "how often" it is really hard to tell the bias in that statement wouldn't you agree?"

No, because many people have experience which contradicts theirs, and they don't provide any support for their claim: no information on what the stability issues or troubles they encountered were, no information on the causes and how they were specific to the OS in question as opposed to e.g. user error, no information about how CentOS would do better on that issue, etc.

All the indications are that they're making a very typical sort of claim that people make when trying to defend a decision that they're not qualified to defend. They provide no reasons to take it seriously. As I said, it's content-free.

Re: Tech Choices - Why we use Centos instead of Debian / Ubuntu

#47

Really the only major things that annoy me[1] about using ubuntu LTS as a server are: - The fact that packages which install server software autostart the server on install, and the mechanism to disable this can vary package to package. I'd rather install-configure-then-start than install-disable-configure-then-start. - The mechanisms for setting options for packages to be installed are geared towards interactive use…

Wow. I am the author of a popular app-that-runs-as-a-daemon and I just went through a HUGE debate with some folks about whether or not my package should auto-start on boot by default. I eventually settled on this: If you're using Upstart you get auto-start by default. For everything else you'll have to turn on auto-start at boot via whatever mechanism is normal for your distribution. That means for Ubuntu you get aut…

One of the nice things about upstart is that it helps this situation out a lot. Disabling a service before you install the package is as simple as creating a /etc/init/servicename.override file with "manual" in it. Unlike some other solutions (like placing a full configuration file before install) this doesn't trigger a conflict with the package installation.

The thing is that for a desktop user, starting the service is fine. A lot of the time it's what you want. And that's Ubuntu's main raison d'etre.

Also note that autostarting when installing is different from autostarting when booting. It's the former that I find frustrating, not so much the latter. Generally speaking, I have plenty of opportunity to tweak the boot behaviour between installing and rebooting (assuming the server ever reboots at all).

Post reply on HN