Переустановите пакет и его установленные зависимости

25

У меня установлен пакет, который сломан (сам пакет, а не его зависимости). Переустановка с sudo dpkg-reconfigure <package>или sudo apt-get --reinstall install <package>не сработала. Я хотел бы попробовать переустановить пакет, включая все его установленные в настоящее время зависимости. Есть ли способ сделать это?

фураж
источник

Ответы:

35

Вы можете проверить все зависимости пакета apt-cache:

$ sudo apt-cache depends <package>

Используя результаты этой команды, мы получаем следующую, которая переустанавливает <package>и ее зависимости:

$ sudo apt-cache depends <package> | grep '[ |]Depends: [^<]' | cut -d: -f2 | tr -d ' ' | xargs sudo apt-get --reinstall install -y
Себастьян Потасьяк
источник
12
Это оно! Спасибо. Я изменил аргумент grep с 'Depends'на, '[ |]Depends: [^<]'чтобы исключить записи PreDepends и альтернативного пакета ( Depends: <package> ). Аргументы apt-get должны были бы --reinstall installсделать реальную переустановку, после которой я был.
Корм
3
Для этого вы не проверили это, довольно смело публиковать это без дальнейших объяснений. Ведь вы удаляете несколько пакетов.
AB