Live data from Hacker News

Debian still having trouble with merged /usr

lwn.net

121–130 of 310 posts

Re: Debian still having trouble with merged /usr

#121

Earlier quoted context omitted.

> My first experience with someone in your position was Geordi LaForge. I found it so inspiring [...] To be clear, that's a fictional character in a fictional future that may or may not ever come. Sure, we can use assistive technology, e.g. screen readers, to enable us to work. But with our current technology, that requires cooperation from developers of platforms, applications, websites, etc., and as I said in anoth…

Yes, Roddenberry used his fictional future to show us what our future could be. That was the point that I was trying to make without being too explicit - that could in fact be our future. If we choose it.

Maybe I'm succumbing to the cynical zeitgeist, but I figure the future will be primarily whatever the wealthy minority wants. If that's so, then maybe the best hope for people like me is a future like the one portrayed in the opening of Ready Player Two (generally not a very good book), where a VR-obsessed multi-billionaire funds work on neural interfaces, starting with implants for disabled people and culminating in the OASIS Neural Interface headset. Yes, it would feel wrong to be used as a means to an end, but it would answer the question of how a world-dominating VR as depicted in those books could be made accessible.

Re: Debian still having trouble with merged /usr

#122
post #89

Just in case anyone is wondering why we had (or used to have) /bin and /sbin directories as well as /usr/bin /usr/sbin here is my understanding of it. It is because on old Unix systems there frequently wasn't enough space to store /usr on the root disk. Therefore /usr was a separate disk which might not be available during boot. This meant that you needed to put all the binaries you needed for boot in /bin and /sbin…

It should also be noted that, while this change is Linux-specific, it does not directly break software which also targets BSD or nix-like OSs.

Files that were previously in /usr/bin or in /bin can now be found in EITHER of these locations, since one symlinks the other. So no previous expectation was really broken.

Only software built on merged systems fails to run on unðmerged systems. This should not really happen, since the usr merge was a one way trip, not a flag that you're supposed to turn on and off. You'd also never build dynamically linked binaries for BSD on Linux, so that should not be an issue.

But, for some reason, Debian chose to make this merge something that individual systems could turn on and off, which is a terrible idea for part of the base system. It's like letting users pick if they way `/bin` or `/binaries`. Having such heterogenous setups in regards to something so basic and foundational is asking for breakage.

Re: Debian still having trouble with merged /usr

#123
post #65

I'm surprised that they are pushing to remove /bin and keep /usr/bin. Why not the other way round? Let's keep our binaries out of /usr! (as a first step to remove /usr altogether, since it has a confusing name). I long for a day where PATH=/bin is all we need.

Why not read the reasoning once? https://www.freedesktop.org/wiki/Software/systemd/TheCaseFor...

No post body was provided.

Re: Debian still having trouble with merged /usr

#124
post #52

> The /usr merge idea was first raised in "The Case for the /usr Merge" by Lennart Poettering in 2012. It came out of the systemd community Well that's a recipe for a long drawnout battle

As somebody who really does not care either way, all this just sounds more like moving problems rather than solving a problems. At least, I don't think there are many Linux systems where you can safely remove /bin from the path just yet. I just checked. My Manjaro install has a /bin and it is full of files that look like I would not want to lose them. So, they fixed the /bin to /usr/bin thing for some packages but clearly not all packages in Arch. I bet/blindly assume that's true in Fedora as well.

I've always struggled with figuring out where stuff lives on the file system in different linux and unix derivatives. It's never where you expect/want it to be. I've used solaris, hp ux, mac os, and linux over the years. They all have similarly named directories, mostly for weird historic reasons. Is it /var/usr/god/knows/what or in /opt/foo/bar or in /usr/var/lib or /usr/share/lib. What about /etc, /usr/etc, /usr/local/etc?

You can take almost any 1,2,3, and 4 symbol permutations of share, lib, var, bin, opt, and sbin and probably find something that expects files to exist under that path. Reducing the number of permutations would probably be helpful.

People seem to just roll the dice and create some place where shit lives based on mostly just vague intentions, rules, heuristics, and interpretations of those associated with long dead unix variants from the nineteen eighties, weird naming conventions, and what not.

So, what's the rule here? Some 'special' packages should install to /bin and some other not 'special' packages should install to /usr/bin? Why? Is there any agreement about what constitutes a 'special' package? Is there a good functional reason for having both directories? And then the whole bin/sbin distinction is kind of arbitrary as well. Some binaries are statically linked, others are not and require libraries to exist in yet more shared directories on a library path. It all boils down to users requiring a PATH variables (and, inevitably, a lot of other/similarly named variables). And of course the order of paths is also super relevant and kind of the point. So you look in /usr/bin before or after you look in /sbin? It's all a house of cards. Brittle by design and convention.

The notion of taking a package and then fragmenting it over a multitude of shared directories is the problem that needs fixing. The role of a package maintainer is bridging those different notions of where stuff should live between different distributions with some convoluted scripts. It's a job that should not need doing and code that should not need to be written.

The main differences between linux distributions boil down how none of them actually having solved this problem that ended up doing only loosely similar but clearly different things for mostly obscure reasons. They don't agree on where stuff should live, how it should be moved/copied/linked there, where and how things are configured, etc. Most of these differences are kind of arbitrary and petty. /sbin, /usr/bin, /usr/sbin, /bin, /usr/local/bin, etc. who cares? I pretty much need all of these in my path for things to work as intended. I don't see a good reason for more than 1 of these to exist.

Apple kind of got this half right with the notion of mounting a package rather than installing it. Most applications install/uninstall via drag & drop. I always thought that was a neat idea. Of course, they then made it complicated by having /User//Library/* and /Library/* directories anyway. So, most applications leave a lot of clutter there after you drag them to the trash-can. And they also have the usual contingent of unixy directories. And package managers like brew, macports, fink, and whatnot that sort of carved out different places in the filesystem where their stuff lives. So, I wouldn't go as far as saying that Apple solved the problem. But it does look like progress to me.

Mounting stuff rather than fragmenting it all over the place is progress. Docker does this. And so do Flatpak and Snap. Flatpak and Snap are kind of tedious in their own way (e.g. opencl support is a PITA with Darktable and other packages that need that). But at least I have some stuff that I installed with those that actually works without having to be customized for every linux distribution.

Re: Debian still having trouble with merged /usr

#126

Earlier quoted context omitted.

Everything that works well is structured like a monarchy. Maybe the west shouldn't be trying so hard to export democracy?

The biggest wars and massacres in human history always involved some monarchy/dictatorship.

Communism as the rule of "the proletariat" instead of a ruling nobility has created the worst horrors of the 20th century. You may think of monarchy and communism as the same thing "because they are dictatorships", because the frame of reference you are used to is contrasting everything to "democracy", but they really really are not.

Re: Debian still having trouble with merged /usr

#127
We can now kiss-gone the security for embedded world and its IoT-related security brethren.

It is often the directory separation of /bin and /usr/bin that is used to denote the extent of firmware’s scope between these binaries that are require for a boot up and what are they require to support their applications. (Thanks, PDP-11).

Such wonderful boundaries of IoT upgrade scope can and is often denoted as two-stage upgrade with /bin as read-only; now, not so much.

This is yet another case of IoT system engineering design getting steamrolled by the diminutive desktop-mindsets despite progress by its systemd author.

Try yanking that Ethernet cable from its physical socket and watch if your long-running deeply-stateful process can survive. (It won’t, unless you retrain it against KISS principle to ignore such netdev disappearance.)

Re: Debian still having trouble with merged /usr

#128
post #15

Earlier quoted context omitted.

Quoted post unavailable.

One problem that the Weimar Republic suffered from is that there were too many small parties. Absorbing them is easy if you are the trump of the 30s and are willing to use violence behind the scenes to intimidate anyone who opposes you. Also, it helps to have connections with people who hate democracy in important political positions. https://en.wikipedia.org/wiki/Weimar_political_parties

Do not compare an unpopular president to one that literally had entire families put in ovens. You have lost your fucking mind. Show some respect.

Re: Debian still having trouble with merged /usr

#129

Giving that on Ubuntu this was done (and in other distros), and there isn't any issue ( I just noticed that I have a merged /usr for a long time), the dpkg maintainer it's being a jerk.

As far as I can find there are issues, namely that installing a package with dpkg can leave the system in a bad state. If I understand it correctly dpkg normally prevents by checking the paths it modifies, which ends up non trivial if the paths are aliased.

> the dpkg maintainer it's being a jerk.

He is required to accept working patches, priority by the committee seems to be the removal of warnings about the broken support instead of actually fixing it.

Re: Debian still having trouble with merged /usr

#130
post #110
post #74

Earlier quoted context omitted.

First of all I think Eugenics would/will quickly lead to something akin to runaway selection: people will make increasingly absurd decisions mainly driven by status markers / perceptual drift and the human race will breed itself into some mad corner. So I don't believe Eugenics is ever going to do what even its most ardent supporters imagine. Second of all the human race does not have some over-arching goals we need…

You could just have the government mandate a test, and any embryo that has markers (genetic or otherwise) of a chronic debilitating condition is not allowed to be brought to term. If parents do choose this, the kid will fall outside of the healthcare system for its condition and parents will have to foot the entire ongoing bill. Eugenics does not automatically mean we all customize our embryos to be 2m tall geniuses…

Is 2m the ideal height? 1.80m? 2.40m? What would we discover is the optimal IQ? Etc.

I think Brave New World treats this question pretty well. We'd probably discover that there is no 'optimal' height or IQ and we'd still need the whole span of "Big Dumb Brutes" to hyper-geniuses. The secret is convince everybody the IQ/physique they've been assigned is the 'actual' optimal and they're the lucky ones that everybody else should envy.

Post reply on HN