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.

Startoftext
quelle

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.

James Antill
quelle
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.)

Washuu
quelle
3
Dadurch werden alle Pakete neu installiert - nicht nur die Abhängigkeiten eines einzelnen Pakets.
Anthony Geoghegan