L'installation d'applications via la ligne de commande est assez simple dans Ubuntu/Debian. Tout ce que vous avez à faire est d'utiliser apt install package_name.
Mais que se passe-t-il si vous voulez connaître les dépendances d'un paquet avant ou après l'avoir installé ?
Dans ce didacticiel, je vais vous montrer différentes façons de voir les dépendances d'un paquet dans Ubuntu et d'autres distributions Linux basées sur Debian qui utilisent le système de gestion de paquets APT.
Qu'est-ce que la dépendance de paquet dans Ubuntu ?
Si vous ne le saviez pas déjà, lorsque vous installez un package logiciel sous Linux, il a parfois besoin d'autres packages pour fonctionner correctement. Ces packages supplémentaires sont appelés dépendances. Si ces packages de dépendance ne sont pas installés sur le système, ils sont généralement installés automatiquement avec le package.
Par exemple, l'outil graphique HandBrake pour convertir les formats vidéo a besoin de FFmpeg, GStreamer. Donc, pour HandBrake, FFmpeg et GStreamer sont les dépendances.
Si ces packages ne sont pas installés sur votre système, ils seront automatiquement installés lorsque vous installerez HandBrake sur Ubuntu.
Vérifier les dépendances d'un paquet dans les distributions basées sur Ubuntu et Debian
Comme cela arrive souvent sous Linux, il existe plusieurs façons d'obtenir le même résultat. Voyons différentes manières de voir les dépendances d'un paquet.
Vérification des dépendances avec apt show
Vous pouvez utiliser la commande apt show pour afficher les détails d'un paquet. Une partie de ces informations concerne les dépendances et vous pouvez les voir dans la ligne commençant par Dépend.
Par exemple, voici ce qu'il affiche pour le package ubuntu-restricted-extras.
[email protected]:~$ apt show ubuntu-restricted-extras
Package: ubuntu-restricted-extras
Version: 67
Priority: optional
Section: multiverse/metapackages
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 14.3 kB
Depends: ubuntu-restricted-addons
Recommends: libavcodec-extra, ttf-mscorefonts-installer, unrar
Download-Size: 3,200 B
APT-Manual-Installed: yes
APT-Sources: http://us.archive.ubuntu.com/ubuntu focal/multiverse amd64 Packages
Description: Commonly used media codecs and fonts for Ubuntu
This collection of packages includes:
- MP3 and other audio codec software to play various audio formats
(GStreamer plugins)
- software to install the Microsoft Web fonts
- the Adobe Flash plugin
- LAME, software to create compressed audio files.
.
This software does not include libdvdcss2, and will not let you play
encrypted DVDs. For more information, see
https://help.ubuntu.com/community/RestrictedFormats/PlayingDVDs
.
These software packages are from the Multiverse channel, restricted by
copyright or legal issues in some countries. For more information, see
http://www.ubuntu.com/ubuntu/licensing
Comme vous pouvez le voir, le package ubuntu-restricted-extras dépend du package ubuntu-restricted-addons.
Voici un hic! Le package de dépendance peut également dépendre d'un autre package et la chaîne peut continuer. Heureusement, le gestionnaire de packages APT gère cela pour vous en installant automatiquement toutes les dépendances (la plupart du temps).
Quel est le package recommandé ?
Avez-vous remarqué la ligne commençant par Recommends dans le résultat ci-dessus ?
Les packages recommandés ne sont pas des dépendances directes du package, mais ils activent des fonctionnalités supplémentaires.
Comme vous pouvez le voir, ubuntu-restricted-extras a ttf-mscorefonts-installer comme package recommandé pour l'installation des polices Microsoft sur Ubuntu.
Les packages recommandés sont également installés par défaut et si vous souhaitez explicitement interdire l'installation du package recommandé, utilisez le drapeau –no-install-recommends comme ceci :
sudo apt install –no-install-recommends package_name
Utilisez apt-cache pour obtenir uniquement les informations sur les dépendances
L'émission apt contient beaucoup trop d'informations. Si vous souhaitez obtenir les dépendances dans un script, la commande apt-cache vous donne une sortie meilleure et plus propre.
apt-cache depends package_name
La sortie semble très propre, n'est-ce pas ?
Vérifier les dépendances d'un fichier DEB à l'aide de dpkg
Les commandes apt et apt-cache fonctionnent sur les packages disponibles dans les référentiels. Mais si vous téléchargez un fichier DEB, ces commandes ne fonctionneront pas.
Dans ce cas, vous pouvez utiliser la commande dpkg avec l'option -I ou –info.
dpkg -I path_to_deb_file
Les dépendances peuvent être vues dans la ligne commençant par Depends.
Vérifier les dépendances et les dépendances inverses avec apt-rdepends
Si vous voulez plus de détails sur les dépendances, vous pouvez utiliser l'outil apt-rdepends. Cet outil crée l'arborescence complète des dépendances. Ainsi, vous obtenez la dépendance d'un package et les dépendances des dépendances également.
Ce n'est pas une commande apt standard et vous devrez l'installer à partir du référentiel de l'univers :
sudo apt install apt-rdepends
La sortie est généralement assez volumineuse en fonction de l'arborescence des dépendances.
Reading package lists... Done
Building dependency tree
Reading state information... Done
shutter
Depends: procps
Depends: xdg-utils
imagemagick
Depends: imagemagick-6.q16 (>= 8:6.9.2.10+dfsg-2~)
imagemagick-6.q16
Depends: hicolor-icon-theme
Depends: libc6 (>= 2.4)
Depends: libmagickcore-6.q16-6 (>= 8:6.9.10.2)
Depends: libmagickwand-6.q16-6 (>= 8:6.9.10.2)
hicolor-icon-theme
libc6
Depends: libcrypt1 (>= 1:4.4.10-10ubuntu4)
Depends: libgcc-s1
libcrypt1
Depends: libc6 (>= 2.25)
L'outil apt-rdepends est assez polyvalent. Il peut également calculer les dépendances inverses. Ce qui signifie que vous pouvez voir quels autres packages dépendent d'un certain package.
apt-rdepends -r package_name
La sortie peut être assez volumineuse car elle imprimera l'arbre de dépendance inverse.
[email protected]:~$ apt-rdepends -r ffmpeg
Reading package lists... Done
Building dependency tree
Reading state information... Done
ffmpeg
Reverse Depends: ardour-video-timeline (>= 1:5.12.0-3ubuntu4)
Reverse Depends: deepin-screen-recorder (5.0.0-1build2)
Reverse Depends: devede (4.15.0-2)
Reverse Depends: dvd-slideshow (0.8.6.1-1)
Reverse Depends: green-recorder (>= 3.2.3)
J'espère que ce tutoriel rapide vous a été utile pour améliorer un peu vos connaissances en ligne de commande. Restez à l'écoute pour plus de conseils de ce type.