Wie kann ich unter Fedora alle Dateinamen für alle Pakete in einem bestimmten Repository durchsuchen?

Wie kann ich unter Fedora alle Dateinamen für alle Pakete in einem bestimmten Repository durchsuchen?

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 termfü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 Yinstallierte Pakete eingeschlossen .--disablerepo

Bonus-Tipp

Sie können das Paket, das einen bestimmten Dateinamen erfordert, direkt installieren, indem Sie es einfach an yumoder übergeben dnf. Ja, das funktioniert und ist ganz einfach:

yum install /usr/bin/zip

verwandte Informationen