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.)

xénoterracide
la source
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
Gilles
la source
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
eshizhan
la source
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 .

ami
la source
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