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

Re: /usr/lib vs /usr/libexec



Thomas Bushnell BSG wrote:

Martin Dickopp <martin@zero-based.org> writes:

Thomas Bushnell BSG <tb@becket.net> writes:

If there is a reason to separate /usr from / (which so many people
think there is, though I don't understand why, since it has no
semantic significance at all), why separate /lib from /etc?
I don't see a semantic difference between /bin and /usr/bin (or /lib
and
/usr/lib). IMHO, the only reason for /bin and /lib is that some
programs
and libraries need to be available before is /usr is mounted.

That doesn't make sense.  If you get rid of the /usr vs / distinction,
then there is no "before /usr is mounted".
Have you considered that for some (eg embedded) applications, the block device containing "/" does not have enough space to contain everything that is under "/usr"? And that, as a result, it would have to mount it as a network drive, for instance?

That wasn't my argument. My argument is that I don't consider shared
libraries and internal executables "different kinds of things." They
are both binaries loaded and executed by a program.

Sure, and documentation and libraries are both "files opened by
programs".

The difference is that libraries are also generic things that are
shared by many programs, and searched by the linker, whereas
executables are not.

In fact, a library is "loaded and executed" by only two programs (ld
and ld.so) in the normal scheme of things.
The difference between /usr/lib and /usr/shared is more clear: what is under /usr/lib depends on the arch; what is under /usr/share doess not. So, /usr/lib can be mounted in a network drive, shared by a lot of machines of the same arch in a network. And /usr/shared can be (hmpf)... shared... between all machines in a network, independently of arch.

Thomas



HTH,
Massa



Reply to: