Wie verwende ich yum, um alle Abhängigkeiten eines bestimmten Pakets neu zu installieren?


15

Ich habe also ein Paket, bei dem ich mir ziemlich sicher bin, dass ich einen Teil einer seiner Abhängigkeiten entfernt habe, als ich etwas entfernt habe (wie in rm). Lange Geschichte. Grundsätzlich möchte ich, dass Sie das Paket und alle seine Abhängigkeiten neu installieren, damit die von mir entfernten Dateien erneut installiert werden. In der Gentoo-Welt machst du es einfach so wie dieses "Emerge-E". Es scheint, dass yum in der Lage sein sollte, etwas Ähnliches zu tun.

Ich denke, ich könnte ein Skript zusammenschustern, um die Deps aufzulisten und diese dann zu analysieren und alle neu zu installieren.

Antworten:


23

Ja, es gibt keinen einfachen Weg, dies zu tun ... aber Sie können ein paar Dinge tun:

rpm -Va

... werden alle von Ihnen installierten Pakete überprüft, und Sie können alles neu installieren, was nicht überprüft wurde. Ebenfalls:

yum reinstall $(repoquery --requires --recursive --resolve <pkg>)

... das wird tun, wonach Sie gefragt haben, obwohl es ein großer Hammer ist.


Sehr nützlich bei fehlerhaften Installationen, wie ich sie kürzlich nach dem Fedup bekommen habe.
Bindestrich


-3

Ebenfalls

yum reinstall $(yum list installed | awk '{print $1}')

oder

rpm -qa | xargs yum reinstall

(Abhängig von Schäden, die bereits an der Maschine angerichtet wurden, funktionieren awk oder xargs möglicherweise nicht.)


3
Dadurch werden alle Pakete neu installiert - nicht nur die Abhängigkeiten eines einzelnen Pakets.
Anthony Geoghegan
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.