Невозможно обновить Archlinux (pacman -Syu не работает)
Я запускаю sudo pacman -Syu
на моем Archlinux, и я получаю следующее:
[email protected]:~$ sudo pacman -Syu
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
multilib is up to date
xenlism-arch is up to date
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: package-query: requires pacman<4.3
Каким будет решение, чтобы исправить это?
UPDATE
Я пробовал оба решения, зашифрованные @jham. Я полностью удалил yaourt и пакетный запрос. В pacman -Qi pacman
at 'required by' у меня есть none
. Я также прокомментировал multilib и xenlism-arch от pacman.conf
. Когда я делаю pacman -Syu
, я получаю следующее:
:: Proceed with installation? [Y/n]
(244/244) checking keys in keyring [###################################] 100%
(244/244) checking package integrity [###################################] 100%
error: confuse: signature from "Thorsten Töpper <[email protected]>" is unknown trust
:: File /var/cache/pacman/pkg/confuse-2.8-2-x86_64.pkg.tar.xz is corrupted (invalid or corrupted package (PGP signature)).
Do you want to delete it? [Y/n]
error: failed to commit transaction (invalid or corrupted package)
Errors occurred, no packages were upgraded.
Ответы
Ответ 1
У меня просто была такая же ошибка. Проблема заключается в том, что в пакете archlinux-keyring
есть новые ключи, а новые пакеты (confuse
) подписаны с этими ключами. Поскольку оба пакета обновляются в одной и той же транзакции, но новые ключи не могут использоваться до тех пор, пока обновление не будет завершено, но транзакция не начнется, пока пакеты не будут проверены...
Решение состоит в том, чтобы обновить archlinux-keyring
самостоятельно:
pacman -S archlinux-keyring
А затем сделайте остальные:
pacman -Su
Если это не удается, вы можете попробовать запустить ключи вручную, используя:
pacman-key --populate
но обычно это необязательно.
Ответ 2
У меня была одна и та же проблема, и я решил ее следующим образом:
$ sudo pacman -Rdd package-query # Purge the conflicting package-query
$ sudo pacman -Syu # There it works
# Now reinstall package-query
$ git clone https://aur.archlinux.org/package-query.git
$ cd package-query && makepkg -si
Ответ 3
Для всех, кто пришел сюда, не найдя решения по работе с rorido, попробуйте использовать ответы Bernhard Fürst или Jham всего лишь pacman -S package-query
, которые работали для меня без проблем.
Кроме того, если вы все еще получаете такие проблемы, как this с помощью libalpm.so.8: cannot open shared object file: No such file or directory
, вам необходимо вручную переустановить пакет-запрос и yaourt.
sudo pacman-db-upgrade
yaourt -R package-query yaourt
git clone https://aur.archlinux.org/package-query.git
cd package-query
makepkg -si
cd ..
git clone https://aur.archlinux.org/yaourt.git
cd yaourt
makepkg -si
cd ..