Как выполнить поиск по всем именам файлов для всех пакетов в заданном репозитории в Fedora?

Как выполнить поиск по всем именам файлов для всех пакетов в заданном репозитории в Fedora?

Есть ли способ поиска имен файлов (не содержимого файлов) для пакетов в репозитории Fedora? Это было бы похоже на поиск для rpm -ql [package] | grep termкаждого пакета в репозитории, за исключением того, что было бы лучше иметь возможность выполнить команду без установленного пакета, поскольку я хочу выполнить поиск по нескольким тысячам списков файлов пакетов. Вопрос, на который я пытаюсь ответить:

Какие пакеты в репозитории X поставляют файл Y?

Достаточно будет имени, поскольку мне не нужен точный хеш.

решение1

С dnf:

dnf repoquery --disablerepo=* --enablerepo=X -f Y

С yum:

yum -y install yum-utils
repoquery --disablerepo=* --enablerepo=X -f Y

Подстановочные знаки поддерживаются для Y.

Примеры:

dnf repoquery --disablerepo=* --enablerepo=rhel-8-for-x86_64-baseos-rpms -f /usr/bin/zip
dnf repoquery --disablerepo=* --enablerepo=rhel-8-for-x86_64-baseos-rpms -f /usr/bin/zi*

Вы также можете просто yum provides Y(или dnf provides Y), но это будет включать установленные пакеты, несмотря на --disablereposwitch, в некоторых системах.

Бонусный совет

Вы можете напрямую установить пакет, требующий определенного имени файла, просто передав его в yumили dnf. Да, это работает и довольно просто:

yum install /usr/bin/zip

Связанный контент