Como usar o yum para reinstalar todas as dependências de um determinado pacote?

15

Portanto, tenho um pacote que tenho certeza de que removi parte de uma de suas dependências ao remover algo (como na rm). Longa história. Basicamente, o que eu quero fazer é que o yum reinstale o pacote e todas as suas dependências para que ele reinstale os arquivos que removi. No mundo do gentoo, você simplesmente faz assim "emerge -e". Parece que você deve ser capaz de fazer algo semelhante.

Acho que eu poderia montar um script para listar os deps e depois analisá-los e reinstalar todos eles.

startoftext
fonte

Respostas:

23

Sim, não há uma maneira fácil de fazer isso ... no entanto, você pode fazer algumas coisas:

rpm -Va

... isso fará uma verificação em todos os pacotes que você instalou e poderá reinstalar qualquer coisa que não seja verificada. Além disso:

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

... isso fará o que você pediu, embora seja um grande martelo.

James Antill
fonte
bastante útil em instalações quebradas, como o que recebi recentemente após o farto.
dashesy
-3

Além disso

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

ou

rpm -qa | xargs yum reinstall

(dependendo dos danos já causados ​​no awk da máquina ou o xargs pode não funcionar)

Washuu
fonte
3
Isso reinstala todos os pacotes - não apenas as dependências de um pacote individual.
Anthony Geoghegan