La gestion des dépendances est une partie importante de la maintenance d'un système Linux. Le logiciel est complexe et repose sur de nombreuses bibliothèques et fichiers partagés. Parfois, il devient difficile de suivre les fichiers requis par votre application.
C'est là que la commande ldd sous Linux entre en jeu. Ldd est un outil de ligne de commande complet qui peut être utilisé pour suivre les dépendances des applications sur les objets partagés.
Apprenons à tirer parti de la commande ldd et devenons un expert dans la gestion des dépendances sous Linux !
Le logiciel contient non seulement du code source indépendant, mais rassemble également le code source local et le code utilisé dans des bibliothèques externes. Si votre système ne dispose pas de ces bibliothèques et autres objets partagés, les applications qui en dépendent peuvent mal fonctionner ou même refuser de démarrer.
Dans les systèmes Linux, tous les fichiers partagés, progiciels, bibliothèques, etc. sont collectivement appelés dépendances. Bien que cette courte définition vous donne une idée approximative, la réalité est plus complexe que cela, c'est pourquoi il est important d'avoir une compréhension approfondie des dépendances des packages.
LDD est l'abréviation de List Dynamic Dependencies. Comme son nom l'indique, ldd répertorie tous les objets partagés requis par l'application.
Il appelle l'éditeur de liens dynamique en définissant des variables d'environnement spéciales. Lorsque vous exécutez ldd avec l'emplacement du binaire, il renvoie une sortie contenant une liste de dépendances, leurs emplacements et des valeurs hexadécimales représentant leur chargement en mémoire.
Maintenant que vous avez une compréhension claire des concepts de base de ldd, passons à la pratique et apprenons à l'utiliser pour trouver des dépendances de logiciels.
Avant d'apprendre à utiliser ldd, veuillez confirmer si votre système a installé ldd. Vous pouvez confirmer en imprimant la version de ldd installée :
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ ldd --version
Si l'erreur "commande introuvable" est renvoyée, vous devez d'abord installer. ldd.
Exécutez la commande suivante pour installer sur les systèmes basés sur Ubuntu et Debian :
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ sudo apt install libc-bin
Pour les distributions basées sur Arch :
sudo pacman -S glibc
Pour RHEL et Fedora :
sudo dnf install glibc-common
Une fois ldd installé, vous pouvez maintenant vous concentrer sur l'apprentissage de son utilisation. Voici la syntaxe de base de la commande ldd :
ldd 二进制文件路径
Si vous ne connaissez pas l'emplacement du binaire, vous pouvez profiter de l'un des opérateurs de ligne de commande Linux et combiner la sortie de la commande which avec le Commande ldd pour trouver l'emplacement du package. Dépendances : La commande
ldd -flag $(which binary_name)
ldd propose quatre options différentes pour modifier la sortie. Ce sont :
Pour déterminer si un démon exécutable donné prend en charge TCP Wrapper, exécutez la commande suivante :
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ sudo ldd /usr/sbin/sshd | grep libwrap
Avec ldd comme votre outil logiciel, vous pourrez résoudre les problèmes de dépendance aux objets partagés liés à vos applications.
De plus, en affichant l'emplacement chargé d'une bibliothèque via ldd, vous pouvez déboguer votre application et mieux comprendre comment une bibliothèque spécifique est implémentée. ldd imprime également les versions des bibliothèques partagées utilisées dans l'application.
Grâce à cette fonctionnalité, vous pouvez vérifier dans votre application les vulnérabilités potentielles liées aux versions obsolètes des bibliothèques partagées.
La gestion des dépendances est une compétence de base vitale qui est importante pour le bon fonctionnement de votre système Linux. Même si toutes les dépendances fonctionnent correctement, il peut parfois y avoir des problèmes avec un package. Il est donc important de savoir comment retrouver et réparer les colis cassés.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!