Dans Arch Linux, comment puis-je savoir quel paquet installer va contenir le fichier X?


92

Je recherche un paquet qui fournit un binaire spécifique pour pouvoir l'installer. Comment puis-je chercher pour savoir quels paquets fournissent ce binaire? (note: je sais qu'il y a au moins un outil qui fait ça, mais j'ai oublié son nom.)


Aussi, le binaire que je cherche, c’est /usr/sbin/ipsetsi quelqu'un veut me dire quel paquet le fournit même s’ils ne connaissent pas la réponse à la question.
xenoterracide

Gilles répond est la bonne. En ce qui concerne Ipset, je n'ai pu le trouver que dans AUR aur.archlinux.org/packages.php?ID=16553
jasonwryan Le

Réponses:


118

Depuis pacman 5.0, il existe une fonctionnalité intégrée pour la recherche dans la base de données avec l' -Foption. Tout d'abord mettre à jour la base de données:

sudo pacman -Fy

Ensuite, vous pouvez voir quel paquet contient $filenameavec

pacman -Fs $filename

ou

pacman -Fos $path

rechercher un chemin complet.

Puisque vous saviez que vous cherchiez un équivalent de apt-file, vous auriez pu le rechercher dans le Pacman Rosetta .

Vous pouvez également utiliser pkgfile . Installez-le avec pacman -S pkgfile, puis lancez

sudo pkgfile -u

mettre à jour la base de données. Pour voir ce que contient le paquet $filename, lancez

pkgfile $filename

1
Merci pour la pierre Rosetta! Je vais l'utiliser pour les distributions de tours par minute ainsi que pour Pacman.
Jpaugh

3
Il est à noter que les pacman -Fsrecherches par nom de base, si vous souhaitez rechercher l'utilisation du chemin complet pacman -Fos. Exemple: pacman -Fs /usr/bin/mount.cifsne renvoie rien, où pacman -Fs mount.cifsrenvoie aussi correctement que cifs-utilspacman -Fos /usr/bin/mount.cifs
Dev

27

la manière google:

site:www.archlinux.org/packages/ bin/filename

et si c'est dans AUR au lieu d'un paquet officiel:

site:aur.archlinux.org/packages/ bin/filename

Pas mal du tout.
ychaouche

Excellent conseil, cela semble donner de bons résultats. J'ai créé un « moteur de recherche » dans Chrome avec cette URL: https://www.google.com/search?q=site%3Awww.archlinux.org%2Fpackages%2F+%s.
Borek Bernard

22

De ArchWiki :

$ pacman -Qo df

Cela donnera le paquet propriétaire du programme df(au moment de l'écriture, c'est coreutils).

-Qo ne fonctionne que sur les paquets installés et leurs programmes.

Vous pouvez voir plus d'arguments dans l' interrogation des bases de données de paquets .


4
Cela ne vous dit que le paquet possède un fichier, il ne vous dira pas ce que vous devez installer pour l'obtenir.
David C. Bishop,

@ DavidC.Bishop N'est-ce pas la même chose?
Victor

6
@Victor Non, le package doit déjà être installé sur le système pour pouvoir l'interroger.
David C. Bishop,

@ DavidC.Bishop Ah je vois, tu voulais dire "quel paquet installé possède un fichier". Merci!
Victor

1
Veuillez modifier votre message pour refléter ce qui a été discuté dans les commentaires.
Pompei2
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.