Yum: Suche nach einem Paket mit binärem Namen

16

Gibt es eine Möglichkeit, ein Paket unter Verwendung des Binärnamens zu suchen?

Ich möchte zum Beispiel ein rpm - Paket für den Befehl " ls" finden, dann sollte es coreutils-6.9-10.4.i586zum Beispiel sein.

deimus
quelle

Antworten:

20

Der Befehl yum "whatprovides" akzeptiert Platzhalter. Wenn Sie nach dem Paket suchen, das eine bestimmte Datei oder ausführbare Datei enthält und dessen vollständigen Pfad nicht kennt, verwenden Sie "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
John Simpson
quelle
3
yum provides /bin/ls
repoquery -f /bin/ls

... werden beide dtrt. Auch neuere Versionen von "yum" führen automatisch eine Reihe von Dateisuchen durch, wenn Sie Folgendes tun:

yum provides ls
James Antill
quelle
1

Es scheint, scout bin lstut das. Dieses Tool kann verschiedene Arten von Repos indizieren (nicht nur rpm, sondern auch Java usw.) und herausfinden, was Sie installieren müssen, um die erforderliche Binärdatei / command / javaclass / feature zu erhalten. Es ist gut mit suse integriert.

Sie können mehr über Scout lesen hier .

deimus
quelle
Hier ist die Lösung. Vergiss nicht: Wir suchen nach noch nicht installierten Binaries! So bekam jede andere Antwort eine Ablehnung.
peterh - Wiedereinsetzung von Monica
-1

Der Befehl 'rpm -qf' sollte Ihnen mitteilen, welches Paket eine installierte Datei besitzt.

> 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
pwan
quelle
1
Angenommen, ich habe das Paket nicht installiert ... Wie kann ich den Paketnamen ermitteln, wenn ich nur den Binärnamen kenne?