[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: merged-/usr vs. partially-symlink-farmed-root



On Sun, Aug 22, 2021 at 10:24:56PM +0100, Luca Boccassi wrote:
> The point of the migration is that /usr/bin will be identical to /bin,
> etc. If they are not identical, then it's not usrmerge as it is
> understood and has been adopted by many upstreams for a decade, it's
> something else that is incompatible with it.

I'll note that people on this thread are using usrmerge in different
senses of the word.

For simplicity's sake, what I've tried to do in my posts is to refer
to "usrmerge" as meaning the creations of top-level symlinks at
/{bin,lib,sbin} pointing /usr//{bin,lib,sbin}.  This is the specific
proposal made here:

https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/

... and in Debian, see:

https://wiki.debian.org/UsrMerge

So I think there is some justification to using to usrmerge only to
refer to the top-level symlinks approach.



A more general term might be "/usr unification", quoting from a
2012(!) LWN article:

	"/usr unification" (or simply "usrmove") is the idea of moving
	the contents of /bin, /lib, and related root-level directories
	into their equivalents under /usr.
	- https://lwn.net/Articles/483921/

After moving the contents of /{bin,lib,sbin}/* to their equivalents
under /usr, the next question is whether we stop things from breaking?
By using top-level sytmlinks, which many call "usrmerge", or creating
symlink farms in the directories /{bin,lib,sbin}, for which I try to
use the more awkward construction, "/usr unification via symlink
farms"?

Admittedly, "/usr unification via symlink farms" is awkward, but I've
been hoping we can declare consensus that using symlink farms is
undersirable way of trying to achieve /usr unification, since it
wastes a lot of on-disk inodes, and there is complexity involved in
needing to keep the symlink farm up-to-date as new files are created
in /usr/{bin,lib,sbin}.

But in any case, perhaps it would simplfy the discussion if we try to
stick with consistent terminology?  So what if we were to use usrmerge
to unambiguously mean achieving /usr unification via top-level
/{bin,lib,sbin} to /usr/{bin,lib,sbin} and considering symlink farms
as being another (although IMHO, inferior) way accomplishing the goal
of /usr/ unification?

					- Ted


Reply to: