On 09/29/2013 08:40 PM, Mark David Dumlao wrote:
> On Mon, Sep 30, 2013 at 8:54 AM, Daniel Campbell <[email protected]> wrote:
>> I'm not affected by anything regarding the /usr switch, but I'd like
>> to have a good talk with the first person who decided a
>> system-critical binary belonged in /usr instead of /bin or /sbin.
>> They've created a mess for every distro and any project that depends
>> on their work.
> 
> (sorry for the previous post, accidentally clicked somewhere onscreen)
> 
> As I've pointed out before:
> 1) "system-critical" is actually dependent on the system. A system dependent
>      on an smb share will find smbmount system critical. One dependent on
>      zfs-fuse will find fuse system critical. With the advent of fuse,
> some filesystem
>      that depends on an arbitrary user program will find that system-critical.
>      While this works for for 99.(99?)% of user systems out there, FHS
> is supposed
>      to be targetting all of them, and so it fails in principle in that 
> respect.
>      I remember making a lengthy thread on this mailing list challenging how 
> FHS
>      defined this and it appeared that nobody could make a defense.
> 2) the reality is, it's not just binaries even. There are some things
> that binaries
>     depend on, that in theory should be in /. For example, the hwid database, 
> or
>     libraries. Libraries make for a complex problem, because /usr is supposed 
> to
>     be network-sharable. Any libraries your programs depend on can't simply 
> just
>     be pushed to /, because then there'd be the chance that the
> programs and their
>     libraries were not in sync.
Libraries were one of my concerns when I was replying. I thought to
myself, "Well damn, won't shared libraries make this even more
difficult?" Perhaps it's a case for static-linked core binaries. :)

Anyway, I'm not in favor of FHS _per se_, but it sounds pretty
reasonable to have some semblance of order among where different parts
of a system go. Shoving everything into /usr and symlinking everything
else seems like a stop-gap or good-enough solution that came about due
to ignoring the existing standard (FHS) and refusing to try to change
it. I could be wrong, though. My point is I'm not dogmatic about it; I
just think that if the FOSS community were willing, a better solution
could be crafted.
> 
> I made a handful of criticisms to FHS in that thread before, and nobody was
> able to mount a suitable defense. The point being, even in principle, 
> separating
> / and /usr is flaky design at best. That we just so happened to
> accumulate a number
> of packages that are historically installed to /usr is a consequence
> of that. It's not
> even necessarily the fault of the upstream developer, who's not
> supposed to care so
> much which PREFIX they install to, or the distro packager, who can't yet 
> predict
> how the user will tailor their system.
> 
> If you were in the shoes of the ebuild packagers, you would be hard-pressed to
> predict which packages belong in the / PREFIX and which ones in /usr PREFIX,
> 100 times out of 100. But you need 100 times out of 100 or you'll get
> people whining
> that they can't boot or whining that they need to do some migration. That's
> why / and /usr separation is broken.
> 
I agree, but perhaps the / and /usr separation is a symptom of a greater
problem instead of being the problem in and of itself. Like Inception,
maybe we need to go further. :P

Reply via email to