很久没打开 WSL 2 里面的 Arch Linux, 想着更新一下软件包, 执行 pacman -Syu, 遇到 “signature is marginal trust” “failed to commit transaction (invalid or corrupted package)” 等错误.


观察输出的信息, 似乎提到了 “签名” “信任” 的问题 (signature … is marginal trust).

可能当时自己搜索时关键字没提供完整或是什么问题, 总之没能解决问题, 于是可怜兮兮去问友人, 然后被告知 ArchWiki 上就有, 还被责怪为什么不先去看 Wiki.

友人回复挺快, 而且 ArchWiki 的 Pacman 页面 上边 Troubleshooting 章节下的第二点就是, 估计也是常见的问题. ArchWiki 上边的其他记录也挺全面详实的.

果然遇事还是应该先看 Wiki, 写这篇博文也是为了记录这个教训.

总之, 在 ArchWiki 的对应部分, 也就是 “Failed to commit transaction (invalid or corrupted package)” error, 可以看到这样一段话:

That same error may also appear if archlinux-keyring is out-of-date, preventing pacman from verifying signatures. See Pacman/Package signing#Upgrade system regularly for the fix and how to avoid it in the future.

大概意思是说:

同样的错误也可能是 archlinux-keyring 这个软件包过时所导致的, 使得 pacman 无法进行签名验证. 参考 Pacman/关于软件包签名#定期更新系统 以获得问题的解决方案以及如何避免在未来遇到同样问题.

点进文字中链接的这个页面可以看到:

Upgrading the system regularly via pacman#Upgrading packages prevents most signing errors. If delay is unavoidable and system upgrade gets delayed for an extended period, manually sync the package database and upgrade the archlinux-keyring package before system upgrade:

# pacman -Sy archlinux-keyring && pacman -Su

This command is not considered a partial upgrade since it syncs the package database and upgrades the keyring package first. Both must be processed just before starting system upgrade to ensure signatures of all upgraded packages can be properly verified.

大概意思是说:

根据 pacman#升级软件包 中的内容定期升级系统可以避免大部分的签名错误. 如果遇到了不可避免的延迟, 导致系统升级 (system upgrade) 比平时延迟了更长一段时间, 则需要使用如下命令, 在系统升级前手动同步软件包数据库并升级 archlinux-keyring 软件包:

pacman -Sy archlinux-keyring && pacman -Su

这个命令并不会被视作一次 “部分升级”, 因为它在同步了软件包数据库后只是首先安装了 keyring 软件包. 在进行系统升级前, 两项工作都必须进行, 以确保所有被升级的软件包的签名都能被正确验证.

如上, 签名无法验证导致软件包提示损坏的问题应该就能够解决了.

pacman 升级软件包提示 “failed to commit transaction (invalid or corrupted package)“相关推荐

  1. Archlinux更新提示invalid or corrupted package (PGP signature)

    错误示例: error: python-pytoml: signature from "Eli Schwartz <eschwartz@archlinux.org>" ...

  2. Jenkins中安装Credentials Binding插件时提示:Failed to load: SSH Credentials Plugin (1.18.2),Jenkins(2.282)or

    场景 Jenkins中安装Credentials Binding插件时提示 Failed to load: SSH Credentials Plugin (1.18.2),Jenkins(2.282) ...

  3. 软件包管理器 RPM 升级软件包过程分析

    升级软件包 alsaplayer-0.99.76-2.2.fc4.i386.rpm,并显示详细的升级信息: rpm -Uvv alsaplayer-0.99.76-2.2.fc4.i386.rpm 把 ...

  4. IDEA SVN 提交时提示failed: is out of date

    IDEA SVN 提交时提示failed: is out of date 问题描述 问题分析 问题解决 附: 为什么revert 不行,update 就可以? 问题描述 在ieda中 svn 提交一个 ...

  5. 巨杉数据库—错误码40006,Failed to begin transaction, RR is isolation is only supported when mvccon is true.

    巨杉数据库,新建一个数据库,往一个新建的表里插入数据,提示上述错误:错误码40006,Failed to begin transaction, RR is isolation is only supp ...

  6. buildroot 升级软件包

    因为软件漏洞问题,需要升级软件包,如 ncurses.libpwquality 等: 我目前采用的方法如下: 环境: 下载一个 buildroot 的最新版本: git clone git://git ...

  7. Loadrunner连接负载机失败,提示Failed to connect to the load generator.Check the output window for more detail

    在测试连接负载机时,为何连接不上呢,提示"Failed to connect to the load generator.Check the output window for more d ...

  8. yum安装软件包提示Error Downloading Packages解决方法

    yum安装软件包提示Error Downloading Packages解决方法 参考文章: (1)yum安装软件包提示Error Downloading Packages解决方法 (2)https: ...

  9. 双击SDK Manager.exe和AVD Manager.exe时,弹出提示:failed to execute tools\android.bat解决办法

    在Android的虚拟机上出现"no target selected",去android-sdk-windows里面双击SDK Manager.exe和AVD Manager.ex ...

  10. nginx反向代理tomcat提示failed (13: Permission denied) while connecting to upstream

    2019独角兽企业重金招聘Python工程师标准>>> nginx反向代理tomcat提示failed (13: Permission denied) while connectin ...

最新文章

  1. 直播APP开发:直播人数是否该有限制
  2. 日常生活小技巧 -- UART 回环测试
  3. luogu p4767 邮局
  4. 我的算法学习(一)----数组的全排列
  5. Qt——鼠标拖动调整窗口大小
  6. 教授称学习习惯的常识都是错误的
  7. 函数不可访问_关于可重入函数
  8. 关于 MySQL 的 boolean 和 tinyint(1)
  9. sql注入语句示例大全_SQL Order By语句:示例语法
  10. Android Runnable与Handler和Thread的使用,Handler构造方法弱引用实现
  11. java里的super杀意思,java中Super到底是什么意思?必须举例说明!
  12. selenium自动化测试-1.selenium介绍及环境安装
  13. 真诚的CISSP备考经验
  14. sklearn 5.18.3 SGD - Maximum margin separating hyperplane
  15. echarts取消轴线,网格线
  16. 无限制神器aria2懒人包及Aria2配置/Web管理面板教程
  17. C#下usb条码扫描枪的钩子实现的改进
  18. leng dw $ -string汇编语言
  19. 无痕模式后如何找到历史_辞职后,如何找到合适的工作?
  20. 微众银行4.20笔试前两题(均AC)

热门文章

  1. sl4a+android截屏,使用SL4A Python在android桌面上显示数据(示例)
  2. 【mysql】加密与解密函数
  3. python泰坦尼克号数据分析_Python实战—泰坦尼克号生还者数据分析
  4. win2003修改密码后提示确认用户名及域无误_周知!贵州高考志愿填报系统提示!...
  5. Spatiotemporal Multi-Graph Convolution Network for Ride-Hailing Demand Forecasting
  6. 回首风之忆(消息类型:聊天记录)
  7. mipi的dsi全称_高通mipi dsi代码理解
  8. Visio 连线 取消自动附着,取消自动捕捉
  9. 厦门大学计算机专业录取分数线2019,厦门大学录取分数线2019年各省及各专业分数线...
  10. 【论文解读】目标检测之RFBnet模型