15

So I have a package that I am pretty sure that I removed part of one of its dependencies when removing something(as in rm). Long story. Basically what I want to do is have yum re-install the package and all of its dependencies so that it will re-install the files I removed. In the gentoo world you simply do it like this "emerge -e ". It seems yum should be able to do something similar.

I guess I could cobble together a script to list the deps and then parse those out and re-install all of them.

migrated from stackoverflow.com Sep 21 '11 at 17:55

This question came from our site for professional and enthusiast programmers.

22

Yeh, there's no easy way to do this ... however you can do a few things:

rpm -Va

...this will do a check on all the packages you have installed, and you can then reinstall anything that doesn't verify. Also:

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

...this will do what you asked for, although it's a big hammer.

  • quite useful on broken installs, like what I got lately after fedup. – dashesy Jan 8 '15 at 2:38
1

If you're on Fedora and using dnf it's very easy. Just use the dnf history rollback feature.

http://dnf.readthedocs.io/en/latest/command_ref.html#history-command

-2

Also

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

or

rpm -qa | xargs yum reinstall

(depending on damage already done on the machine awk or xargs might not work)

  • 3
    That reinstalls all packages -- not just the dependencies of an individual package. – Anthony Geoghegan May 20 '15 at 17:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.