Comment utiliser la commande LDD dans Linux

Comment utiliser la commande LDD dans Linux

Dans Linux Systems, nous travaillons constamment avec des fichiers exécutables dans le terminal ou les applications graphiques. Les exécutables contiennent des bibliothèques partagées, qui sont des fichiers partagés et réutilisés entre les programmes. Dans Windows, ceux-ci sont généralement sous la forme de fichiers DDL. Dans Linux, cependant, ils sont sous la forme de .o ou .So fichiers.

Ce guide vous montrera comment utiliser l'utilitaire de ligne de commande LDD pour afficher des objets partagés et les dépendances dans un exécutable.

Qu'est-ce que LDD

LDD est un puissant outil de ligne de commande qui permet aux utilisateurs d'afficher les dépendances d'objets partagés d'un fichier exécutable. Une bibliothèque fait référence à une ou plusieurs ressources pré-compilées telles que les fonctions, les sous-programmes, les classes ou les valeurs. Chacune de ces ressources est combinée pour créer des bibliothèques.

Dans Linux, les fichiers de bibliothèque sont généralement situés dans les répertoires / lib ou / usr / lib. Les bibliothèques aident à gagner du temps car les programmes peuvent réutiliser et les utiliser comme ils le semblent appropriés.

Il existe deux types de bibliothèques:

  • Bibliothèques statiques
  • Bibliothèques dynamiques ou partagées

Comment installer la commande LDD

En règle générale, vous trouverez la commande LDD disponible dans presque toutes les distributions Linux. Cependant, au cas où il n'est pas disponible, vous pouvez l'installer en utilisant la commande:

sudo apt-get install libc-bin

Avec la commande installée, nous pouvons commencer à l'utiliser.

Utilisation de commande LDD de base

La syntaxe générale de la commande LDD est assez simple. Par défaut, l'exécution de la commande LDD affiche les dépendances d'objets partagés.

La syntaxe est comme:

LDD [Options] Exécutable

Par exemple, pour afficher les dépendances de bibliothèque partagées du binaire bash, nous utilisons la commande:

sudo ldd / bin / bash

La commande ci-dessus montre les dépendances comme:

La première section montre un objet partagé dynamique virtuel (VDSO). La deuxième ligne montre le chemin de l'interprète ELF qui est codé en dur dans l'exécutable, et la pièce finale montre la mémoire à laquelle la bibliothèque est chargée.

Options LDD

Nous utilisons les options LDD pour modifier le comportement de la commande. Les options prises en charge incluent:

  • -V - Mode verbeux, qui imprime toutes les informations.
  • -u - Montre des dépendances directes inutilisées
  • -d - Exécute la relocalisation des données et affiche des objets ELF manquants.
  • -r - Exécute les données et la relocalisation des fonctions et affiche des objets et fonctions ELF manquants.

Afficher une sortie détaillée

Pour montrer les dépendances d'un binaire avec des informations détaillées, nous pouvons transmettre l'indicateur -v à la commande LDD comme:

sudo ldd -v / bin / bash

LDD montre des dépendances directes inutilisées

Afficher les dépendances directes inutilisées avec le drapeau -u comme:

sudo ldd -u / bin / grep

NOTE: LDD ne fonctionne qu'avec des exécutables dynamiques. S'il est utilisé sur un exécutable non dynamique, il affichera une erreur comme:

Sudo LDD -V / BIN / LDD

En conclusion

Ce didacticiel a couvert comment utiliser la commande LDD dans Linux et obtenir des informations de dépendance à la bibliothèque partagée pour les exécutables dynamiques. Si vous avez appris quelque chose de ce tutoriel, partagez-le avec les autres.

Si vous recherchez des informations détaillées, considérez les pages d'homme suivantes:

  • https: // man7.org / linux / man-pages / man1 / ldd.1.html
  • https: // man7.org / linux / man-pages / man7 / vdso.7.html
  • https: // man7.org / linux / man-pages / man7 / libc.7.html
  • https: // man7.org / linux / man-pages / man8 / ld.donc.8.html