Heim > Betrieb und Instandhaltung > Nginx > 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

王林
Freigeben: 2023-06-09 15:42:52
nach vorne
1722 Leute haben es durchsucht

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
Nach dem Login kopieren

像专业人士一样在 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
Nach dem Login kopieren

Für Arch-basierte Distributionen:

sudo pacman -S glibc
Nach dem Login kopieren

Für RHEL und Fedora:

sudo dnf install glibc-common
Nach dem Login kopieren

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 二进制文件路径
Nach dem Login kopieren

像专业人士一样在 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)
Nach dem Login kopieren

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
Nach dem Login kopieren

像专业人士一样在 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!

Verwandte Etiketten:
Quelle:51cto.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage