15

Есть ли способ поиска пакета с использованием двоичного имени.

например, я хочу найти пакет rpm для команды " ls ", тогда это должно быть coreutils-6.9-10.4.i586 например.

4 ответа4

18

Команда yum "whatprovides" принимает подстановочные знаки. Если вы ищете пакет, который предоставляет определенный файл или исполняемый файл и не знает его полного пути, используйте «yum whatprovides */filename».

$ yum whatprovides */ls

coreutils-5.97-23.el5_4.2.x86_64 : The GNU core utilities: a set of tools
                                 : commonly used in shell scripts
Repo        : installed
Matched from:
Filename    : /bin/ls
3
yum provides /bin/ls
repoquery -f /bin/ls

... будет оба dtrt. Также последние версии "yum" автоматически выполнят ряд файловых поисков, если вы сделаете:

yum provides ls
1

Кажется, это делает scout bin ls . Этот инструмент может индексировать различные типы репозиториев (не только rpm, но и java и т.д.) И узнать, что вам нужно установить, чтобы получить требуемый двоичный файл /command /javaclass /feature. Хорошо интегрируется с suse.

Вы можете прочитать больше о скауте здесь.

-1

Команда 'rpm -qf' должна указать вам, какому пакету принадлежит любой установленный файл.

> whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.g

> rpm -qf /bin/ls
coreutils-5.97-23.el5_6.4

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .