Hacker News new | ask | show | jobs
by rntksi 2023 days ago
I've had to argue a lot of time at work on the merit of running a Debian system.

Everyone coming in has always been keen on just getting CentOS up for a server. Outside vendors also just tell me: "we need CentOS X for this", and I've never understood the reason for that.

Having run both systems, I know that Debian is much more solid.

Sometimes the argument even comes down to: "Oh but when I search online for guides, it's always RedHat/CentOS"

It's driving me mad sometimes.

3 comments

I personally hate Debian because of APT and the fact that it tends to do way too many things behind your back, things that sometimes backfire horrendously as soon as you stray too much from the path Debian dug (Ubuntu is the best example of how APT can self implode as soon as you start adding weird repositories and the scripts that keep Debian afloat start breaking). I've had to recover way too many Ubuntu installs to tolerate using APT any longer (in its defense, I understand it was designed by Debian, for Debian, and often Ubuntu abuses and misunderstands it), and while YUM/DNF aren't that much better, they're miles ahead APT in reliability and solidity, especially since RPM is arguably more reliable than DPKG, IMHO.

You may well say that Arch Linux and the like, compared to Debian-based distributions, basically leave you in the middle of nowhere with just a knife and a rope, but at least you know what you signed for. Relying on fancy shmancy automatic configuration systems is often a recipe for disaster, especially if you plan to stray a lot from the defaults, because it's guaranteed you won't have any idea of what's happening when everything has turned south.

For these and other reasons,I think that systems like BSDs are much, much more pleasant to use than Debian and Red Hat, but I understand why they might not be the right choice for everyone. Still, I can't but recommend everyone to give a shot at FreeBSD if your needs allow it.

I've ran a lot of systems for the past 15+ years and I can honestly say that for servers, Debian is the most solid I've been able to run. (Debian, not Ubuntu). Especially because of its release cycle and no-nonsense vision. I'm not sure which Debian release you've had experience with, but ever since Debian Stretch it's been very solid.

Another system (altogether different since it's not Linux) that comes close to Debian in terms of solidness is FreeBSD. However, the experience of doing `dist-upgrade` for Debian from a release to another is miles better than `freebsd-upgrade` and the shenanigans of upgrading all your ports tree. I have to do that once every 2-3 years, and it takes an hour for Debian, whereas it takes half a day for FreeBSD (for example I just had to do that recently for a 10.x to 12.2 database running on FreeBSD system)

I would definitely NOT recommend Ubuntu. If one looks at Ubuntu and think it's like Debian - it's not. It doesn't come close at all in terms of robustness. An unrelated example: once you have Ubuntu up, there's tons of service that I don't know serves what purpose that's already running. For Debian, that does not happen, you have a minimal set running.

Also, you can keep running Debian for years before having to touch anything. This is one of the behaviour I'm looking for when I consider systems for work (what I mean by "solid"/"robust").

So rolling release systems like Arch serves a totally different purpose.

I have not experienced any of these issues. Do you have an example of a reproducible bug in apt involving third-party repositories? And how is RPM more reliable than DPKG? I have not seen either of them exhibit what I would call reliability issues (i.e. crashes)
I have not seen crashes, but I often saw corrupted DPKG databases. This is very rare if you stick to upstream repositories, but it gets more serious when you start mixing third-party repositories in (i.e. I saw people replacing GCC with newer versions from outside repositories, and due to the sheer amount of stuff depending from it, doing a dist-upgrade required purging an immense amount of packages). I must admit it's not usually an issue on servers, though.
This doesn't seem related to apt vs yum, rpm etc. but more to replacing essential dependencies by third-party versions. What happens if one uses the same kind of hacks on CentOS? Does it handle these better?
In my experience, RPM is a bit more resilient to this kind of stuff, because I've never had such a problem on SUSE or Fedora. CentOS is different, because tecnically you're not supposed to upgrade it to a newer version, so it has less chances to experience these issues.
The one big issue with Debian is installing a package results in the service starting immediately. On CentOS and other distros this is not the case and the user has to start the service after the installation. I prefer the latter behavior as not everything I install is going to be a 24/7 service. I'd prefer not to mask some service because stopping and disabling leads to the service randomly starting after a package upgrade.
The worse aspect in my mind is that when you install a new service, it will start with the default configuration before you have a chance to configure it.
Debian is really unique in that does not totally rely on a single corporation's largess like Fedora (Red Hat), CentOS (Red Hat), or OpenSUSE (SUSE). Being a worldwide, community-run project, it has multiple stakeholders and no single point of failure.