【发布时间】:2016-05-17 00:52:19
【问题描述】:
我在我的 Archlinux 上运行 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 '要求'我有none。我还从 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.
【问题讨论】:
-
你安装了 package-query 和 yaourt 吗?如果是,您可能与 package-query 有冲突。尝试
yaourt -S package-query,然后再次使用 pacman 开始升级。之后你需要重建你的包查询,因为它可能与新的 pacman 不兼容。 -
一般情况下,好像本地安装了一个包,在archlinux官方存储库中没有管理)。您可以使用
pacman -Qi pacman检查哪些软件包需要您当前安装的 pacman 版本(在输出中查找“Required By”部分)。一个好的开始是看看列出的任何软件包是否出现在本地安装的软件包列表中(例如,通过 yaourt)pacman -Qm。如果你找到了,然后删除该软件包并再次尝试使用 pacman 升级。也可能与您添加的来自 multilib 或 xenlism-arch 存储库的包发生冲突。 -
在尝试了您的解决方案 jham 之后,我已根据当前情况更新了最初的问题。请检查一下。谢谢。
-
yaourt -S package-query帮了我大忙。 -
现在只剩下aur.archlinux.org/packages/package-query-git。包查询本身不再存在。
标签: archlinux pacman-package-manager