web-dev-qa-db-fra.com

Comment savoir lequel (non installé) Package Debian Un fichier appartient à?

Sur les systèmes de Debian (et dérivés):

$ dpkg --search /bin/ls
coreutils: /bin/ls

C'est-à-dire le fichier /bin/ls appartient au package Debian nommé coreutils.

Mais cela ne fonctionne que si le colis est installé. Et si ce n'est pas?

43
tshepang

APT-File

apt-file Fournit la fonctionnalité de la recherche d'un paquet offrant un binaire (comme - debian ou bunt ), il n'est pas installé par défaut mais dans les référentiels.

apt-file search <path-to-file>

Vous voudrez peut-être mettre à jour une fois avant de chercher ...

apt-file update 

Par exemple, recherchons le binaire non installé binaire mysqldump:

$ apt-file search /usr/bin/mysqldump

mysql-client-5.1: /usr/bin/mysqldump
mysql-client-5.1: /usr/bin/mysqldumpslow
mysql-cluster-client-5.1: /usr/bin/mysqldump
mysql-cluster-client-5.1: /usr/bin/mysqldumpslow

Il est également possible d'énumérer le contenu d'un package (non installé):

$ apt-file list mysql-client-5.1

mysql-client-5.1: /usr/bin/innochecksum
mysql-client-5.1: /usr/bin/innotop
mysql-client-5.1: /usr/bin/myisam_ftdump
mysql-client-5.1: /usr/bin/mysql_client_test
...

miam

yum accepte la commande whatprovides (ou provides) pour rechercher des fichiers binaires installés ou non installés:

yum whatprovides <path-to-file>

Encore une fois, le non installé mysqldump:

$ yum whatprovides /usr/bin/mysqldump

mysql-5.1.51-2.fc14.i686 : MySQL client programs and shared libraries
Repo        : Fedora
Matched from: 
Filename    : /usr/bin/mysqldump

mysql-5.1.51-1.fc14.i686 : MySQL client programs and shared libraries
Repo        : Fedora
Matched from: 
Filename    : /usr/bin/mysqldump

Zypper

zypper 's search commande peut vérifier les listes de fichiers lorsqu'il est utilisé avec le -f option.

zypper se -f /bin/mksh
Loading repository data...
Reading installed packages...

S | Name | Summary           | Type   
--+------+-------------------+--------
  | mksh | MirBSD Korn Shell | package

WebPin Fournit une solution WebBased, il existe même un script pour la ligne de commande.

pkgfile

Disponible comme pkgtools pour pacman Systems. Fournit une fonction de recherche similaire comme les autres ci-dessus:

$ pkgfile -si /usr/bin/mysqldump

Name      : mysql-clients
Version   : 5.1.54-1
Url       : http://www.mysql.com/
License   : GPL
Depends   : libmysqlclient
...
59
wag

L'outil standard pour cela est fichier apt. Courir apt-file update Pour télécharger le fichier d'index. Voici la sortie:

Downloading complete file ftp://ftp.is.co.za/debian/dists/squeeze/Contents-i386.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 16.6M  100 16.6M    0     0  33191      0  0:08:47  0:08:47 --:--:-- 38951

Après cela, courez apt-file search search_term.

5
tshepang

Si vous n'avez pas accès à la machine ou si vous ne pouvez pas utiliser les commandes indiquées dans les réponses précédentes, vous pouvez également la découvrir à l'aide du bouton Moteur de recherche basé sur le Web de Debian (le deuxième formulaire, " Rechercher le contenu des paquets ") ").

3
Bruno