LINUX.ORG.RU
решено ФорумAdmin

[Arch][pacman] Переустановка пакета с учетом зависимостей

 ,


0

1

Можно ли в pacman переустановить пакет с переустановкой всех его зависимостей(как будто с нуля)? В gentoo для этого есть emerge --emptytree.

Проблема такая : база pacman сохранилась, но содержимое /usr не совпадает с записями в базе(часть пакетов отсутствует), поэтому надо переустановить все пакеты, но обычное pacman -Q | xargs pacman -S не работает потому что не соблюдается порядок установки(некоторые пакеты зависят от последующих, и отказываются ставиться). В случае же если запрашиваемая команда существует то можно будет переустановить все так - pacman -Qe | xargs pacman -S <?--emptytree?>


Знаю, что не совсем то, но может подойдёт. можно так:

Удалить пакет и зависимости #pacman -Rs package_name

потом:

#pacman -S package_name

ciiccii
()
Ответ на: комментарий от anon_666

Вот так:

pacman -S `LANG= pacman -Qk |awk '/.*: .* total files, [^0].* missing file\(s\)/ {sub(":","");print $1}'`
переустановит только пакеты с отсутствущими файлами. Да, это порно и костыль, но работает.

anon_666
()
Ответ на: комментарий от ciiccii

Удалить пакет и зависимости #pacman -Rs package_name

потом:

#pacman -S package_name

Не сработает, если зависимости этого пакета:

  • нужны и другим пакетам.
  • установлены принудительно вручную (explicit).
anon_666
()
Ответ на: комментарий от anon_666

спасибо! не знал о ключе -k, поэтому только что сделал подобную вещь руками. Проблема решена.

recon88
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.