Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Verwalten Sie Paketabhängigkeiten wie ein Profi mit dem Befehl ldd unter Linux

Verwalten Sie Paketabhängigkeiten wie ein Profi mit dem Befehl ldd unter Linux

王林
王林nach vorne
2023-06-09 15:42:521696Durchsuche

Die Verwaltung von Abhängigkeiten ist ein wichtiger Teil der Wartung eines Linux-Systems. Die Software ist komplex und basiert auf vielen gemeinsam genutzten Bibliotheken und Dateien. Manchmal ist es schwierig, den Überblick über die für Ihre Anwendung erforderlichen Dateien zu behalten.

Hier kommt der Befehl ldd unter Linux ins Spiel. Ldd ist ein Befehlszeilentool mit vollem Funktionsumfang, mit dem Anwendungsabhängigkeiten von gemeinsam genutzten Objekten verfolgt werden können.

Lernen Sie, wie Sie den Befehl ldd nutzen und ein Experte für die Verwaltung von Abhängigkeiten unter Linux werden!

像专业人士一样在 Linux 上使用 ldd 命令管理软件包依赖关系

Was sind Paketabhängigkeiten?

Die Software enthält nicht nur unabhängigen Quellcode, sondern vereint auch lokalen Quellcode und Code, der in externen Bibliotheken verwendet wird. Wenn Ihrem System diese Bibliotheken und andere gemeinsam genutzte Objekte fehlen, kann es zu Fehlfunktionen von Anwendungen kommen, die von ihnen abhängen, oder sie können sich sogar weigern, zu starten.

In Linux-Systemen werden alle gemeinsam genutzten Dateien, Softwarepakete, Bibliotheken usw. zusammenfassend als Abhängigkeiten bezeichnet. Während diese kurze Definition Ihnen eine ungefähre Vorstellung vermittelt, ist die Realität komplexer, weshalb es wichtig ist, ein tiefes Verständnis der Paketabhängigkeiten zu haben.

Was ist der LDD-Befehl und wie funktioniert er?

LDD ist die Abkürzung für List Dynamic Dependencies. Wie der Name schon sagt, listet ldd alle von der Anwendung benötigten gemeinsamen Objekte auf.

Es ruft den dynamischen Linker auf, indem es spezielle Umgebungsvariablen setzt. Wenn Sie ldd mit dem Speicherort der Binärdatei ausführen, wird eine Ausgabe zurückgegeben, die eine Liste von Abhängigkeiten, deren Speicherorte und Hexadezimalwerte enthält, die ihr Laden in den Speicher darstellen.

Suchen Sie Abhängigkeiten von gemeinsam genutzten Objekten mit dem Befehl ldd.

Da Sie nun ein klares Verständnis der Grundkonzepte von ldd haben, können wir uns an die Arbeit machen und lernen, wie man damit Abhängigkeiten von Software findet.

Bevor Sie lernen, wie Sie ldd verwenden, überprüfen Sie bitte, ob Ihr System ldd installiert hat. Sie können dies bestätigen, indem Sie die installierte ldd-Version ausdrucken:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ ldd --version

像专业人士一样在 Linux 上使用 ldd 命令管理软件包依赖关系

Wenn der Fehler „Befehl nicht gefunden“ zurückgegeben wird, müssen Sie zuerst die Installation durchführen ldd.

Führen Sie den folgenden Befehl aus, um auf Ubuntu- und Debian-basierten Systemen zu installieren:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ sudo apt install libc-bin

Für Arch-basierte Distributionen:

sudo pacman -S glibc

Für RHEL und Fedora:

sudo dnf install glibc-common

Wenn ldd installiert ist, können Sie sich jetzt darauf konzentrieren, zu lernen, wie man es verwendet. Hier ist die grundlegende Syntax des ldd-Befehls:

ldd 二进制文件路径

像专业人士一样在 Linux 上使用 ldd 命令管理软件包依赖关系

Wenn Sie den Speicherort der Binärdatei nicht kennen, können Sie einen der Linux-Befehlszeilenoperatoren nutzen und die Ausgabe des which-Befehls mit dem kombinieren ldd-Befehl zum Ermitteln des Speicherorts des Pakets:

ldd -flag $(which binary_name)

ldd-Befehl bietet vier verschiedene Optionen zum Ändern der Ausgabe. Dies sind:

  • -v: Ausführliche Ausgabe ausgeben, einschließlich Versionsinformationen für jede Abhängigkeit
  • -u: Alle nicht verwendeten Abhängigkeiten drucken, d. h. Abhängigkeiten, die geladen, aber nicht implementiert sind
  • -d: Fehlende Objekte drucken und Verschiebungen durchführen
  • -r: Fehlende Objekte und Funktionen drucken und Verschiebungen durchführen

像专业人士一样在 Linux 上使用 ldd 命令管理软件包依赖关系

Um festzustellen, ob ein bestimmter ausführbarer Daemon TCP Wrapper unterstützt, führen Sie den folgenden Befehl aus:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ sudo ldd /usr/sbin/sshd | grep libwrap

像专业人士一样在 Linux 上使用 ldd 命令管理软件包依赖关系

Paketabhängigkeiten in Linux-Systemen verwalten

Mit ldd as Mit Ihrem Softwaretool können Sie Probleme mit der Abhängigkeit gemeinsamer Objekte im Zusammenhang mit Ihren Anwendungen lösen.

Darüber hinaus können Sie durch die Ausgabe des Ladeorts einer Bibliothek über ldd Ihre Anwendung debuggen und tiefere Einblicke in die Implementierung einer bestimmten Bibliothek erhalten. ldd druckt auch die Versionen der in der Anwendung verwendeten gemeinsam genutzten Bibliotheken aus.

Mit dieser Funktion können Sie Ihre Anwendung auf potenzielle Schwachstellen im Zusammenhang mit veralteten Versionen gemeinsam genutzter Bibliotheken überprüfen.

Das Verwalten von Abhängigkeiten ist eine wichtige Kernkompetenz, die für den reibungslosen Betrieb Ihres Linux-Systems wichtig ist. Auch wenn alle Abhängigkeiten in Ordnung sind, kann es manchmal dennoch zu Problemen mit einem Paket kommen. Daher ist es wichtig zu wissen, wie man defekte Pakete findet und repariert.

Das obige ist der detaillierte Inhalt vonVerwalten Sie Paketabhängigkeiten wie ein Profi mit dem Befehl ldd unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen