Не удается обновить 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.