Savoir si un paquet (un programme) est installé

 

BUT : Savoir si un paquet (un logiciel) est installé ou non

Il existe plusieurs méthode pour savoir si un paquet est installé, en passant bien sûr par l’interface graphique « Logiciel Ubuntu », mais parfois il est utile dans un code de vérifier si un paquet est déjà installé. Afin d’évité de perdre du temps et utilisant « apt install » pour un logiciel déjà installé.
Si le paquet est déjà installé, apt install vous l’indiquera sinon il l’installera ou le mettra à jour si nécessaire.

voici donc deux méthodes simples pour savoir si un paquet/logiciel est installé ou non :

En utilisant dpkg, avec l’option l (list) :
dpkg -l {package}

exemple pour « thunderbird »

bzg@uc:~$ dpkg -l thunderbird
Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé/W=attend-traitement-déclenchements
|/ Err?=(aucune)/besoin Réinstallation (État,Err: majuscule=mauvais)
||/ Nom            Version                          Architecture Description
+++-==============-================================-============-======================================================>
ii  thunderbird    1:91.5.0+build1-0ubuntu0.20.04.1 amd64        Email, RSS and newsgroup client with integrated spam f>

Nous pouvons voir que le logiciel est installé ainsi que la version du programme

exemple avec le logiciel « truc »

bzg@uc:~$ dpkg -l truc
dpkg-query: aucun paquet ne correspond à truc

Visiblement le logiciel n’est pas installé

En utilisant apt-cache (ou apt) :
apt-cache policy {package} | grep Installé
apt policy {package} | grep Installé

bzg@uc:~$ apt-cache policy thunderbird | grep Installé
  Installé : 1:91.5.0+build1-0ubuntu0.20.04.1
bzg@uc:~$ apt-cache policy vlc | grep Installé
  Installé : (aucun)

Nous voyons que « Thunderbird » est installé mais pas « vlc »

En résumé : les commandes « apt-cache policy {package} | grep Installé » ou « dpkg -l {package} » permettent de savoir si un logiciel est installé sans passer par l’interface graphique