更新Pacman 4时出错:解决方案

的开发者 Arch Linux的 正式宣布将 吃豆人4 正好在发行版及其基础存储库(称为核心)中,这一点尤其突出 签名包支持 为用户提供了有关其来源和真实有效性的更多保证(除了安全方面)。

但是,我们许多人 问题更新 更改后我们的系统。 这里是解决方案...


运行命令以更新系统时:

pacman -Syu

它具有以下内容:

::必须首先更新以下软件包:
吃豆子
::是否要取消当前操作
::并立即更新这些软件包? [是/否]

接受后,出现类似以下内容:

解决依赖性...
检查冲突...
错误:错误准备事务(无法满足依赖关系)
::包裹查询:需要pacman <3.6

发生此错误是由于软件包的依赖性问题(在本例中为package-query)。 解决方案是从系统中删除冲突的软件包及其所有依赖项。

pacman -Rsc软件包查询

取决于以下软件包:

检查依赖项...
(3)将被删除:yaourt-0.10.2-1 [0,22 MB] package-query-0.9-1 [0,07 MB] yajl-2.0.4-1 [0,22 MB]删除的总大小:0,52,XNUMX MB
您要删除这些软件包吗? [是/否]

然后更新pacman:

吃豆子 -S 吃豆子

嘿! 雅t到底去了哪里?

更改吃豆子配置文件

安装Pacman 4时,它会提醒我们在pacman.conf.pacnew中创建新的配置文件。

您要做的就是用这个新文件替换当前正在使用的配置文件。 为此,请使用以下方法备份旧的备份文件:

mv /etc/pacman.conf /etc/pacman.conf.old

然后重命名新文件:

mv /etc/pacman.conf.pacnew /etc/pacman.conf

最后,我打开了文件:

nano /etc/pacman.conf

…和 添加非官方存储库 您在旧pacman.conf中拥有的文件(例如,在yaourt中的文件)。 最简单的方法是在文件末尾粘贴以下内容:

[archlinuxfr]服务器= http://repo.archlinux.fr/$arch

现在是时候重新安装我们在上一节中删除的软件包了(yaourt,package-query等)。

pacman -S yaourt包裹查询

启用PGP密钥

Pacman 4具有能够要求签名文件(PGP)的新颖性。 安装后,它会以以下警告提醒您:«>>>运行pacman-key –init`来设置pacman密钥环。

我打开了新的配置文件/etc/pacman.conf:

nano /etc/pacman.conf

找到“ SigLevel = Optional TrustedOnly”行,并取消注释。 然后注释掉“ SigLevel = Never”行。

它看起来应该像这样:

#PGP签名检查
#注意:如果不先运行pacman-key --init,所有这些都不起作用。
#默认情况下的编译等效于以下行。 这需要
#您使用`pacman-key`在本地签名和信任打包程序密钥
#个有效。
SigLevel =可选TrustedOnly
#如果您希望检查签名但避免本地签名和信任问题,请使用
#下一行。 这会将导入到pacman的密钥环中的任何密钥视为
#受信任。
#SigLevel =可选TrustAll
#目前,除非您已阅读上述内容,否则默认情况下处于关闭状态。
#SigLevel =永不

不要忘记取消注释存储库中的SigLevel行。 它看起来应该像这样:

[core] SigLevel = PackageRequired
包含= /etc/pacman.d/mirrorlist
[extra] SigLevel = PackageOptional
包含= /etc/pacman.d/mirrorlist
[社区] SigLevel = PackageOptional
包含= /etc/pacman.d/mirrorlist

保存更改并关闭文件。

现在,使用以下命令启动PGP密钥:

pacman键--init

根据Arch Wiki中的建议,建议的步骤是修改PGP密钥的配置文件,以避免在导入它们时出现问题:

纳米/etc/pacman.d/gnupg/gpg.conf

将行“ keyserver hkp://keys.gnupg.net”替换为“ keyserver hkp://pgp.mit.edu”(不带引号)。

最后,您只需要下载密钥。 为避免在Wiki上一对一地下载它们,他们建议使用以下脚本来下载主密钥:

用于FFF979E7 CDFD6BB0 4C7EA887 6AC6A4C2 824B18E8中的密钥; 做
pacman-key --recv-keys $键
pacman键--lsign键$键
printf'trustn3nquitn'|打印gpg --homedir /etc/pacman.d/gnupg/
--no-permission-warning --command-fd 0 --edit-key $键
完成

将其另存为bash脚本(我在上面放了master-keys.sh)给予它权限(sudo chmod + x master-keys.sh)并从终端(./master-keys.sh)运行。

最后,更新系统:

sudo pacman -Syu

如果在更新时收到以下错误:“文件系统中存在文件系统/ etc / mtab”,则仅需要强制安装该软件包的新版本,当前版本为filesystem-2011.12-2:

pacman -S文件系统--force

到目前为止,他们已经得到警告:安装更新程序后,很可能会出现许多标语,说“包X的密钥未知,您要导入吗?” 只需按几次“ S”,直到这些消息结束。

本文内容遵循我们的原则 编辑伦理。 要报告错误,请单击 信息.

5条评论,留下您的评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   kik1n

    嗯,我做到了。
    只是现在它问我如何再次安装所有内容(仅下载)

    或:gmtk:密钥“ A91764759326B440”未知
    ::导入PGP密钥9326B440,«Lukas Fleischer«,创建于2011-10-12? [Y / n]是
    错误:inetutils:密钥“ FCF2CB179205AC90”未知

    没关系???

  2.   kik1n


    或:gmtk:密钥“ A91764759326B440”未知
    ::导入PGP密钥9326B440,«Lukas Fleischer«,创建于2011-10-12? [Y / n]是
    错误:inetutils:密钥“ FCF2CB179205AC90”未知

    很好??? 或做错了什么?

  3.   让我们使用Linux

    那么好! 我很高兴。 🙂

  4.   惊呆了

    好吧,我这样做了,整个pacman.conf损坏了,它不允许我进行更新或安装,它向我抛出此消息...

    root @ dmaziado-3m3r dmaziado3m3r]#pacman -Syy
    错误:配置文件/etc/pacman.conf,第1行:所有指令必须属于一个部分。

    我认为错误是,通过安装yaourt,我将柴火还给了pacman.conf,我该怎么办?

  5.   查理

    开发人员用完了利他林怎么办?
    他们到处都是狗屎!