mirror of https://github.com/tLDP/LDP
144 lines
5.0 KiB
XML
144 lines
5.0 KiB
XML
<sect1 id="lib">
|
|
<title>/lib</title>
|
|
|
|
<para>
|
|
The /lib directory contains kernel modules and those shared library images (the C programming code library) needed to boot the system and run the commands in the root filesystem, ie. by binaries in /bin and /sbin. Libraries are readily identifiable through their filename extension of *.so. Windows equivalent to a shared library would be a DLL (dynamically linked library) file. They are essential for basic system functionality. Kernel modules (drivers) are in the subdirectory /lib/modules/'kernel-version'. To ensure proper module compilation you should ensure that /lib/modules/'kernel-version'/kernel/build points to /usr/src/'kernel-version' or ensure that the Makefile knows where the kernel source itself are located.
|
|
</para>
|
|
|
|
<para>
|
|
<variablelist>
|
|
|
|
<varlistentry>
|
|
<term>/lib/'machine-architecture'</term>
|
|
<listitem>
|
|
<para>Contains platform/architecture dependent libraries.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>/lib/iptables</term>
|
|
<listitem>
|
|
<para>iptables shared library files.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>/lib/kbd</term>
|
|
<listitem>
|
|
<para>Contains various keymaps.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>/lib/modules/'kernel-version'</term>
|
|
<listitem>
|
|
<para>The home of all the kernel modules. The organisation of
|
|
files here is reasonably clear so no requires no elaboration.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>/lib/modules/'kernel-version'/isapnpmap.dep</term>
|
|
<listitem>
|
|
<para>
|
|
has details on ISA based cards, the modules that they
|
|
require and various other attributes.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>/lib/modules/'kernel-version'/modules.dep</term>
|
|
<listitem>
|
|
<para>
|
|
lists all modules dependencies. This file can
|
|
be updated using the depmod command.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>/lib/modules/'kernel-version'/pcimap</term>
|
|
<listitem>
|
|
<para>is the PCI equivalent of the
|
|
/lib/modules/'kernel-version'/isapnpmap.dep file.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>/lib/modules/'kernel-version'/usbmap</term>
|
|
<listitem>
|
|
<para>is the USB equivalent of the
|
|
/lib/modules/'kernel-version'/isapnpmap.dep file.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>/lib/oss</term>
|
|
<listitem>
|
|
<para>
|
|
All OSS (Open Sound System) files are installed
|
|
here by default.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>/lib/security</term>
|
|
<listitem>
|
|
<para>PAM library files.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
The FSSTND requires that shared libraries that are only necessary
|
|
for binaries in /usr (such as any X Window binaries) must not be
|
|
in /lib. Only the shared libraries required to run binaries in /bin
|
|
and /sbin may be here. In particular, the library libm.so.* may
|
|
also be placed in /usr/lib if it is not required by anything in
|
|
/bin or /sbin.
|
|
|
|
At least one of each of the following filename patterns are required
|
|
(they may be files, or symbolic links):
|
|
|
|
libc.so.* The dynamically-linked C library (optional)
|
|
ld* The execution time linker/loader (optional)
|
|
|
|
If a C preprocessor is installed, /lib/cpp must be a reference
|
|
to it, for historical reasons. The usual placement of this binary
|
|
is /usr/lib/gcc-lib/<target>/<version>/cpp. /lib/cpp
|
|
can either point at this binary, or at any other reference to
|
|
this binary which exists in the filesystem. (For example,
|
|
/usr/bin/cpp is also often used.)
|
|
|
|
The following directories, or symbolic links to directories, must be in
|
|
/lib, if the corresponding subsystem is installed:
|
|
|
|
/lib -- essential shared libraries and kernel modules
|
|
/lib/modules Loadable kernel modules (optional)
|
|
/lib<qual> : Alternate format essential shared libraries
|
|
(optional)
|
|
|
|
There may be one or more variants of the /lib directory on systems
|
|
which support more than one binary format requiring separate libraries.
|
|
This is commonly used for 64-bit or 32-bit support on systems which
|
|
support multiple binary formats, but require libraries of the same name.
|
|
In this case, /lib32 and /lib64 might be the library directories, and
|
|
/lib a symlink to one of them.
|
|
|
|
If one or more of these directories exist, the requirements for
|
|
their contents are the same as the normal /lib directory, except
|
|
that /lib<qual>/cpp is not required. /lib<qual>/cpp is
|
|
still permitted: this allows the case where /lib and /lib<qual>
|
|
are the same (one is a symbolic link to the other).
|
|
</screen>
|
|
</para>
|
|
|
|
</sect1>
|