Live data from Hacker News

The Delusions of Debian

unixsheikh.com

11–20 of 62 posts

Re: The Delusions of Debian

#11
post #9

This article is full of inaccuracies and errors. > Due to the sheer size of the current Debian release it is infeasible for a small team to be able to audit all the packages, so there is a system of prioritizing packages which are more security sensitive. This was, at best, poor communication. Of course nobody would ever audit all of 90,000 packages, easily billions of LOC. Especially not when the vast majority of th…

>> Before that, Michael Larabel, the former leader had these ridicules points in focus for the future of Debian.

>I don't know who they are, but they are not a former Debian Project Leader [2].

That one at least appears to be a brainfart by the author; they meant Sam Hartman. Michael Larabel is the author of the Phoronix article about Sam Hartman.

Re: The Delusions of Debian

#12
> Yet Void is also suffering from a lack of maintainers, just like Debian, and as a result, many third party packages in Void Linux is hopelessly outdated.

On a tangent, i've been using Void for a couple of years now and i'm very happy with it. All the packages i want are up to date ( and i do not require LTS or backported security fixes ).

Things like runit and xbps-src are relatively simple. I can htop and know why every process was started.

Maybe I'd just reached the right level of skill to 'get' it once i switched, but i never had the feeling i was in control with other systems such as systemd and apt.

Re: The Delusions of Debian

#13
The author of this blog doesn't seem to like anything that happened in Linux after 2010.

Any time I see the domain, I know what I'm in for. But aside from "everything was fine the way it was", I've not seen the author ever present a better way forward when discussing how much they dislike systemd/Wayland/Gnome > some version, and now we can add Debian to the list.

I get it, having a rant is fun, but for your rant to be useful, especially when it's about FOSS projects, presenting a potential path forward is both an antidote to the incessant "bah humbug", and a way to maybe inspire the change you desire.

Re: The Delusions of Debian

#14
post #7

and in other news, some new opinions from the peanut gallery. i am not involved in the debian project, but there seem to be quite a lot of people who know "what's best". Funnily most of them are not involved in building the stuff. and he shits on reddit comments but also does quite the same. i guess it's because they did not share his opinion.

Making OSes or browsers you are in a market share competition whether you like it or not because that dictates a lot about changes to how the environment deals with you in the future. One can ignore the least engaged/satisfied/likely-to-contribute users and their perceptions at one's peril.

Re: The Delusions of Debian

#15

I'm also worried about Debian's future. Most of the big names who have left seem like it's a win all around, they seem to be anti-systemd hacker/tinkerer types who will be much happier over at Arch, and never really agreed with what Debian was trying to do. But at a certain point, you just need more people for that many packages. Perhaps they should try to transition away from the volunteer model. I wouldn't want to…

> anti-systemd hacker/tinkerer types who will be much happier over at Arch

When you're anti-systemd, you won't be happier over at Arch, considering systemd is the only supported init system in Arch - in contrast to Debian, which supports alternatives.

Re: The Delusions of Debian

#16
post #6

> As of writing the Debian stable release has 96.729 packages in stable and 149.976 packages in unstable. That is a massive amount of software packages. Does anyone know how this compares to other distros? In particular NixOS/nixpkgs is of interest.

I'm not on NixOS, but I do use Nix as a package manager on Debian and this is what I got: $ nix-env -qa | wc -l 39168 Of course, it's important to note that Nix doesn't lag behind upstream as much as Debian. Actually, it's usually one of the first places where new versions of packages appear. So you don't have the problem such as the one Debian has with maintaining PHP 7.4.

Raw package count doesn't really compare, considering that Debian splits up packages a lot.

For example they have a lot of "-dbg", "-devel" and "-doc" packages that other distros might just choose to leave in the main package instead.

Re: The Delusions of Debian

#17

> As of writing the Debian stable release has 96.729 packages in stable and 149.976 packages in unstable. That is a massive amount of software packages. Does anyone know how this compares to other distros? In particular NixOS/nixpkgs is of interest.

The closest we have to a source of truth for that is the table on repology: https://repology.org/repositories/statistics

By that table, debian 12 has 32k packages, and nixpkgs stable has 67k

That said, repology doesn't track everything nixpkgs has nor everything debian has.

It's also difficult to compare debian and nixpkgs.

Debian has several packages for one thing where nixpkgs has only one, i.e. debian has "sqlite3, sqlite3-doc, libsqlite3-dev", while nixpkgs has the single "sqlite" package with the attributes "sqlite.bin, sqlite.dev" (and no docs split out I guess? They're probably in .out)

Because debian splits out dev packages from binary packages, that artificially inflates the number.

Another choice which makes the number very hard to compare is packaging style choices for certain dependencies.

For example, in debian, a go package's dependencies must all be packaged as their own packages (https://go-team.pages.debian.net/packaging.html#_dependencie...).

This leads to stuff like "golang-github-hashicorp-terraform-svchost-dev", a package that is only used as a library to build terraform. I'd argue it's not a user-facing package, just an implementation detail of the terraform package, but the count you mention above certainly includes it.

nixpkgs, on the other hand, is fine with not splitting out each dependency as a full package on its own right, so go and rust libraries are much more sparse in nixpkgs.

All of this is a lot of words to say "comparing numbers is hard, repology is the best we have right now"

Re: The Delusions of Debian

#18

> Yet Void is also suffering from a lack of maintainers, just like Debian, and as a result, many third party packages in Void Linux is hopelessly outdated. On a tangent, i've been using Void for a couple of years now and i'm very happy with it. All the packages i want are up to date ( and i do not require LTS or backported security fixes ). Things like runit and xbps-src are relatively simple. I can htop and know why…

I'm happy with void for 7 years now, and used to contribute. You're right, xbps is much easier than other package managers (looking at you, dpkg!). The templates are even a tiny bit simpler than the equivalents of Arch.

Re: The Delusions of Debian

#19
It’s a shame that after so many years and so many distributions the community could not come up with a good model for a low maintenance secure distro. IMHO the author of this post is surely the kind of people that eventually only care about their job security and just stir the water without making any progress…

Re: The Delusions of Debian

#20
To me, the tone of the article reads a bit dismissive and sometimes borders on a rant (e.g. i doubt that things related to inclusivity/social issues are to blame for the state of the OS), however it also feels like it concisely describes many important concerns.

> The fact of the matter is that Debian has long been experiencing a decline in the amount of people willing to participate in the project.

> Oh, I almost forgot. This is a list of the people assigned to the Debian LTS support team. 32 people who somehow must provide long term support for 90.000+ packages.

To me, these two feel like an unfortunate reality in the *nix world - there are more packages than anyone reasonably needs in the first place and hoping to get someone to maintain each of those packages is unrealistic. Many people might have written something that they needed to solve their particular problem at a certain point in time, used it for a while and eventually moved on, that is inevitable.

In my understanding, it's a bit like walking through a graveyard or at the very least some old library, where most of the books are largely irrelevant and won't be read by anyone in the following decade, short of very particular cases. For example, have a look at the Debian popularity context: https://popcon.debian.org/

Let's look at the install results for the main repository, open it up and scroll down a little: https://popcon.debian.org/main/by_inst

You'll see that only around 4'600 of the top packages have over 10'000 installs (by people who participate in the contest). Around 13'000 packages in total have over 1'000 installs. About 30'000 of the packages have over 100 installs.

That means that the majority of those packages aren't actually used by many people in the first place, thus don't present a juicy attack vector. That's not to say that they won't be exploited should any vulnerabilities remain, but surely the impact will be far lower and thus it's pretty reasonable to focus on the things that actually are popular.

Though one can and should definitely call this out and maybe consider what could even be done about this, since some people do need these packages for their niche use cases and perhaps are concerned with things working rather than being secure.

> Yet Void is also suffering from a lack of maintainers, just like Debian, and as a result, many third party packages in Void Linux is hopelessly outdated.

> Despite the fact that Red Hat is an enterprise Linux distribution, the problems goes even further there where you e.g. still can find a so-called LTS version of PHP 5 that long since should have been permanently terminated.

In my eyes, that just demonstrates the above - the people who need to use PHP 5 to support some legacy solution are probably aware that they should be using later versions, but it's just not in the cards for them. I once helped someone write new software in PHP 5 while PHP 7 was out at the time because even though i advised them against taking that approach, they didn't have other options, or at least viable ones. So, i wrote the software that they needed, left ample warnings and left to work on other things.

In practice, sadly LTS isn't always as much about remaining secure (even though it should be) as it is about keeping things vaguely working in slowly moving environments, which was one of the main reasons why people picked something like CentOS back in the day.

> On FreeBSD, the package manager informs you if you're installing a package that has been abandoned. It also informs you about important security issues. On the FreeBSD website the procedure is described in detail.

This is an excellent idea, as would be automated reminders about CVEs. Why should we only use external tools for scanning our servers, when they could do that themselves, at a package manager level?

> Keep a list of all the software you install.

Better yet: install less software. Nowadays my personal servers have a pretty minimal setup (sometimes with Ansible) with just the packages that i need to get containers up and running. Sure, some are against the idea of them at least in their current implementation, but they help me have a very clear distinction between what's a part of the system/infrastructure and what's the business software that i want to run - hence i should never install MySQL/MariaDB/PostgreSQL/PHP/Java/Ruby/Python/... on the system directly (okay, maybe Python for some scripts/CLI tools), but instead manage the attack surfaces with containers, which lets the old insecure stuff keep running, while updating the underlying system itself without worrying about breaking the software.

Of course, it's not perfect and virtualization still is useful for added isolation/security (multiple separate VMs/VPSes for different sets of containers) until rootless container runtimes will truly get there, but in my eyes it's streets ahead of pretending that we can somehow have our cake and eat it too - have software that is both up to date and works with limited resources.

I don't know about the circumstances that others are in, but in my homelab and even some professional projects i lean towards acknowledging out of date packages as an inevitable eventuality and thus thinking about how to limit the fallout until updates would eventually (hopefully) be done.

Back to the topic of Debian in general: it has always felt like one of the larger and more dependable distros out there, alongside Ubuntu and CentOS. With CentOS out of the picture and no popular replacements (both Rocky Linux and Alma Linux might take a few years until they're available in every regional VPS host), that choice now falls between Debian and Ubuntu: the former has a shorter life cycle (the LTS variety isn't entirely official) whereas the latter is pretty okay but has some weirdness going on (e.g. snaps and other curious decisions).

What is everyone else even using?

Post reply on HN