
Gibt es eine Möglichkeit, Dateinamen (nicht Dateiinhalte) nach Paketen in einem Fedora-Repository zu durchsuchen? Dies wäre ähnlich wie rpm -ql [package] | grep term
für jedes Paket im Repository, außer dass es am besten wäre, den Befehl ohne installiertes Paket ausgeben zu können, da ich mehrere tausend Paketdateilisten durchsuchen möchte. Die Frage, die ich zu beantworten versuche, ist:
Welche Pakete im Repository X liefern Datei Y?
Der Name sollte genügen, da ich keinen exakten Hash benötige.
Antwort1
Mit dnf
:
dnf repoquery --disablerepo=* --enablerepo=X -f Y
Mit yum
:
yum -y install yum-utils
repoquery --disablerepo=* --enablerepo=X -f Y
Platzhalter werden für unterstützt Y
.
Beispiele:
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*
Sie können auch einfach yum provides Y
(oder ) verwenden, aber auf manchen Systemen werden dadurch trotz Schalter dnf provides Y
installierte Pakete eingeschlossen .--disablerepo
Bonus-Tipp
Sie können das Paket, das einen bestimmten Dateinamen erfordert, direkt installieren, indem Sie es einfach an yum
oder übergeben dnf
. Ja, das funktioniert und ist ganz einfach:
yum install /usr/bin/zip