Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/11/2019, à 09:42

Compte supprimé

[résolu]Comment tester la présence d'une commande?

Bonjour,
Je réfléchi à l'élaboration d'un script d'installation pour un programme perso que je voudrais partager via une clef Usb.
Or mon programme nécessite la présence de certains paquets qui ne figureront peut être pas sur les systèmes où je souhaite faire l'installation ..
J'aimerai donc tester dans mon script d'installation la présence ou pas des commandes concernées afin de les installer si nécessaire.
Mes recherches me renvoient vers dpkg, notamment dpkg --status nom_du_paquet.
Cependant, je n'ai pas su comment le mettre en oeuvre pour en faire un test.
Comment m'y prendre?
Merci

Dernière modification par Compte supprimé (Le 01/11/2019, à 10:29)

#2 Le 01/11/2019, à 09:55

Nuliel

Re : [résolu]Comment tester la présence d'une commande?

Salut,
En faisant une tite recherche, j'ai trouvé

$(dpkg-query -W -f='${Status}' paquet 2>/dev/null | grep -c "ok installed")

-c permettant de compter le

A mon avis on aurait pu plus simplement le faire en se basant sur les retours d'erreurs de la commande dpkg.

Sinon, généralement dans les scripts que j'ai consulté, c'est plutôt la commande

sudo apt-get install -y monPaquet

qui est utilisée

Hors ligne

#3 Le 01/11/2019, à 10:09

f.x0

Re : [résolu]Comment tester la présence d'une commande?

Bonjour pseudofab,

tu peux tester si un paquet est installé comme ceci (exemple dpkg)
mais il faut aussi savoir si la version installée est la bonne

apt-cache policy dpkg | grep "Install" | cut -d ":" -f2

Et si le paquet n'est pas installé (exemple Wayland-protocols)

apt-cache policy wayland-protocols | grep "Install" | cut -d ":" -f2

SOPI

Hors ligne

#4 Le 01/11/2019, à 10:20

Compte supprimé

Re : [résolu]Comment tester la présence d'une commande?

Super. Merci à vous deux wink