В Arch Linux, як я можу дізнатися, який пакет для встановлення міститиме файл X?


92

Я шукаю пакет, який забезпечує певний бінарний файл, тому можу його встановити. як я можу шукати, щоб дізнатися, які пакунки надають цей двійковий файл? (зауважте: я знаю, що принаймні один інструмент робить це, але я його забув.)


Також бінарне, що я шукаю, - це /usr/sbin/ipsetякщо хтось хотів підказати мені, який пакет надає, хоча вони не знають відповіді на питання.
ксенотеррацид

Відповідь Жиля - правильна. Щодо ipset, мені вдалося знайти його лише в AUR aur.archlinux.org/packages.php?ID=16553
jasonwryan

Відповіді:


118

Оскільки pacman 5.0, є вбудований функціонал для пошуку в базі даних з -Fможливістю. Спочатку оновіть базу даних:

sudo pacman -Fy

Після цього ви можете побачити , який пакет містить $filenameз

pacman -Fs $filename

або

pacman -Fos $path

шукати повний шлях.

Оскільки ви знали, що шукаєте еквівалент apt-file, ви могли шукати його в Pacman Rosetta .

Крім того, ви можете використовувати pkgfile . Встановіть його pacman -S pkgfile, а потім запустіть

sudo pkgfile -u

оновити базу даних. Щоб побачити, який пакет містить $filename, запустіть

pkgfile $filename

1
Дякую за камінь Розетта! Я буду використовувати це для rpm distros, а також для pacman.
jpaugh

3
Варто зазначити, що pacman -Fsпошук проводиться за базовим іменем, якщо ви хочете шукати повне використання шляху pacman -Fos. Приклад: не pacman -Fs /usr/bin/mount.cifsповертає нічого, де так само pacman -Fs mount.cifsправильно повертає cifs-utils, як і цеpacman -Fos /usr/bin/mount.cifs
Dev

27

спосіб Google:

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

і якщо він знаходиться в AUR замість офіційного пакету:

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

Зовсім непогано.
ychaouche

Чудова порада, це, здається, дає хороші результати. Я створив «пошуковик» в Chrome з цим URL: https://www.google.com/search?q=site%3Awww.archlinux.org%2Fpackages%2F+%s.
Борек Бернард

22

Від ArchWiki :

$ pacman -Qo df

Це дасть пакет власних програм df(на момент написання, це так coreutils).

-Qo працює лише на встановлених пакетах та їх програмах.

Ви можете побачити більше аргументів у запитах баз даних пакетів .


4
Це говорить лише про те, яким пакетом належить файл, він не скаже вам, що потрібно встановити, щоб отримати його.
Девід К. Єпископ

@ DavidC.Bishop Це не зовсім те саме?
Віктор

6
@Victor Ні, пакет повинен бути встановлений у системі вже для того, щоб його запитувати.
Девід К. Єпископ

@ DavidC.Bishop Ах, я бачу, ти мав на увазі "який встановлений пакет володіє блохом" Дякую!
Віктор

1
Будь ласка, відредагуйте свою публікацію, щоб відобразити те, що було обговорено в коментарях.
Помпей2
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.