web-dev-qa-db-fra.com

Comment tester si le paquet est installé?

Duplicate possible:
Comment puis-je vérifier si un paquet est installé (pas de privilèges de superutilisateur)

Je veux une méthode de script shell pour tester/signaler si un paquet est installé. Je n'ai pas besoin de détails, seulement un oui/non.

J'ai mis au point cette méthode. Y a-t-il un moyen plus direct?

is_installed=0
test_installed=( `apt-cache policy domy-ce | grep Installed: ` )
[ ! "${test_installed[1]}" == "(none)" ] && is_installed=1
12
tahoar

Vous pouvez utiliser la sortie de dpkg -s <packagename> ou dpkg-query -l <packagename>

dans votre script pour le but.
Courtesy: https://stackoverflow.com/questions/1298066/check-if-a-package-is-installed-and-then-install-it-if-its-not =

par exemple.

#!/bin/sh

for P; do
    dpkg -s "$P" >/dev/null 2>&1 && {
        echo "$P is installed."
    } || {
        echo "$P is not installed."
    }
done

Utilisation: script.sh package1 package2 .... packageN

Courtesy: https://stackoverflow.com/a/10594734/749232

19
saji89