/usr/local/lib*

lee lee at yun.yagibdah.de
Mon Jul 22 11:41:02 UTC 2013


Reindl Harald <h.reindl at thelounge.net> writes:

> Am 21.07.2013 10:46, schrieb lee:
>> Reindl Harald <h.reindl at thelounge.net> writes:
>>> Am 20.07.2013 20:02, schrieb lee:
>>>> what is supposed to go into /usr/local/lib/ and what into
>>>> /usr/local/lib64 on amd64?
>>>>
>>>> I'm trying to get libsx installed and am wondering into which of these
>>>> directories it is supposed to go.  /usr/local/lib/ sounds like "native",
>>>> but then there wouldn't be  /usr/local/lib64/, or would there?
>>>
>>> /usr/local is more or less the same as /usr
>>>
>>> /usr/local/lib -> i686 libraries
>>> /usr/local/lib64 -> x86_64 libraries
>>>
>>> https://ask.fedoraproject.org/question/7916/multilib-packaging-policy/
>>> http://www.tuxfiles.org/linuxhelp/linuxdir.html
>> 
>> Thanks!  I just put stuff that I install myself into /usr/local ...
>> Any idea as to why there are so many 32bit libs installed I don't need?
>
> no, but "yum remove \*i686\*" should kill them :-)

So I have removed the i686 packages:


,----
| [root at yun:~]$ yum list installed |grep 686
| texlive-url.noarch               3:svn16864.3.2-0.1.fc19               installed
| [root at yun:~]$ du -hs /usr/lib/
| 582M    /usr/lib/
| [root at yun:~]$ find /usr/lib/ -type f | wc -l
| 14060
| [root at yun:~]$ 
`----


/usr/lib/ should be empty now.  Why is it not?

And why are the kernel modules not in /usr/lib64/modules/?


,----
| [root at yun:/usr/lib/modules/3.9.9-302.fc19.x86_64/kernel/fs]$ file binfmt_misc.ko 
| binfmt_misc.ko: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), [...]
| [root at yun:/usr/lib/modules/3.9.9-302.fc19.x86_64/kernel/fs]$ 
`----


Why is systemd not in /user/lib64/ on 64bit systems?  What kind of mess
is this?  At least "find . -type f -executable -print0 | xargs -0 file
|grep 'ELF 32'" shows that the only executables in 32bit are grub
modules and kernel modules in ./modules/3.9.9-302.fc19.x86_64/vdso.

It seems as if they haven't been entirely successful with moving
everything 64bit to /usr/lib64/.  (I wonder anyway why it's
not /usr/lib/ and /usr/lib32 ...)

This isn't compliant with the FHS[1], though Fedora claims they are
using it[2].  For example, /usr/lib/systemd doesn't fullfill the
requirements specified in the FHS[1].


,----
| [root at yun:/usr/lib]$ find -name 'libc.so.*' | wc -l
| 0
| [root at yun:/usr/lib]$ find -name 'ld*' | wc -l
| 10
| [root at yun:/usr/lib]$
`----


So only 10 of over 14000 files in /usr/lib fullfill the requirements for
/usr/lib.


[1]: http://www.pathname.com/fhs/pub/fhs-2.3.html#LIBESSENTIALSHAREDLIBRARIESANDKERN
[2]: http://docs.fedoraproject.org/en-US/Fedora/14/html/Storage_Administration_Guide/s1-filesystem-fhs.html


> exclude=*.i686
> in the .repo-files in /etc/yum/.repos.d/ prevents to get one installed
> even with maximum wired dependencies (packaging errors)

Cool, I've added that, too.


-- 
Debugger entered--Lisp error: (error "C-c C-c can do nothing useful at
this location")


More information about the users mailing list