
Есть ли способ поиска имен файлов (не содержимого файлов) для пакетов в репозитории 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
), но это будет включать установленные пакеты, несмотря на --disablerepo
switch, в некоторых системах.
Бонусный совет
Вы можете напрямую установить пакет, требующий определенного имени файла, просто передав его в yum
или dnf
. Да, это работает и довольно просто:
yum install /usr/bin/zip