我在我的 Arch Linux 上运行 sudo pacman -Syu
命令,出现了以下内容:
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
中的'required by'处,我没有任何项目。我还从pacman.conf
中注释了multilib和xenlism-arch。当我执行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.
yaourt -S package-query
命令,然后再次使用pacman进行升级。之后,你需要重新构建你的package-query,因为它可能与新的pacman不兼容。 - jhampacman -Qi pacman
命令检查哪些软件包需要您当前安装的 pacman 版本(请查看输出中的“Required By”部分)。然后,可以通过pacman -Qm
命令查看列出的任何软件包是否出现在本地安装的软件包列表中(例如,通过 yaourt 安装的软件包)。如果找到其中一个,则删除该软件包并尝试再次使用 pacman 进行升级。另外可能的情况是,您添加了 multilib 或 xenlism-arch 仓库中的软件包与其他软件包发生了冲突。 - jhamyaourt -S package-query
对我很有帮助。 - Bernhard Fürst