2010-07-29 16 views
6

Comme le titre le suggère, je veux obtenir une liste de tous les paquets qui fournissent un certain paquet virtuel. Une façon de le faire serait d'écrire un script shell qui analyse toutes les sorties deQuelle commande shell peut trouver tous les paquets fournissant un certain paquet virtuel complet?

apt-cache search -f .* 

et fournit tous les paquets qui ont le paquet virtuel dans la section fournit. Le problème avec cette approche est que cela prend énormément de temps à exécuter. Je suppose qu'il devrait y avoir une commande simple qui le fait d'une manière efficace, mais que je n'ai pas pu trouver.

Répondre

8

Si vous avez installé aptitude, vous disposez de beaucoup de patterns qui peuvent être utilisés pour la recherche. En particulier,

pour le cas de la recherche de paquets qui fournissent un nom de paquet virtuel donné, vous pouvez utiliser: nom virtuel

$ aptitude search '?provides(pattern)' 

où motif peut être réglé sur le paquet que vous recherchez.

Par exemple:

$ aptitude search -F %p '?provides(mail-reader)' 
balsa                   
bsd-mailx                  
claws-mail                  
cone                    
emacs                   
emacs23                   
emacs23-lucid                 
emacs23-nox                  
evolution                  
gnus                    
im                    
jed                    
kmail                   
kmail-mobile                  
mailutils                  
mailutils-mh                  
mew                    
mew-beta                   
mew-beta-bin                  
mew-bin                   
mutt                    
nmh                    
opera                   
opera-next                  
seamonkey-mailnews                
sylpheed                   
thunderbird                  
tkrat                   
vm                    
wl                    
wl-beta                   
xemacs21-mule                 
xemacs21-mule-canna-wnn               
xemacs21-nomule                 
xjed                    
xul-ext-lightning 
+0

Merci! Fonctionne comme un charme :) –

1

Voyez si dpkg-query répondra à vos besoins.

+0

(je me rends compte cette réponse est à partir de 2010 ...) Toutes les options particulières 'dpkg-query'? Un simple lien vers la page de manuel ne semble pas susceptible d'aider le visiteur au hasard, ni réellement constituer une réponse. – derobert