ipic wrote:For a open-rc user - what does "split user" mean?
It means whatever the freedesktop people decide it to mean today, no more and no less.
From observation, "split
/usr" refers to the historical layout where each of
/bin,
/sbin,
/usr/bin, and
/usr/sbin were distinct directories, each with a specific and non-overlapping set of programs in them, and
/lib and
/usr/lib were distinct directories, with non-overlapping[1] sets of libraries in them, and for 64-bit users,
/lib64 and
/usr/lib64 were distinct directories. Under split-
/usr, if
/bin/program exists, then none of
/sbin/program,
/usr/bin/program, or
/usr/sbin/program would exist (unless the distribution maintainer was trying to confuse people), so anyone wanting to run
program either needs to know the canonical directory for it, or needs to search all four directories. Under merged-
/usr, most of this changes.
/bin becomes a symlink to
/usr/bin.
/sbin points (ultimately) to
/usr/bin.
/usr/sbin points to
/usr/bin.
/lib points to
/usr/lib. Since these are now symlinks, all of
/bin/program,
/sbin/program,
/usr/bin/program, and
/usr/sbin/program are aliases to the same program, and its canonical path is now
/usr/bin/program.
As a practical matter, under this scheme, if
/usr is a separate filesystem and is not mounted by an initramfs, then
/bin and
/sbin point to a non-existent directory, so you have none of the standard tools available (including
/sbin/init, which is now really
/usr/sbin/init), and the system is unusable. This is why a separate
/usr that is not pre-mounted by the initramfs renders merged-
/usr systems completely unusable, and therefore unsupported.
[1]: There is some weirdness with linker scripts in
/usr/lib that masquerade as shared libraries and refer the linker to
/lib. Ignore those for this discussion.