Carlos E. R. wrote:
On 2014-06-07 01:54, Linda Walsh wrote:
Just as when I asked -- why move things to /usr/bin, when you could have put things in /bin and had the same effect (all in one place) but no risk of having /usr not mounted? Because then /usr would be empty. :-P
hardly
Choose: a full root, or a full usr.
Things were moved out of /bin because they will not work, anyway, unless you have available, before mounting /usr, all the shared libraries that are stored below /usr. For a "/bin" to properly work, either you have everything statically linked, or provide all those libraries in /lib instead of /usr/lib. Who told you that...cuz not true: look: Here's mount on /usr/bin : 5 libs in root(/lib64) and 4 in /usr/lib64 rpm -qf /usr/bin/mount util-linux-2.23.2-3.1.x86_64 ldd /usr/bin/mount
ldd /usr/bin/mount
---- Neither. /usr has alot more stuff in it that isn't in root: X11R6, adm db games include libexec local share (man+docs) and more... The stuff you need in /bin are the basic things you need to do initial boot, before any mounts are done, the first mounts, disk repair and backup-restore . Then usr has all the programs users normally run on top of that. (GUI/compilers... most servers can live there... etc.). linux-vdso.so.1 (0x00007fffc41fe000) /usr libmount.so.1 => /usr/lib64/libmount.so.1 (0x00007f14d02d4000) / libc.so.6 => /lib64/libc.so.6 (0x00007f14cff25000) /usr libblkid.so.1 => /usr/lib64/libblkid.so.1 (0x00007f14cfce9000) / libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f14cfac5000) / /lib64/ld-linux-x86-64.so.2 (0x0000003000000000) /usr libuuid.so.1 => /usr/lib64/libuuid.so.1 (0x00007f14cf8c0000) / libdl.so.2 => /lib64/libdl.so.2 (0x00007f14cf6bb000) /usr libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x00007f14cf455000) / libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f14cf237000) Now for one in /bin (grep): linux-vdso.so.1 (0x00007fffa1bfe000) /usr libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x0000003000400000) / libc.so.6 => /lib64/libc.so.6 (0x0000003002000000) / libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003002400000) / /lib64/ld-linux-x86-64.so.2 (0x0000003000000000) ---- It doesn't matter if the binary is in /usr/bin or /bin, the loader loads from both directories. Now if you want something to *work* before you mount /usr, that is a different story. Here's mount again, but with my libs cleaned up: linux-vdso.so.1 (0x00007fffc7531000) / libmount.so.1 => /lib64/libmount.so.1 (0x00007f626560d000) / libc.so.6 => /lib64/libc.so.6 (0x00007f626525d000) / libblkid.so.1 => /lib64/libblkid.so.1 (0x00007f6265022000) / libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f6264dfe000) / /lib64/ld-linux-x86-64.so.2 (0x0000003000000000) / libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f6264bf8000) / libdl.so.2 => /lib64/libdl.so.2 (0x00007f62649f4000) / libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f626478e000) / libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f626456f000) Notice they are all out of lib64 now (for the /usr/bin/mount binary!) -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org