Wie kann ich nach der Installation eines Pakets von yum (mit mehreren konfigurierten Repositorys) feststellen, aus welchem Repository es installiert wurde?
Wenn ich laufe yum info package-name
(oder yum list package-name
), kann ich nur sehen, dass das Paket "installiert" ist.
rpm -qa|grep NAME
können Sieyum list installed|grep NAME
herausfinden, von welchem Repo die Drehzahl stammt .Antworten:
Wenn yum-utils installiert ist, liefert repoquery die gesuchten Informationen (hier ist 'epel' das Repository).
quelle
yum info package_name
, es scheint nicht die Repositories in der gleichen Reihenfolge wie yum abzufragen.yum info package_name
liefert anscheinend mehr ergebnisse als repoquery. Aus diesem Grund sollte der Stapelaustausch nicht an Stimmen gebunden sein.repoquery -i $pkg
Gibt das Repo an, von dem ein$pkg
verfügbar ist, nicht das Repo, von dem das$pkg
installiert wurde. Ich habe diesen Befehl ausgeführt undrpm -qi $pkg
unterschiedliche Versionsnummern erhalten.rpm
ergab eine frühere Versionsnummer als die vonrepoquery
.--use-mirror
. B. yum ) installiert . Ich denke nicht, dass es möglich ist, immer die richtige Antwort zu bekommen.Welche Version von yum?
In der aktuellen Version wird, wenn das installierte Paket mit der aktuellsten verfügbaren Version übereinstimmt, das Repository angezeigt, von dem aus es installiert wurde.
Wenn ein neueres Paket verfügbar ist, wird es separat angezeigt, wobei die neue Version das Repo anzeigt, von dem es verfügbar ist.
quelle
Kommt viel zu spät, aber (zumindest auf Fedora 15) kann man yumdb für ähnliche Abfragen verwenden:
Und was ich eigentlich brauchte, um Pakete von bestimmten Repos aufzulisten:
quelle
Wenn alles andere fehlschlägt, können Sie die YUMDB manuell überprüfen. Es befindet sich in
/var/lib/yum/yumdb
und enthält detaillierte Informationen zu jedem installierten Paket. Sie werden besonders interessiert sein anfrom_repo
. Zum Beispiel für dasbind-utils
Paket:So erhalten Sie genau die gewünschten Informationen:
In späteren Versionen werden noch mehr Daten bereitgestellt. In EL 7 wird beispielsweise der genaue Spiegel und die URL, von der das Paket heruntergeladen wurde, hier gespeichert.
quelle
for i in /var/lib/yum/yumdb/b/*bind-utils*/*; do echo $i: `cat $i` | grep -oP 'from_repo:\ \K.*'; done
, was im obigen Beispiel ergibt:updates
- viel besser lesbar!grep
, und Sie können sogar die Schleife fallen lassen. Ein sehr einfachescat /var/lib/yum/yumdb/b/*bind-utils*/from_repo
ist alles was Sie brauchen.Informiert Sie über den Anbieter und den Verpacker
quelle
Um zu sehen, was von repo epel installiert wurde: (Sollte unter Centos 5.5 funktionieren) Beachten Sie, dass, wenn Sie kein repo namens epel haben, alles, was installiert wurde, ausgespuckt wird.
repoquery --repoid = epel -a | xargs yum list installiert
quelle
Wenn das Paket kürzlich installiert wurde, können Sie in / var / cache / yum nachsehen.
In diesem Verzeichnis gibt es für jedes Repo ein Verzeichnis und in diesem ein Paketverzeichnis. Also würden Sie etwas tun wie:
Der Cache muss jedoch in der Datei /etc/yum.conf aktiviert sein:
Beachten Sie, dass a
yum clean [packages|all]
das Cache-Verzeichnis löscht.Wenn das Cache-Verzeichnis leer ist, gibt es eine alternative Möglichkeit. Die Informationen, die von gelesen werden,
yum info [package]
stammen aus /var/cache/yum/[repo[/primary.xml.gzSie können die Datei durchsehen, indem Sie Folgendes eingeben:
Auf Computern, auf denen
yum info [package]
"From repo:" nicht angezeigt wird, wie durch "theotherreceive" angegeben, ist dies darauf zurückzuführen, dass es sich nicht in der Datei primary.xml befindet und es daher keine Möglichkeit gibt, diese Informationen abzurufen. Wenn sich das Paket in zwei oder mehr primary.xml-Dateien befindet, müssen Sie daher die Repo-Priorität auf Ihrem System bestimmen.quelle
Basierend auf und beantwortet von Swoogan
On RedHat und CentOS kann man das
Die Ergebnisse sollten ungefähr so aussehen
Wobei repository_name das Repository ist, in dem sich Ihr Paket befindet und das wahrscheinlich von dem ersten in einer Liste installiert wurde (siehe yum repolist)
quelle
Werden diese Informationen irgendwo erfasst? Das Paket hat diese Informationen nicht und es interessiert dich nicht, nachdem es das Paket gefunden hat. Sie könnten es wahrscheinlich zusammensetzen, indem Sie herausfinden, welche Repos das Paket haben und dann bestimmen, welche Priorität hat.
quelle
Keine großartige Lösung, aber ich habe festgestellt, dass die verfügbare Yum-Liste Ihnen zeigt, wo die aktuellste Version jedes Pakets verfügbar ist, z. B .:
Yum Liste verfügbar | grep gstreamer
bluez-gstreamer.i386 4.30-2.fc10 aktualisiert
gstreamer.i386 0.10.21-2.fc10 fedora
gstreamer-devel.i386 0.10.21-2.fc10 fedora
gstreamer-devel.x86_64 0.10.21-2.fc10 fedora
gstreamer- plugins-bad-devel.i386 0.10.9-1.fc10 rpmfusionsfrei
gstreamer-plugins-bad-devel.x86_64 0.10.9-1.fc10 rpmfusionsfrei
Sie können also eine YUM-Liste erstellen, die in Ihrem Paket enthalten ist, und dann Ihre installierte Version mit der installierten YUM-Liste vergleichen und eine gute Vorstellung davon haben, von welchem Repository sie stammt, wenn die Versionen übereinstimmen.
quelle
Sie können das verbose Flag zu "yum info" hinzufügen:
Das Installations-Repository befindet sich unter der Ausgabe "From repo".
quelle
Ich weiß also, dass dies eine etwas alte Frage ist - aber sie taucht bei der Google-Suche nach dem auf, wonach ich gesucht habe.
Es gibt auch eine Methode, um eine eindeutige Liste der verwendeten Repos zu erhalten:
Dies listet die Repositorys auf, von denen Pakete installiert wurden.
quelle
Der einfachste und direkteste Ansatz, ohne zusätzliche Tools zu installieren und ohne zusätzliche Informationen auszugeben, ist einfach:
Die dritte Spalte enthält die ID des Repositorys, aus dem das Paket installiert wurde.
Dies wurde in einem Kommentar zur ursprünglichen Frage mit grep erwähnt, aber das ist nicht notwendig. Sie können den Paketnamen einfach direkt an
yum
den Filter übergeben.quelle
Keiner der obigen Befehle hat bei mir funktioniert. Das musste ich tun.
Eine gute Referenz ist hier.
https://access.redhat.com/sites/default/files/attachments/rh_yum_cheatsheet_1214_jcs_print-1.pdf
quelle
Der einfachste Weg ist dieser:
Weitere Tipps und Tricks finden Sie hier: http://wiki.centos.org/TipsAndTricks/YumAndRPM
quelle