/usr/local/lib*

lee lee at yun.yagibdah.de
Mon Jul 22 23:07:44 UTC 2013


Michael Schwendt <mschwendt at gmail.com> writes:

> On Mon, 22 Jul 2013 14:31:11 +0200, lee wrote:
>
>> >> /usr/lib/ should be empty now.  Why is it not?
>> >
>> > says who?
>> 
>> Since libraries are supposed to be in /usr/lib64 on 64bit systems and
>> the packages that provide 32bit software are removed, there aren't any
>> libraries left to go into /usr/lib.
>
> It isn't difficult to browse /usr/lib a bit and notice what files are
> stored in that directory. It's not just for 32-bit libs as has been shown
> earlier in this thread.

Yes, and when you look at what the FHS requires for files in /usr/lib/,
you can see that it says those files shouldn't be there:


,----
| At least one of each of the following filename patterns are required
| (they may be files, or symbolic links):
| 
| File	      Description
| libc.so.*     The dynamically-linked C library (optional)
| ld*           The execution time linker/loader (optional)
`---- [1]


Only 10 of over 14000 files in there match the requirement.  The FHS
speaks at [2] explicitly of "shared library images needed to boot the
system and run the commands in the root filesystem".  It doesn't seem to
explicitly define what is to be considered as "shared library", yet [1]
indicates that it refers to binary files which are dynamically linked
when programs are being run that require them.

Therefore, a file like /usr/lib/systemd/system/dbus.service must not
exist, like many others.  It is not a shared library, and it does not
meet the requirements for file name patterns.  (I would consider it as a
configuration file which should go unter /etc.  No wonder that I can't
get used to where they put the files in Fedora ...)


[1]: http://www.pathname.com/fhs/pub/fhs-2.3.html#REQUIREMENTS5
[2]: http://www.pathname.com/fhs/pub/fhs-2.3.html#PURPOSE11


-- 
Fedora release 19 (Schrödinger’s Cat)


More information about the users mailing list