LINUX.ORG.RU

Восстановить согласованность базы pacman и установленных пакетов

 , ,


0

1

По ошибке удалил /var/lib/pacman/local, а там, оказывается, база установленных пакетов хранится. Скопировал её с прежнего снапшота, но между этими датами было много установленных/удалённых пакетов. Обновление системы зацепило много пакетов, но явно не все.

Есть ли способ привести базу pacman в соответствие с фактическим состоянием системы?

$ paclog-pkglist --help       
paclog-pkglist (pacman) v5.0.1

Parse a log file into a list of currently installed packages

Usage: paclog-pkglist [path to pacman log]

Example: paclog-pkglist /var/log/pacman.log

Defaults to: /var/log/pacman.log
surefire ★★★ ()
Последнее исправление: surefire (всего исправлений: 1)

У них на сайте есть списки файлов каждого пакета, вот с ними сравнить имеющиеся на диске файлы.

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

Не неси ахинею.

Список файлов любого пакета из репы можно посмотреть при помощи pacman -Fl <pkgs..>

А более полезная опция в данном случае будет

-o, --owns <файл> найти пакет, содержащий <файл>

surefire ★★★ ()
Последнее исправление: surefire (всего исправлений: 1)
Ответ на: комментарий от surefire

Какой агрессивный, прям типичный арчевод-пубертат))

anonymous ()
Ответ на: комментарий от alexferman

Есть один момент. Это список всех установленных пакетов. Если его прямо подсунуть пакману, то все установленные пакеты будут помечены как «Явно установлен», что не очень хорошо для управления зависимостями.

surefire ★★★ ()
Ответ на: комментарий от alexferman

В общем нужно плясать вокруг и пытаться отфильтровать, то что есть, то чего нет, потом вспоминать, что из оставшегося было установлено вручную, а потом проверять фс на присутствие лишних файлов. По другому вряд ли.

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