W Arch Linux, jak mogę dowiedzieć się, który pakiet do zainstalowania będzie zawierał plik X?


92

Szukam pakietu, który zawiera określony plik binarny, więc mogę go zainstalować. jak mogę szukać, aby dowiedzieć się, jakie pakiety zawierają ten plik binarny? (uwaga: wiem, że jest to co najmniej jedno narzędzie, ale zapomniałem jego nazwy).


Również plik binarny, którego szukam, jest taki, /usr/sbin/ipsetże jeśli ktoś chciałby poinformować mnie o tym, jaki pakiet to zapewnia, nawet jeśli nie zna odpowiedzi na pytanie.
Xenoterracide

Odpowiedź Gillesa jest prawidłowa. Jeśli chodzi o ipset, udało mi się go znaleźć tylko w AUR aur.archlinux.org/packages.php?ID=16553
jasonwryan

Odpowiedzi:


118

Od wersji Pacman 5.0 dostępna jest wbudowana funkcja przeszukiwania bazy danych z -Fopcją. Najpierw zaktualizuj bazę danych:

sudo pacman -Fy

Następnie można zobaczyć, które zawiera pakiet $filenamez

pacman -Fs $filename

lub

pacman -Fos $path

aby znaleźć pełną ścieżkę.

Ponieważ wiedziałeś, że szukasz odpowiednika apt-file, mógłbyś to sprawdzić w Pacman Rosetta .

Alternatywnie możesz użyć pkgfile . Zainstaluj za pomocą pacman -S pkgfile, a następnie uruchom

sudo pkgfile -u

zaktualizować bazę danych. Aby zobaczyć, co zawiera pakiet $filename, uruchom

pkgfile $filename

1
Dzięki za kamień z Rosetty! Użyję tego do dystrybucji rpm, a także do Pacmana.
jpaugh

3
Warto zauważyć, że pacman -Fswyszukuje według basename, jeśli chcesz przeszukać pełną ścieżkę pacman -Fos. Przykład: pacman -Fs /usr/bin/mount.cifsnic nie zwraca, podczas gdy tak pacman -Fs mount.cifspoprawnie zwraca cifs-utils, jak to robipacman -Fos /usr/bin/mount.cifs
Dev

27

sposób Google:

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

a jeśli jest w AUR zamiast oficjalnej paczki:

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

Tak ogólnie to nieźle.
ychaouche,

Świetna wskazówka, wydaje się, że przynosi dobre wyniki. I stworzył „wyszukiwarki” w Chrome z tego adresu URL: https://www.google.com/search?q=site%3Awww.archlinux.org%2Fpackages%2F+%s.
Borek Bernard,

22

Z ArchWiki :

$ pacman -Qo df

To da pakiet będący właścicielem programu df(w chwili pisania tego tekstu coreutils).

-Qo działa tylko na zainstalowanych pakietach i ich programach.

Możesz zobaczyć więcej argumentów w zapytaniach do baz danych pakietów .


4
To tylko mówi ci, który pakiet jest właścicielem pliku, nie mówi ci, co musisz zainstalować, aby go uzyskać.
David C. Bishop,

@ DavidC.Bishop Czy to nie to samo?
Victor

6
@Victor Nie, pakiet musi być już zainstalowany w systemie, aby móc go wysłać.
David C. Bishop

@ DavidC.Bishop Ah Rozumiem, miałeś na myśli „to, co zainstalowany pakiet ma plik fle”. Dzięki!
Victor

1
Edytuj swój post, aby odzwierciedlić to, co zostało omówione w komentarzach.
Pompei2,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.