Не удается обновить Archlinux (pacman -Syu не работает)

Я бегу sudo pacman -Syu на моем Archlinux и я получаю следующее:

cristian@localhost:~$ 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

Каким будет решение, чтобы это исправить?

ОБНОВИТЬ

Я пробовал оба решения, предложенные @jham. Я полностью удалил yaourt и package-query. В pacman -Qi pacman на "требуется" у меня есть 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 <atsutane@freethoughts.de>" 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.

7 ответов

Решение

У меня была та же самая ошибка. Кажется, проблема в том, что в archlinux-keyring пакет и новые пакеты (confuse) подписаны этими ключами. Поскольку оба пакета обновляются в одной и той же транзакции, новые ключи нельзя использовать до тех пор, пока обновление не будет завершено, но транзакция не начнется, пока пакеты не будут проверены...

Решение было бы обновить archlinux-keyring сам по себе:

pacman -S archlinux-keyring

А затем сделайте все остальное:

pacman -Su

Если это не помогло, вы можете попробовать запустить ключи вручную:

pacman-key --populate

но обычно это не обязательно.

Просто у меня возникла та же проблема, и я решил ее следующим образом:

$ 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

Для тех, кто придет сюда, кто не найдет решения с помощью работы rorido, попробуйте ответ пользователей Bernhard Fürst или Jham о справедливом pacman -S package-query который работал для меня без проблем.

Кроме того, если у вас все еще возникают такие проблемы с 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 ..

Если у вас все еще есть ошибка. Попробуй это:

sudo find /var/cache/pacman/pkg/ -iname "*.part" -exec rm {} \;

Он удаляет файлы.part, что вызывает ошибку "недопустимый или поврежденный пакет". После их удаления запустите это:

sudo pacman -Syyu

Это должно решить проблему, если все ключи отсутствуют.

Следующее предназначено для ArchLinux, однако применимо и к другим дистрибутивам Linux. Чтобы исправить неверный КЛЮЧ, необходимо сделать следующее:

      rm -fr /etc/pacman.d/gnupg
pacman-key --init
pacman-key --populate archlinux

скажем, ключ, выдающий ошибку, находится в Blackarch, тогда также необходимо:

      sudo pacman-key --populate blackarch

и наконец

      sudo pacman -Sy archlinux-keyring
sudo pacman-key --populate archlinux
sudo pacman-key --refresh-keys

Я использую Manjaro, и после долгих поисков я смог решить проблему, выполнив следующие простые команды.

ПРИМЕЧАНИЕ: вы должны запустить pacman-key --init перед первым использованием pacman; локальный набор ключей может быть заполнен ключами всех официальных упаковщиков Manjaro Linux с pacman-key --populate archlinux manjaro,

Не удалось подготовить транзакцию (неверная или поврежденная база данных)

Здесь это было связано с тем, что фактические (неисправные) зеркальные серверы доставляли мусор.

закомментируйте эти стандартные серверы и используйте качественный сервер, например

ftp://ftp5.gwdg.de/pub/linux/archlinux/community/os/x86_64/

Жаль, что /etc/pacman.conf так плохо прокомментирован, как будто намеренно быть бесполезным и бесполезным, всегда быть расплывчатым, никогда не быть конкретно полезным. это была последняя ошибка в, казалось бы, бесконечном множестве ошибок от pacman. ключи неуправляемы, серверы - беспорядок, библиотеки - хаос. У меня ушло более 1 дня, чтобы пройти через этот ужасный опыт Arch.

Другие вопросы по тегам