Comment vérifier si une bibliothèque est installée sur Linux

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), vous apprendrez à vérifier si une bibliothèque spécifique est installée sur votre système Linux. Vous explorerez différentes méthodes pour y parvenir, en commençant par lister les bibliothèques partagées disponibles à l'aide de la commande ldconfig -p afin de comprendre quelles bibliothèques sont présentes et où elles se trouvent.

Ensuite, vous utiliserez la commande dpkg -l pour identifier le paquet associé à une bibliothèque particulière, ce qui vous permettra de mieux comprendre comment les bibliothèques sont gérées par le gestionnaire de paquets du système. Enfin, vous apprendrez à inspecter directement les répertoires de bibliothèques courants tels que /usr/lib pour vérifier manuellement la présence des fichiers de bibliothèque.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux(("Linux")) -.-> linux/InputandOutputRedirectionGroup(["Input and Output Redirection"]) linux(("Linux")) -.-> linux/PackagesandSoftwaresGroup(["Packages and Softwares"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/less("File Paging") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") linux/InputandOutputRedirectionGroup -.-> linux/pipeline("Data Piping") linux/PackagesandSoftwaresGroup -.-> linux/software("Linux Software") subgraph Lab Skills linux/ls -.-> lab-558728{{"Comment vérifier si une bibliothèque est installée sur Linux"}} linux/less -.-> lab-558728{{"Comment vérifier si une bibliothèque est installée sur Linux"}} linux/cd -.-> lab-558728{{"Comment vérifier si une bibliothèque est installée sur Linux"}} linux/grep -.-> lab-558728{{"Comment vérifier si une bibliothèque est installée sur Linux"}} linux/pipeline -.-> lab-558728{{"Comment vérifier si une bibliothèque est installée sur Linux"}} linux/software -.-> lab-558728{{"Comment vérifier si une bibliothèque est installée sur Linux"}} end

Lister les bibliothèques avec ldconfig -p

Dans cette étape, vous apprendrez à lister les bibliothèques partagées disponibles sur votre système Linux en utilisant la commande ldconfig.

Les bibliothèques partagées (shared libraries) sont des collections de code que plusieurs programmes peuvent utiliser. Cela économise de l'espace disque et de la mémoire car le code n'a pas besoin d'être dupliqué dans chaque programme.

La commande ldconfig est principalement utilisée pour configurer les liaisons dynamiques du chargeur d'exécutables (dynamic linker) au moment de l'exécution. Lorsqu'elle est utilisée avec l'option -p, elle affiche la liste des répertoires et des bibliothèques candidates mises en cache.

Ouvrez votre terminal s'il n'est pas déjà ouvert. Vous pouvez le faire en cliquant sur l'icône Xfce Terminal sur le côté gauche de votre bureau.

Maintenant, tapez la commande suivante et appuyez sur Entrée :

ldconfig -p

Cette commande affichera une longue liste de bibliothèques partagées trouvées sur votre système. La sortie ressemblera à ceci :

...
        libzstd.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libzstd.so.1
        libz.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libz.so.1
        libxml2.so.2 (libc6,x86-64) => /lib/x86_64-linux-gnu/libxml2.so.2
        libxml2.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libxml2.so
        libxslt.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libxslt.so.1
...

La sortie montre le nom de la bibliothèque, l'architecture pour laquelle elle a été créée (comme x86 - 64), et le chemin vers le fichier de la bibliothèque sur le système.

Étant donné que la sortie est très longue, vous voudrez peut - être la rediriger vers un visualiseur (pager) comme less pour la consulter écran par écran. Pour ce faire, utilisez le symbole de tube | :

ldconfig -p | less

Appuyez sur la barre d'espace pour faire défiler la page vers le bas, b pour faire défiler vers le haut et q pour quitter less.

Cette commande est utile pour voir quelles bibliothèques sont disponibles et où elles se trouvent.

Cliquez sur Continuer pour passer à l'étape suivante.

Vérifier le paquet d'une bibliothèque avec dpkg -l

Dans l'étape précédente, vous avez listé les bibliothèques partagées. Maintenant, apprenons à découvrir à quel paquet appartient une bibliothèque spécifique en utilisant la commande dpkg.

dpkg est le gestionnaire de paquets pour les systèmes basés sur Debian, comme Ubuntu. Il est utilisé pour installer, supprimer et gérer les paquets .deb. L'option -l liste les paquets installés.

Pour trouver un paquet spécifique, nous pouvons combiner dpkg -l avec grep pour filtrer la sortie. Recherchons les paquets liés à la bibliothèque xml2 que nous avons vue dans la sortie de ldconfig -p.

Tapez la commande suivante dans votre terminal et appuyez sur Entrée :

dpkg -l | grep xml2

Cette commande liste tous les paquets installés (dpkg -l) puis filtre cette liste pour n'afficher que les lignes contenant "xml2" (grep xml2).

Vous devriez voir une sortie similaire à celle - ci :

ii  libxml2:amd64                      <version>                     amd64        GNOME XML library
ii  libxml2-dev:amd66                  <version>                     amd64        Development files for the GNOME XML library
...

La sortie fournit des informations sur le paquet :

  • Les deux premiers caractères (ii) indiquent l'état du paquet (installé).
  • Le nom du paquet (par exemple, libxml2:amd64).
  • Le numéro de version.
  • L'architecture (par exemple, amd64).
  • Une brève description du paquet.

C'est un moyen puissant d'identifier quel paquet logiciel fournit un fichier de bibliothèque particulier. Cela est très utile pour la résolution de problèmes ou la compréhension des dépendances.

Cliquez sur Continuer pour passer à l'étape suivante.

Inspecter les fichiers de bibliothèque dans /usr/lib

Dans cette étape finale, explorons le répertoire où sont stockées de nombreuses bibliothèques partagées : /usr/lib.

Le répertoire /usr dans Linux contient les programmes et les données au niveau utilisateur. Le sous - répertoire /usr/lib contient spécifiquement les bibliothèques partagées qui ne sont pas essentielles pour le démarrage du système mais sont nécessaires aux applications.

Tout d'abord, changeons notre répertoire actuel pour /usr/lib. Nous utilisons la commande cd pour cela.

Tapez la commande suivante et appuyez sur Entrée :

cd /usr/lib

Maintenant, vous êtes dans le répertoire /usr/lib. Pour voir le contenu de ce répertoire, utilisez la commande ls. Comme ce répertoire contient de nombreux fichiers, nous allons de nouveau rediriger la sortie vers less.

Tapez la commande suivante et appuyez sur Entrée :

ls | less

Vous verrez une longue liste de fichiers et de répertoires. De nombreux fichiers se terminant par .so sont des bibliothèques partagées. Vous pourriez également voir des répertoires comme x86_64-linux-gnu, qui contiennent des bibliothèques spécifiques à l'architecture.

Appuyez sur la barre d'espace pour faire défiler vers le bas et q pour quitter less.

Recherchons le fichier de bibliothèque libxml2 dont nous avons parlé dans les étapes précédentes. Nous pouvons utiliser ls avec grep pour le trouver dans le répertoire actuel (/usr/lib).

Tapez la commande suivante et appuyez sur Entrée :

ls | grep libxml2

Vous devriez voir une sortie similaire à celle - ci, montrant les fichiers de bibliothèque libxml2 et les liens symboliques :

libxml2.so
libxml2.so.2
libxml2.so.2.<version>

Les fichiers .so sont les vraies bibliothèques partagées, et les fichiers sans numéro de version (comme libxml2.so) sont souvent des liens symboliques pointant vers le fichier de bibliothèque réel avec le numéro de version.

Vous pouvez utiliser la commande readlink pour voir où pointe un lien symbolique. Par exemple :

readlink libxml2.so

Cela vous montrera le fichier réel vers lequel libxml2.so pointe, qui inclut le numéro de version complet.

libxml2.so.2

Cette étape vous a montré comment accéder à un répertoire de bibliothèque commun et inspecter son contenu en utilisant cd, ls et grep. Comprendre où sont stockées les bibliothèques est crucial pour l'administration système et le développement.

Cliquez sur Continuer pour terminer le laboratoire.

Résumé

Dans ce laboratoire, vous avez appris à vérifier si une bibliothèque est installée sur Linux en utilisant plusieurs méthodes. Vous avez commencé par lister les bibliothèques partagées disponibles et leurs emplacements à l'aide de la commande ldconfig -p, en comprenant son rôle dans la gestion des liaisons du chargeur dynamique.

Ensuite, vous avez exploré comment identifier le paquet auquel appartient une bibliothèque spécifique en utilisant la commande dpkg -l, qui est un outil clé pour la gestion des paquets Debian. Enfin, vous avez appris à inspecter directement des répertoires de bibliothèques courants comme /usr/lib pour vérifier manuellement la présence de fichiers de bibliothèque. Ces étapes fournissent une approche complète pour déterminer l'état d'installation des bibliothèques sur un système Linux.