Comment lister les dépendances d’un paquet dans Ubuntu

Contrairement à Windows, macOS et Android, les logiciels sur Ubuntu – et Linux en général – ne sont pas distribués sous forme de package unique. Au lieu de cela, lorsque vous installez une application, le gestionnaire de packages de votre système télécharge plusieurs packages, y compris le package d'application principal et ses dépendances. Cependant, cela n'est vrai que pour l'installation de paquets traditionnelle sur Linux, c'est-à-dire en utilisant des gestionnaires de paquets.

Savoir quelles dépendances supplémentaires sont téléchargées lors d'une installation peut être bénéfique pour les utilisateurs débutants comme avancés. De cette façon, on a un contrôle total sur les packages installés sur leur système.

Voyons comment vérifier les dépendances d'un paquet sur Ubuntu.

Que sont les dépendances de package ?

Les dépendances sont des packages de support nécessaires au bon fonctionnement d'une application sous Linux. Par exemple, si vous souhaitez télécharger le lecteur multimédia VLC sur Ubuntu, APT installera des packages supplémentaires tels que libc6 et gcc , en plus du package principal " vlc ". Une dépendance peut également avoir d'autres packages comme dépendances, formant ainsi une structure hiérarchique.

Étant donné que les packages Linux sont interdépendants, presque tous les logiciels nécessitent des packages supplémentaires que vous devez installer sur votre système.

Bien que les gestionnaires de packages comme APT automatisent la gestion et l'installation de ces dépendances, des erreurs se produisent lorsque vous essayez de créer le package manuellement à partir de la source. Cependant, vous pouvez résoudre de telles erreurs en installant simplement la dépendance requise sur votre système à l'aide de la commande apt install .

Comment vérifier les dépendances des packages sous Linux

Heureusement, sur Ubuntu, il existe plusieurs façons d'obtenir une liste des dépendances d'un package. APT, le gestionnaire de paquets par défaut dans les distributions basées sur Ubuntu et Debian, propose plusieurs commandes pour obtenir des informations relatives aux dépendances d'un paquet.

Utilisation du gestionnaire de packages APT

Vous pouvez utiliser APT dans Ubuntu pour obtenir une liste des dépendances associées à un package. La syntaxe de base de la commande est :

 sudo apt depends packagename

Par exemple, pour vérifier les dépendances du package rhythmbox :

 sudo apt depends rhythmbox

Outre la liste des dépendances, la sortie inclura également les packages recommandés et suggérés que vous pouvez installer avec rhythmbox .

Alternativement, vous pouvez également utiliser la commande apt-cache pour obtenir la même sortie.

 sudo apt-cache depends rhythmbox

Pour obtenir des informations supplémentaires relatives à un package spécifique, utilisez la méthode show au lieu de depend .

 sudo apt show rhythmbox
sudo apt-cache show rhythmbox

Sortir:

Lister les dépendances à l'aide de dpkg

Si vous avez téléchargé un package DEB sur votre système et que vous souhaitez savoir quelles dépendances seront installées avec le package, vous pouvez utiliser l'indicateur -I (i majuscule, pas L minuscule) ou –info avec la commande.

 sudo dpkg -I /path/to/package.deb
sudo dpkg --info /path/to/package.deb

…où /path/to/package.deb est le chemin absolu ou relatif du fichier DEB.

La sortie affichera la taille du package, la source et d'autres informations utiles ainsi que la liste des dépendances.

Pour obtenir la liste des dépendances d'un package installé, utilisez l'indicateur -s avec dpkg. Par exemple:

 sudo dpkg -s firefox

Sortir:

Connexe : Quelle est la différence entre APT et dpkg dans Ubuntu ?

Utiliser apt-rdepends

Pour obtenir une sortie plus détaillée, vous pouvez utiliser l'utilitaire apt-rdepends. Comme il n'est pas préinstallé sur la plupart des distributions Linux, vous devrez l'installer manuellement sur Ubuntu à l'aide d'APT.

 sudo apt install apt-rdepends

Utilisez le format de commande suivant pour obtenir l'arborescence des dépendances d'un package :

 apt-rdepends packagename

Par exemple:

 apt-rdepends vlc

Sortir:

La sortie générée est généralement longue car apt-rdepends affiche un arbre hiérarchique complet des dépendances, ce qui signifie que vous obtenez également la liste des dépendances d'une dépendance.

Vous pouvez également obtenir une liste des packages qui dépendent d'un package particulier. Par exemple, pour vérifier quels packages nécessitent libc en tant que dépendance :

 apt-rdepends -r libc

Sortir:

L'utilitaire inverse dépend

Bien que la fonctionnalité de dépendance inverse (l'indicateur -r ) de apt-rdepends fonctionne mieux que prévu, il existe encore un autre utilitaire que vous pouvez utiliser pour extraire les dépendances inverses d'un package. La commande reverse-depends fait partie du package ubuntu-dev-tools et peut être téléchargée à l'aide de :

 sudo apt install ubuntu-dev-tools

La syntaxe par défaut de la commande est :

 reverse-depends options packagename

… où options sont les indicateurs que vous pouvez utiliser avec la commande et packagename est le nom du package dont vous souhaitez inverser la vérification des dépendances.

Vous pouvez également ajouter divers indicateurs à la commande susmentionnée pour modifier la sortie. Voici une liste des options les plus utiles :

  1. -R : Liste uniquement les dépendances directes (pas de packages suggérés ou recommandés)
  2. -s : Inclut les forfaits suggérés
  3. -l : Présente la sortie dans un format plus propre, approprié pour une utilisation dans les scripts

Si vous ne savez pas comment utiliser l'outil et avez besoin d'aide en ligne de commande , utilisez l'indicateur –help ou -h .

 reverse-depends -h
reverse-depends --help

Obtenir la liste des dépendances à l'aide d'une installation/suppression simulée

Pour ceux qui souhaitent une brève liste de toutes les dépendances qui ne sont actuellement pas installées sur le système, vous pouvez exécuter une installation (ou une désinstallation) simulée d'un package particulier.

Pour vérifier les dépendances requises par le package PHP, par exemple, exécutez la commande suivante :

 sudo apt install -s php

La sortie contiendra une section "Les packages supplémentaires suivants seront installés". Tous les noms de packages répertoriés plus loin sont des dépendances qui n'ont pas été trouvées sur votre système.

Si vous souhaitez obtenir une liste des dépendances pour un package déjà installé sur Ubuntu, vous pouvez effectuer une désinstallation simulée pour vérifier quels packages supplémentaires seront supprimés avec celui-ci.

 sudo apt remove -s packagename

Exemple:

 sudo apt remove -s rhythmbox

Sortir:

Les packages Linux sont interdépendants

Comme vous pouvez le déduire de ce guide, presque tous les packages Linux dépendent d'un autre package. Le principe principal derrière ce concept est que sur les systèmes d'exploitation basés sur Linux, chaque paquet est censé faire un seul travail, et le faire bien.

Si un package a été développé pour gérer les services audio, alors d'autres programmes listeront simplement ledit package comme leur dépendance et l'utiliseront pour répondre à leurs besoins audio.

De plus, si plusieurs applications demandent le même package, celui-ci n'est installé qu'une seule fois sur le système, empêchant la redondance des données et économisant de l'espace de stockage sur le disque. Vous pouvez également obtenir une liste de tous les packages actuellement installés sur votre système à l'aide d'APT.