12

Итак, у меня есть пакет, в котором я уверен, что при удалении чего-либо (как в rm) я удалил часть одной из его зависимостей. Длинная история. По сути, я хочу переустановить пакет yum и все его зависимости, чтобы он заново установил удаленные файлы. В мире gentoo вы просто делаете это как «emerge -e». Кажется, yum должен быть в состоянии сделать что-то подобное.

Я думаю, я мог бы собрать скрипт, чтобы вывести список deps, а затем разобрать их и переустановить все.

3 ответа3

17

Да, нет простого способа сделать это ... однако вы можете сделать несколько вещей:

rpm -Va

... при этом будут проверены все установленные вами пакеты, а затем вы сможете переустановить все, что не проверено. Также:

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

... это будет делать то, что вы просили, хотя это большой молоток.

1

Если вы используете Fedora и используете dnf это очень просто. Просто используйте функцию dnf history rollback .

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

-2

Также

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

или же

rpm -qa | xargs yum reinstall

(в зависимости от того, какое повреждение уже нанесено на машине, awk или xargs могут не работать)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .