218 votes

Vérifie si un paquet est installé et puis l’installer si il ' s pas

Je travaille sur un système Ubuntu et

Actuellement, c’est ce que je fais :

Est-ce que la plupart des gens seraient faire ? Ou y a-t-il une solution plus élégante ?

309voto

Török Gábor Points 13913

Pour vérifier si packagename a été installé, tapez:

dpkg -s <packagename>

Vous pouvez également utiliser dpkg-query qui a une plus soignée de sortie pour votre but, et accepte les cartes sauvages, trop.

dpkg-query -l <packagename>

Pour trouver ce paquet est propriétaire de l' command, essayez:

dpkg -S `which <command>`

Pour plus de détails, voir l'article de savoir si le paquet est installé dans Linux et dpkg feuille de triche.

81voto

Urhixidur Points 405

Pour être un peu plus explicite, voici un peu de bash script qui vérifie un paquet et l’installe si nécessaire. Bien sûr, vous pouvez faire d’autres choses à la conclusion que le paquet est manquant, comme tout simplement quitter avec un code d’erreur.

Si le script s’exécute au sein d’une interface graphique (par exemple, c’est un script Nautilus), vous aurez probablement envie de remplacer l’invocation « sudo » avec un « gksudo » un.

68voto

Seb Points 51

Ce bon mot renvoie 1 (installé) ou 0 (non installé) pour le package « nano »...

même si le paquet n’existe pas / n’est pas disponible.

L’exemple suivant installe le package de « nano » s’il n’est pas installé...

11voto

tahoar Points 477

Je vous offre cette mise à jour depuis Ubuntu ajouté son "Personal Package Archive" (PPA), tout comme cette question a été répondue, et PPA de paquets qui ont un résultat différent.

1) Natif de dépôt Debian package n'est pas installé:

~$ dpkg-query -l apache-perl
~$ echo $?
1

2) PPA paquet inscrit sur l'hôte et installé:

~$ dpkg-query -l libreoffice
~$ echo $?
0

3) PPA paquet enregistré sur l'ordinateur hôte, mais il n'est pas installé:

~$ dpkg-query -l domy-ce
~$ echo $?
0
~$ sudo apt-get remove domy-ce
[sudo] password for user: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package domy-ce is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Également en ligne sur: http://superuser.com/questions/427318/test-if-a-package-is-installed-in-apt/427898

7voto

user2418730 Points 49

Cela semble fonctionner assez bien.

  • Il renvoie si pas installé ou certains numéro si installé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X