En Arch Linux, ¿cómo puedo averiguar qué paquete instalar que contendrá el archivo X?


92

Estoy buscando un paquete que proporcione un binario específico, para poder instalarlo. ¿Cómo puedo buscar para averiguar qué paquetes proporcionan este binario? (nota: sé que hay al menos una herramienta que hace esto, pero he olvidado su nombre).


También el binario que estoy buscando es /usr/sbin/ipsetsi alguien quisiera informarme sobre qué paquete lo proporciona a pesar de que no saben la respuesta a la pregunta.
xenoterracide

La respuesta de Gilles es la correcta. Con respecto a ipset, solo pude encontrarlo en AUR aur.archlinux.org/packages.php?ID=16553
jasonwryan

Respuestas:


118

Desde pacman 5.0, hay una funcionalidad incorporada para buscar en la base de datos con la -Fopción. Primero actualice la base de datos:

sudo pacman -Fy

Luego puede ver qué paquete contiene $filenamecon

pacman -Fs $filename

o

pacman -Fos $path

para buscar un camino completo.

Como sabías que estabas buscando un equivalente apt-file, podrías haberlo buscado en Pacman Rosetta .

Alternativamente, puede usar pkgfile . Instálelo con pacman -S pkgfile, luego ejecute

sudo pkgfile -u

para actualizar la base de datos. Para ver qué paquete contiene $filename, ejecute

pkgfile $filename

1
Gracias por la piedra Rosetta! Lo usaré para distribuciones de rpm, así como para pacman.
jpaugh

3
Vale la pena señalar que las pacman -Fsbúsquedas por nombre base, si desea buscar la ruta completa, use pacman -Fos. Ejemplo: pacman -Fs /usr/bin/mount.cifsno devuelve nada, donde tan pacman -Fs mount.cifscorrectamente devuelve cifs-utils como lo hacepacman -Fos /usr/bin/mount.cifs
Dev

27

la forma de google:

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

y en caso de que esté en AUR en lugar de un paquete oficial:

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

No está mal.
ychaouche

Gran consejo, esto parece dar buenos resultados. He creado un "motor de búsqueda" en Chrome con esta URL: https://www.google.com/search?q=site%3Awww.archlinux.org%2Fpackages%2F+%s.
Borek Bernard

22

De ArchWiki :

$ pacman -Qo df

Esto generará el paquete propietario del programa df(al momento de escribir, esto es coreutils).

-Qo solo opera en paquetes instalados y sus programas.

Puede ver más argumentos al consultar bases de datos de paquetes .


44
Eso solo le dice qué paquete posee un archivo, no le dirá qué necesita instalar para obtenerlo.
David C. Bishop

@ DavidC.Bishop ¿No es eso lo mismo?
Victor

66
@Victor No, el paquete ya debe estar instalado en el sistema para poder consultarlo.
David C. Bishop

@ DavidC.Bishop Ah, ya veo, querías decir "qué paquete instalado posee un archivo". ¡Gracias!
Víctor

1
Edite su publicación para reflejar lo que se discutió en los comentarios.
Pompeya2
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.