On Tue, Dec 26, 2006 at 07:08:43PM -0800, H. Peter Anvin wrote:
> >I saw that the current Fedora already dynamically links /bin/mount
> >against /usr/lib/libblkid.so. This obviously does not work if
> >/usr is a separate partition that needs to be mounted with /bin/mount.
> >I also had problems with selinux claiming I had no right to access
> >libblkid, which meant that the root fs could not be remounted r/w.
> >I'd suggest that you make sure that mount always gets statically linked
> >against libblkid to avoid these problems.
> That's a pretty silly statement. The real issue is that any library
> needed by binaries in /bin or /sbin should live in /lib, not /usr/lib.
From a Debian unstable system:
think:~# ldd /bin/mount
linux-gate.so.1 => (0xffffe000)
libblkid.so.1 => /lib/libblkid.so.1 (0xb7f23000)
libuuid.so.1 => /lib/libuuid.so.1 (0xb7f20000)
libc.so.6 => /lib/libc.so.6 (0xb7ddf000)
libdevmapper.so.1.02 => /lib/libdevmapper.so.1.02 (0xb7dcd000)
libselinux.so.1 => /lib/libselinux.so.1 (0xb7db8000)
libsepol.so.1 => /lib/libsepol.so.1 (0xb7d77000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7d61000)
libdl.so.2 => /lib/libdl.so.2 (0xb7d5d000)
... and in fact the e2fsprogs's configure program normally installs
the critical libraries used by mount, fsck, e2fsck, including the
blkid and uuid libraries, in /lib, not /usr/lib. If blkid is being
installed in /usr/lib in Fedora, someone must have gone out of their
way to override e2fsprogs' defaults, which are designed to do the
right things by default. (Basically, because I generally don't trust
the choices made by distributions' packaging engineers, having been
burned more than once. :-)