LPIC101/102.3 Shared Libraries verwalten: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 23: | Zeile 23: | ||
''' Allgemeines '''<br> | ''' Allgemeines '''<br> | ||
Eine Bibliothek ist ein kompilierter Satz von Code, der alle Objekte oder Objekte enthält, die zum Ausführen einer in eine Datei integrierten Software erforderlich sind | |||
Wenn Sie eine Anwendung in Betracht ziehen Die Software verfügt über eine Reihe von Funktionen, die jeweils ausgeführt werden Beispielsweise druckt man eine Eingabe und eine Ausgabe.Man hat die Aufgabe, Daten zu speichern und ... all dies wird nicht von Grund auf neu programmiert.Beispielsweise müssen Sie das Dateneingabeprogramm nicht mehr neu schreiben, sondern es einfach aus einer Bibliothek abrufen, die die Aufgabe hat, Daten von der Eingabe zu empfangen.Beziehen Sie es stattdessen aus einer Bibliothek, die die Aufgabe hat, Eingabedaten zu empfangen. Wenn Sie das Thema Bibliotheken sehr einfach verstehen möchten, können Sie Module in Betracht ziehen, dh jedes Modul erledigt einen Job und Bibliotheken haben ihre eigenen Aufgaben. | |||
Freigabebibliotheken oder Bibliotheken sind Bibliotheken, mit denen beim Ausführen eines beliebigen Programms eine Verknüpfung hergestellt werden kann | |||
Tatsächlich können sie mit einem Programm im technischen Sinne der Laufzeit verbunden werden. Tatsächlich handelt es sich um Code, der jederzeit in den Systemspeicher geladen und gestartet werden kann | |||
Version vom 1. November 2019, 11:54 Uhr
wichtung:1
Beschreibung: Kandidaten sollten in der Lage sein, die Shared Libraries zu bestim-men, von denen ausführbare Programme abhängen, und diese bei Bedarf zu instal-lieren.
Wichtigste Wissensgebiete
- Shared Libraries identifizieren
- die typischen Orte für Systembibliotheken identifizieren
- Shared Libraries laden
Liste wichtiger Dateien, Verzeichnisse und Anwendungen:
- ldd
- ldconfig
- /etc/ld.so.conf
- LD_LIBRARY_PATH
Allgemeines
Eine Bibliothek ist ein kompilierter Satz von Code, der alle Objekte oder Objekte enthält, die zum Ausführen einer in eine Datei integrierten Software erforderlich sind Wenn Sie eine Anwendung in Betracht ziehen Die Software verfügt über eine Reihe von Funktionen, die jeweils ausgeführt werden Beispielsweise druckt man eine Eingabe und eine Ausgabe.Man hat die Aufgabe, Daten zu speichern und ... all dies wird nicht von Grund auf neu programmiert.Beispielsweise müssen Sie das Dateneingabeprogramm nicht mehr neu schreiben, sondern es einfach aus einer Bibliothek abrufen, die die Aufgabe hat, Daten von der Eingabe zu empfangen.Beziehen Sie es stattdessen aus einer Bibliothek, die die Aufgabe hat, Eingabedaten zu empfangen. Wenn Sie das Thema Bibliotheken sehr einfach verstehen möchten, können Sie Module in Betracht ziehen, dh jedes Modul erledigt einen Job und Bibliotheken haben ihre eigenen Aufgaben.
Freigabebibliotheken oder Bibliotheken sind Bibliotheken, mit denen beim Ausführen eines beliebigen Programms eine Verknüpfung hergestellt werden kann
Tatsächlich können sie mit einem Programm im technischen Sinne der Laufzeit verbunden werden. Tatsächlich handelt es sich um Code, der jederzeit in den Systemspeicher geladen und gestartet werden kann
Verwaltung von Shared Libraries
Um zu identifizieren, von welchen Libraries ein Programm abhängt, können Sie dasTool ldd verwenden. Die Ausgabe des Programms zeigt gleichzeitig die Position der benötigten Libraries im Dateisystem an:
archangel:/ # ldd /usr/bin/grep linux-gate.so.1 => (0xffffe000) libc.so.6 => /lib/tls/libc.so.6 (0x40030000) /lib/ld-linux.so.2 (0x40000000)
Wenn Sie neue Bibliotheken auf einem System installieren, benötigen Sie das Programm ldconfig,damit der dynamische Linker diese Bibliotheken auch verwendet. Zu diesem Zweck liest ldconfig die Datei /etc/ld.so.confbzw. alle conf-Dateien im Verzeichnis /etc/ld.so.conf.d ein. Hier sind alle Verzeichnisse aufgelistet, in denen sichdynamische Libraries befinden: archangel:/ # less /etc/ld.so.conf
/usr/X11R6/lib /usr/i486-linux/lib /usr/i486-linux-libc5/lib=libc5 /usr/i486-linux-libc6/lib=libc6 /usr/i486-linuxaout/lib /usr/i386-suse-linux/lib /usr/local/lib
Diese Verzeichnisse werden von ldconfig
konsultiert, um die Datei
/etc/ld.so.cache aufzubauen. Danach können die neuen Libr aries vom dynamische n Linker verwen- det und bei Bedarf eingebunden werden. Um den aktuellen Inhalt der Datei /etc/ld.so.cache
anzuzeigen, verwenden Sie folgen-
des Kommando: archangel:/ # ldconfig -p | less 1128 libs found in cache `/etc/ld.so.cache' libzvbi.so.0 (libc6) => /usr/lib/libzvbi.so.0 libzio.so.0 (libc6) => /usr/lib/libzio.so.0 libzio.so (libc6) => /usr/lib/libzio.so libz.so.1 (libc6) => /lib/libz.so.1 libz.so.1 (libc6) => /usr/lib/libz.so.1 libz.so (libc6) => /usr/lib/libz.so liby2.so.2 (libc6) => /usr/lib/liby2.so.2 libyui.so.2 (libc6) => /usr/lib/libyui.so.2 ... weitere Zeilen wurden abgeschnitten ...