Dieses Handbuch wird mit freundlicher Genehmigung von Sebastian Hetze auf den Servern der Linux Information Systems AG gehosted.

next up previous contents index
Next: Erweiterungspakete in /opt Up: Reise durch's Dateisystem Previous: Home, Sweet Home

Subsections


Die Bibliotheken in ./lib

  Im Verzeichnis /lib befinden sich die ,,Shared Libraries`` für die dynamisch gelinkten Programme des Basissystems. Weitere Shared Libraries für Zusatzprogramme und das X Window System sind in /usr/lib und /usr/X11R6/lib.

Normalerweise haben die Shared Libraries Namen der Form libxyz.so.1.2.33. Die dynamischen Linker öffnen die Shared Libraries über symbolische Links der Form libxyz.so.1. Wenn der symbolische Link immer auf die neueste Bibliotheksversion zeigt, wird der Linker veranlaßt, die Programme stets mit der aktuellsten Version zu verbinden. Das Systemprogramm ldconfig sorgt dafür, daß die symbolischen Links stets auf die Bibliotheken mit der höchsten Versionsnummer zeigen.

In /lib sind auch die dynamischen Linker, ld.so und ld-linux.so zu finden, der die dynamisch gelinkten Programme im aout- und ELF-Format beim Laden (zur Laufzeit) mit den Bibliotheksfunktionen zusammenbindet.   

Um die Rückwärtskompatibilität zu sichern, wird ein symbolischer Link von /lib/cpp auf den C-Präprozessor zugelassen.

Das Verzeichnis /lib/modules enthält ein Unterverzeichnis für jede Kernelversion, in dem die zu dieser Version passenden Kernelmodule gespeichert werden. Weitere Informationen zu Kernelmodulen und ihrer Benutzung finden Sie ab Seite [*].

Compiler, Bibliotheken und Daten in /usr/lib

Der Anspruch dieses Kapitels -- den Inhalt der verschiedenen Verzeichnisse im Basissystem zu erklären -- ist im Fall von /usr/lib nur ansatzweise zu erfüllen. In diesem Verzeichnis befinden sich alle möglichen Daten, die von Programmen des Basissystems zur Laufzeit benötigt werden.

Unter anderem sind das Hilfstexte, Makros für verschiedene Textverarbeitungssysteme, Funktionsbibliotheken für verschiedene Compiler und Interpreter, Fontdateien und alles, was sonst keinen Platz im Dateisystem gefunden hat.

Der C-Compiler

Die größte Zahl der Dateien in /usr/lib gehört zum GCC, dem C-Compiler. Folgende Dateitypen lassen sich dem C-Entwicklungssystem zuordnen:

lib*.a
Statische Funktionsbibliotheken -- in diesen Dateien sind die Standardfunktionen enthalten, die zum Linken statischer Programme benötigt werden.
lib*.so.*
Dynamische Funktionsbibliotheken -- in diesen Dateien sind die gleichen Funktionen enthalten, die in den gleichnamigen statischen Bibliotheken zu finden sind, allerdings werden diese Funktionen erst zur Laufzeit durch den dynamischen Linker mit der Programmdatei verbunden.
cr*.o
Initialisierungsobjekte -- diese Objektdateien enthalten den Programmtext zur Initialisierung von Programmen oder Klassen.
gcc-lib
Verzeichnis -- in den Unterverzeichnissen befinden sich die eigentlichen Compiler, Präprozessoren und die compilerabhängigen Dateien des GCC.

   Durch die Einführung eines neuen Binärformats für Linux ist das Compilersystem nicht gerade übersichtlicher geworden. Für das alte aout-Format werden andere Bibliotheken benötigt als für das neue ELF. Wenn vom Entwicklungssystem beide Formate unterstützt werden, befinden sich Bibliotheken und Binutils für das aout-Format in /usr/i486-linuxaout/*. Zu den Shared Libraries von aout gibt es noch jeweils eine Stub-Library mit den Programmtexten für die Funktionsaufrufe.  


next up previous contents index
Next: Erweiterungspakete in /opt Up: Reise durch's Dateisystem Previous: Home, Sweet Home

Das Linux Anwenderhandbuch
(C) 1997 LunetIX