error: failed to commit transaction (conflicting files)

При
pacman -Syu
, вконце такая ошибочка:
error: failed to commit transaction (conflicting files)

(система свежая, только установленная.)




error: could not prepare transaction
error: failed to commit transaction (conflicting files)
package: /path/to/file exists in filesystem
Errors occurred, no packages were upgraded.
Почему это происходит: pacman при обнаружении конфликтующих файлов, по умолчанию, не будет их перезаписывать автоматически. Это не ошибка, так сделано специально.

Вопрос решается тривиально. Сначала проверьте не принадлежит ли файл другому пакету: (pacman -Qo /path/to/file). Если принадлежит - создайте отчет об ошибке. Если проблемный файл не нужен другим пакетам - переименуйте его и перезапустите команду обновления. Если в дальнейшем проблем не возникнет, то старый файл можно удалить.

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

Информация, о каждом установленном файле, храниться в файле с метаданными пакета /var/lib/pacman/local/$package-$version/files. При повреждении этого файла (может быть пустым или отсутствовать), во время обновления пакета, и будет получена ошибка - “file exists in filesystem” (“файл существует в файловой системе”).

Обычно такие ошибки возникают во время установки или обновления всего лишь одного пакета, поэтому вместо ручного переименования или удаления конфликтующих файлов, принадлежащих данному пакету, выполните pacman -S –force $package, после этой команды pacman принудительно перезапишет эти файлы.

Никогда не запускайте pacman -Syu –force.

В моем случае нужно pacman -Syu –force. но этого не советуют… что делать?(
Если в данном случае советуют, то значит именно это обновление именно этого пакета нужно делать так.
Вернее всего будет обновить этот пакет с ключом –force отдельно, а потом все остальные, но уже без –force
 
Зарегистрироваться или войдите чтобы оставить сообщение.