Filesystem Hierarchy Standard

4.7 /usr/lib : Libraries for programming and packages

4.7.1 Purpose

/usr/lib includes object files, libraries, and internal binaries that are not intended to be executed directly by users or shell scripts.[footnote 18]

Applications may use a single subdirectory under /usr/lib. If an application uses a subdirectory, all architecture-dependent data exclusively used by the application must be placed within that subdirectory.[footnote 19]

4.7.2 Specific Options

For historical reasons, /usr/lib/sendmail must be a symbolic link to /usr/sbin/sendmail if the latter exists.[footnote 20]

If /lib/X11 exists, /usr/lib/X11 must be a symbolic link to /lib/X11, or to whatever /lib/X11 is a symbolic link to.[footnote 21]

[18] Miscellaneous architecture-independent application-specific static files and subdirectories must be placed in /usr/share.

[19] For example, the perl5 subdirectory for Perl 5 modules and libraries.

[20] Some executable commands such as makewhatis and sendmail have also been traditionally placed in /usr/lib. makewhatis is an internal binary and must be placed in a binary directory; users access only catman. Newer sendmail binaries are now placed by default in /usr/sbin. Additionally, systems using a sendmail-compatible mail transfer agent must provide /usr/sbin/sendmail as a symbolic link to the appropriate executable.

[21] Host-specific data for the X Window System must not be stored in /usr/lib/X11. Host-specific configuration files such as Xconfig or XF86Config must be stored in /etc/X11. This includes configuration data such as system.twmrc even if it is only made a symbolic link to a more global configuration file (probably in /usr/X11R6/lib/X11).


Previous: /usr/include : Directory for standard include files.
Next: /usr/lib<qual> : Alternate format libraries (optional)
Up: Table of Contents

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan