/usr/lib : Bibliotheken für Programmierung und Softwarepakete

Zweck

/usr/lib enthält Objektdateien, Bibliotheken und interne lauffähige Programme, die nicht für die direkte Nutzung durch Benutzer oder Shell-Skripte vorgesehen sind. [1]

Anwendungsprogramme dürfen je ein Unterverzeichnis von /usr/lib benutzen. Wenn ein Anwendungsprogramm das tut, müssen alle architekturabhängige Daten, die ausschließlich von diesem Programm gebraucht werden, dort gespeichert werden. [2]

Optionen

Historisch bedingt muss /usr/lib/sendmail ein symbolischer Link auf /usr/sbin/sendmail sein, wenn letzteres existiert. [3]

Wenn /lib/X11 existiert, dann muss /usr/lib/X11 ein symbolischer Link darauf sein, oder auf das, worauf ein symbolische Link /lib/X11 zeigt. [4]

Fußnoten

[1]

Architekturunabhängige programmspezifische statische Dateien und Verzeichnisse gehören aber nach /usr/share.

[2]

Ein Beispiel wäre das Unterverzeichnis perl5 für Perl-5-Module und Bibliotheken.

[3]

Auch einige Kommandos wie makewhatis und sendmail waren traditionell in /usr/lib plaziert. makewhatis ist aber ein Kommando und gehört deshalb in ein Binärverzeichnis; Benutzer rufen nur catman. Neuere sendmail-Versionen werden inzwischen standardmäßig nach /usr/sbin geschrieben; bei Systeme mit einem sendmail-kompatiblen Postverteiler muss /usr/sbin/sendmail ein symbolischer Link auf das entsprechende Programm sein.

[4]

Rechnerspezifische Daten des X-Window-Systems dürfen nicht unter /usr/lib/X11 gespeichert sein. Rechnerspezifische Daten wie Xconfig oder XF86Config gehören nach /etc/X11. Das betrifft auch Konfigurationsdateien wie zum Beispiel system.twmrc, selbst wenn diese nur symbolische Links zu Konfigurationsdateien, evtl. unter /usr/X11R6/lib/X11, sind.