In Arch Linux come posso sapere quale pacchetto installare conterrà il file X?


92

Sto cercando un pacchetto che fornisce un binario specifico, quindi posso installarlo. come posso cercare per scoprire quali pacchetti forniscono questo file binario? (nota: so che esiste almeno uno strumento che lo fa, ma ho dimenticato il suo nome.)


Anche il binario che sto cercando è /usr/sbin/ipsetse qualcuno volesse darmi un suggerimento su quale pacchetto lo fornisce anche se non conoscono la risposta alla domanda.
xenoterracide,

La risposta di Gilles è quella corretta. Per quanto riguarda ipset, sono stato in grado di trovarlo solo in AUR aur.archlinux.org/packages.php?ID=16553
jasonwryan,

Risposte:


118

A partire da Pacman 5.0, è disponibile la funzionalità integrata per la ricerca nel database con l' -Fopzione. Prima aggiorna il database:

sudo pacman -Fy

Poi si può vedere quale pacchetto contiene $filenamecon

pacman -Fs $filename

o

pacman -Fos $path

per cercare un percorso completo.

Dato che sapevi che stavi cercando un equivalente di apt-file, avresti potuto cercarlo nella Pacman Rosetta .

In alternativa, puoi usare pkgfile . Installalo con pacman -S pkgfile, quindi esegui

sudo pkgfile -u

per aggiornare il database. Per vedere cosa contiene il pacchetto $filename, esegui

pkgfile $filename

1
Grazie per la pietra di Rosetta! Lo userò per le distribuzioni rpm e per pacman.
jpaugh

3
Vale la pena notare che pacman -Fscerca per nome base, se si desidera cercare l'intero percorso utilizzare pacman -Fos. Esempio: pacman -Fs /usr/bin/mount.cifsnon restituisce nulla, dove pacman -Fs mount.cifsrestituisce correttamente cifs-utils come fapacman -Fos /usr/bin/mount.cifs
Dev

27

il modo google:

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

e nel caso sia in AUR anziché in un pacchetto ufficiale:

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

Non è affatto male.
ychaouche,

Ottimo consiglio, questo sembra dare buoni risultati. Ho creato un "motore di ricerca" in Chrome con questo URL: https://www.google.com/search?q=site%3Awww.archlinux.org%2Fpackages%2F+%s.
Borek Bernard,

22

Da ArchWiki :

$ pacman -Qo df

Questo produrrà il pacchetto proprietario del programma df(al momento della scrittura, questo è coreutils).

-Qo funziona solo con i pacchetti installati e i loro programmi.

È possibile visualizzare più argomenti nell'interrogazione dei database dei pacchetti .


4
Questo ti dice solo quale pacchetto possiede un file, non ti dirà cosa devi installare per ottenerlo.
David C. Bishop,

@ DavidC.Bishop Non è la stessa cosa?
Victor,

6
@Victor No, il pacchetto deve essere già installato sul sistema per poterlo interrogare.
David C. Bishop,

@ DavidC.Bishop Ah vedo, intendevi "quale pacchetto installato possiede un file". Grazie!
Victor,

1
Modifica il tuo post per riflettere ciò che è stato discusso nei commenti.
Pompei2,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.