Comment vérifier si un paquet est installé sur mon serveur?

123

J'ai récemment installé Ubuntu Server édition 13.10 (Saucy Salamander). Mais j'ai rencontré un petit problème.

A la fin de l’installation, il vous demande plusieurs paquets supplémentaires, que vous le souhaitiez ou non, comme le serveur OpenSSH et l’hôte de la machine virtuelle. Voici ce que je regarde:

Maintenant, mon problème est que je ne me souviens plus si j'ai coché la case "hôte de la machine virtuelle". Comment vérifier si mon serveur possède les packages correspondants?

Quels paquets sont fournis avec l’hôte de la machine virtuelle?

    
posée D.Zou 19.02.2014 - 22:12
la source

6 réponses

170

Pour répertorier tous les packages installés

Ici "less" est un simple lecteur de texte utilisé pour faire défiler la liste des paquets dans un nouveau tampon qui s'ouvre dans la fenêtre de terminal existante. La liste ne sera pas mélangée avec d'autres commandes et sorties de terminal. Appuyez sur "q" pour revenir à l'invite du terminal. Voir "man less" pour plus d'informations.

dpkg -l | less

Pour vérifier si un package est installé ou non:

dpkg -l {package_name}
dpkg -l vlc

Pour vérifier si le package est installé ou non (par exemple, vlc ). Si installé, lancez le package:

dpkg -l | grep vlc

Affiche l'emplacement où le package est installé. Le "-S" (majuscule S) signifie "chercher"

sudo dpkg -S {package_name}
sudo dpkg -S skype

Utiliser Grep pour rechercher:

dpkg -l | grep {keywords}
dpkg -l | grep pdf
    
réponse donnée Lonston 20.02.2014 - 10:12
la source
23

Utilisez dpkg

Cette commande est le gestionnaire de paquets debian.

Vous pouvez lister tous les paquets installés avec

dpkg -l

Vous pouvez voir les détails d’un paquet spécifique avec

dpkg -p packagename

Et pour savoir s’il est installé, utilisez

dpkg -s packagename | grep Status

Vous pouvez apprendre quel paquet contient le logiciel que vous voulez avec

apt-cache search name*  

Dans votre cas, vous devriez utiliser cette commande pour rechercher le nom du paquet que vous voulez

apt-cache search virtual machine host 
    
réponse donnée onurbekiroglu 20.02.2014 - 10:10
la source
20

apt -qq list PACKAGE peut également être utilisé pour vérifier si le PACKAGE est installé.

S'il est installé, il affichera quelque chose comme (avec [installed] à la fin de la ligne):

$ apt -qq list awscli
awscli/stable,now 1.4.2-1 all [installed]

Si non installé, le résultat sera:

$ apt -qq list awscli
awscli/stable 1.4.2-1 all
    
réponse donnée Viktor Benei 11.09.2016 - 15:54
la source
12

J'ai trouvé un moyen de vérifier l’installation des paquets avec juste la commande dpkg-query et aucun canal.

J'ai cherché une telle solution en écrivant une tâche pour ansbook playbook.

Donc, vous pouvez faire quelque chose comme ça:

/usr/bin/dpkg-query --show --showformat='${db:Status-Status}\n' '<your package name>'

C'est juste une autre façon de faire les choses.

    
réponse donnée DenKoren 01.09.2015 - 21:47
la source
4

J'écris une nouvelle réponse en tant que Tasksel "Noms de tâches" NE s'affiche PAS dans dpkg ou apt requêtes. Ce qui signifie que les autres réponses sont incomplètes (ou erronées).

"Je ne me souviens plus si j'ai coché la case" hôte de la machine virtuelle "."

Vérifiez s'il y a un astérisque du nom après avoir relancé sudo tasksel .
(ou un ' i ' si vous exécutez tasksel --list-tasks ).

Si vous ne le voyez pas, alors vous probablement ne disposez pas du package de méta 'installé.

".. Comment puis-je vérifier si mon serveur possède les packages correspondants?"

Si vous souhaitez savoir ce qui est installé sous le méta-package tasksel Host de la machine virtuelle:

tasksel --list-tasks

(dans votre cas, tasksel --list-tasks | grep virt suffit)

Cela donne la bonne tâche nom et une indication de son installation.

Dans votre cas, ce nom de taskel est virt-host .

"Quels paquets sont fournis avec l’hôte de la machine virtuelle?"

À partir de la dernière commande, recherchez le nom de la tâche tasksel.
Ceci est nécessaire pour la prochaine commande:

tasksel --task-packages virt-host

Ceci répertorie le méta-package Tasksel individuel (désigné par 'appended' ^ ') qui constitue le nom. Dans votre cas, il s'agit de virt-host^ .

Une fois que vous avez trouvé le bon méta-nom, vous pouvez utiliser apt:

 apt show virt-host^ | grep "Package:"

(ou apt-cache show ... si apt show ne fonctionne pas.)

Cela montrera tous les paquets constituant le méta-paquet donné.

Alors:

 dpkg -l {each individual pkg name listed above}

Cela vous dira si le paquet individuel est installé / désinstallé (noté par la 2ème lettre: le statut "i" signifie "installé"). Faites ceci pour tous les paquets listés sous le paquet de tâche / méta.

Cela devrait répondre aux questions initiales.

Note complémentaire: /usr/share/tasksel/descs/ubuntu-tasks.desc contient également des descriptions des méta-packages Tasksel. Si vous: grep "virt" /usr/share/tasksel/descs/ubuntu-tasks.desc il affichera le nom correct du méta-package APT. (Dans votre cas, il s'agit de ubuntu-virt-server ). Vous pouvez également utiliser les commandes apt avec ce méta-nom.

Si vous souhaitez supprimer des packages tasksel, cela pénètre un peu dans les mauvaises herbes. Veuillez consulter lien ou toute autre réponse disponible.

Veuillez noter que les packages "meta" apt ne correspondent pas aux noms de package Tasksel. Veuillez consulter la page de la communauté Tasksel pour plus d'informations.

    
réponse donnée bshea 19.10.2016 - 17:17
la source
2

Utilisez tasksel ( sudo apt-get install tasksel si vous ne l’avez pas déjà) et exécutez tasksel --list-tasks .

tasksel imprimera une liste des tâches et il y aura un i à côté de chaque tâche installée et un u à côté de chaque tâche non installée.

Si vous souhaitez installer la tâche, utilisez tasksel install <task> . Le nom de la tâche que vous recherchez est virt-host .

Les éléments de sélection de logiciels sont appelés "tâches".

    
réponse donnée Blake R 19.02.2014 - 22:31
la source

Lire d'autres questions sur les étiquettes