Wenn Sie ein Linux-Benutzer sind, müssen Sie möglicherweise häufig verschiedene Softwarepakete installieren oder deinstallieren. Aber wussten Sie, dass jedes Softwarepaket von einigen gemeinsam genutzten Objektdateien abhängt, die von anderen Softwarepaketen bereitgestellt werden? Wenn diese Objektdateien fehlen oder beschädigt sind, funktioniert Ihr Paket möglicherweise nicht richtig oder startet überhaupt nicht. Daher ist das Wissen, wie man Paketabhängigkeiten findet und verwaltet, eine sehr nützliche Fähigkeit, die Ihnen bei der Wartung und Optimierung Ihres Linux-Systems helfen kann. In diesem Artikel wird ein leistungsstarkes Befehlszeilentool namens ldd vorgestellt, mit dem Sie Softwarepaketabhängigkeiten unter Linux mit dem Befehl ldd wie ein Profi verwalten können.
Software ist nicht nur unabhängiger Quellcode, sondern eine Kombination aus lokalem Quellcode und aus externen Bibliotheken entliehenem Code. Wenn diese Bibliotheken und andere gemeinsam genutzte Objekte in Ihrem System fehlen, kann es bei Anwendungen, die von ihnen abhängen, zu Fehlfunktionen kommen oder sich sogar weigern, zu starten.
Alle diese gemeinsam genutzten Dateien, Pakete, Bibliotheken usw. werden unter Linux 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.
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 festlegt. 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.
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 auf Ihrem System ldd installiert ist. Sie können dies bestätigen, indem Sie die installierte ldd-Version ausdrucken:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com] └─$ ldd --version
Wenn der Fehler „Befehl nicht gefunden“ zurückgegeben wird, müssen Sie zuerst ldd installieren.
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, die Verwendung zu erlernen. Hier ist die grundlegende Syntax des ldd-Befehls:
ldd 二进制文件路径
Wenn Sie den Speicherort der Binärdateien nicht kennen, können Sie einen der Linux-Befehlszeilenoperatoren nutzen und die Ausgabe des Befehls „which“ mit dem Befehl „ldd“ kombinieren, um die Abhängigkeiten des Pakets zu ermitteln:
ldd -flag $(which binary_name)
Der Befehl ldd bietet vier verschiedene Optionen zum Ändern der Ausgabe. Sie sind:
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
通过本文的介绍,我们了解了ldd命令的基本概念、用法和选项,以及如何利用它来查找和管理软件包依赖关系。ldd命令可以帮助我们识别应用程序所需的共享对象文件,它们的位置和版本,以及是否存在缺失或未使用的依赖项。ldd命令还可以帮助我们调试应用程序和库的问题,以及检查潜在的安全漏洞。ldd命令是一个简单而强大的工具,值得每个Linux用户掌握和使用。
Das obige ist der detaillierte Inhalt vonldd-Befehl unter Linux: So finden und verwalten Sie Paketabhängigkeiten einfach. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!