Maison >Opération et maintenance >Nginx >Gérez les dépendances des packages comme un pro à l'aide de la commande ldd sous Linux

Gérez les dépendances des packages comme un pro à l'aide de la commande ldd sous Linux

王林
王林avant
2023-06-09 15:42:521750parcourir

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 !

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

Que sont les dépendances des packages ?

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.

Qu'est-ce que la commande ldd et comment ça marche ?

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.

Trouver les dépendances des objets partagés à l'aide de la commande ldd

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

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

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 二进制文件路径

像专业人士一样在 Linux 上使用 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 :

  • -v : Imprimer une sortie détaillée, y compris les informations de version pour chaque dépendance
  • -u : Imprimer toutes les dépendances inutilisées, c'est-à-dire les dépendances chargées mais non implémentées
  • -d : Imprimer les objets manquants et effectuer des relocalisations
  • -r : Imprimer les objets et les fonctions manquants et effectuer des relocalisations

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

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

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

Gérer les dépendances des packages dans les systèmes Linux

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer