Jak użyć yum do przeinstalowania wszystkich zależności danego pakietu?

15

Mam więc pakiet, który jestem całkiem pewien, że usunąłem część jednej z jego zależności podczas usuwania czegoś (jak w rm). Długa historia. Zasadniczo chcę, aby yum ponownie zainstalować pakiet i wszystkie jego zależności, aby ponownie zainstalować pliki, które usunąłem. W świecie Gentoo po prostu robisz to tak: „emerge -e”. Wydaje się, że yum powinien być w stanie zrobić coś podobnego.

Wydaje mi się, że mógłbym skompletować skrypt, aby wyświetlić listę dep, a następnie przeanalizować je i ponownie zainstalować wszystkie.

tekst początkowy
źródło

Odpowiedzi:

23

Tak, nie ma łatwego sposobu na zrobienie tego ... jednak możesz zrobić kilka rzeczy:

rpm -Va

... spowoduje to sprawdzenie wszystkich zainstalowanych pakietów, a następnie możesz ponownie zainstalować wszystko, co nie zostanie zweryfikowane. Również:

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

... zrobi to, o co prosiłeś, chociaż to duży młot.

James Antill
źródło
całkiem przydatne w przypadku zepsutych instalacji, takich jak to, co ostatnio dostałem po fedup.
dashy
-3

Również

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

lub

rpm -qa | xargs yum reinstall

(w zależności od szkód już wyrządzonych na maszynie awk lub xargs mogą nie działać)

Washuu
źródło
3
To powoduje ponowną instalację wszystkich pakietów - nie tylko zależności poszczególnych pakietów.
Anthony Geoghegan