Maison  >  Article  >  Tutoriel système  >  Commande ldd sous Linux : comment trouver et gérer facilement les dépendances des packages

Commande ldd sous Linux : comment trouver et gérer facilement les dépendances des packages

WBOY
WBOYavant
2024-02-10 16:30:061017parcourir

Si vous êtes un utilisateur Linux, vous devrez peut-être souvent installer ou désinstaller divers logiciels. Mais saviez-vous que chaque progiciel dépend de certains fichiers objets partagés, qui sont fournis par d’autres progiciels ? Si ces fichiers objets sont manquants ou corrompus, votre package risque de ne pas fonctionner correctement ou même de démarrer. Par conséquent, savoir comment rechercher et gérer les dépendances des packages est une compétence très utile qui peut vous aider à maintenir et à optimiser votre système Linux. Cet article présentera un puissant outil de ligne de commande appelé ldd, qui vous permet de gérer les dépendances des progiciels sous Linux à l'aide de la commande ldd comme un professionnel.

Que sont les dépendances des packages ?

Un logiciel n'est pas seulement un code source indépendant, mais une combinaison de code source local et de code emprunté à des bibliothèques externes. Lorsque ces bibliothèques et autres objets partagés sont absents de votre système, les applications qui en dépendent peuvent mal fonctionner ou même refuser de démarrer.

Tous ces fichiers, packages, bibliothèques partagés, etc. sont collectivement appelés dépendances sous Linux. 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.

Utilisez la commande ldd pour rechercher les dépendances des objets partagés

Maintenant que vous avez une compréhension claire des concepts de base de ldd, passons à la pratique et apprenons à l'utiliser pour trouver les dépendances d'un logiciel.

Avant d'apprendre à utiliser ldd, veuillez confirmer si ldd est installé sur votre système. Vous pouvez confirmer en imprimant la version ldd installée :

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ ldd --version
Commande ldd sous Linux : comment trouver et gérer facilement les dépendances des packages

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 désormais vous concentrer sur l'apprentissage de son utilisation. Voici la syntaxe de base de la commande ldd :

ldd 二进制文件路径
Commande ldd sous Linux : comment trouver et gérer facilement les dépendances des packages

Si vous ne connaissez pas l'emplacement des binaires, vous pouvez profiter de l'un des opérateurs de ligne de commande Linux et combiner le résultat de la commande which avec la commande ldd pour trouver les dépendances du package :

ldd -flag $(which binary_name)

La commande ldd propose quatre options différentes pour modifier la sortie. Ce sont :

  • -v : Imprimer une sortie détaillée comprenant les informations de version pour chaque dépendance
  • -u : affiche 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 la relocalisation
  • -r : Imprimer les objets et fonctions manquants et effectuer la relocalisation
Commande ldd sous Linux : comment trouver et gérer facilement les dépendances des packages

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
Commande ldd sous Linux : comment trouver et gérer facilement les dépendances des packages

在 Linux 系统中管理软件包依赖关系

通过本文的介绍,我们了解了ldd命令的基本概念、用法和选项,以及如何利用它来查找和管理软件包依赖关系。ldd命令可以帮助我们识别应用程序所需的共享对象文件,它们的位置和版本,以及是否存在缺失或未使用的依赖项。ldd命令还可以帮助我们调试应用程序和库的问题,以及检查潜在的安全漏洞。ldd命令是一个简单而强大的工具,值得每个Linux用户掌握和使用。

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