解决msys2“无法升级 mingw64 (无效或已损坏的数据库 (PGP 签名))”密钥失效问题

本文详细介绍了在使用MSYS2环境下,遇到无法使用pacman-Syu进行更新的问题及解决方案。主要原因是msys2-keyring密钥服务器的密钥无法信赖,通过下载并安装特定的msys2-keyring软件包,验证签名,以及可能的数据库锁定问题解决步骤,最终实现成功更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述 \textbf{问题描述} 问题描述

\qquad 最近在使用msys2的时候,发现无法使用pacman -Syu进行更新,会出现如下提示:
\qquad 在这里插入图片描述
\qquad 原因是密钥无法信赖(rely on)msys2-keyring密钥服务器,如果不及时更新msys2-keyring,就会出现上面的错误提示。msys2官方提供了一个msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz的软件包来修复。
 
\qquad 下载安装该软件包之前,无法通过验证:
\qquad # pacman-key --verify msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz{.sig,}
\qquad 在这里插入图片描述
 
解决方法 \textbf{解决方法} 解决方法

1. 下载 msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz 软件包
\qquad # curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz
\qquad # curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig
\qquad 在这里插入图片描述
  
2.验证签名是否建立完好
\qquad # pacman-key --verify msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz{.sig,}
\qquad 在这里插入图片描述

3.安装 msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz 包
\qquad # pacman -U --config <(echo) msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz
\qquad 在这里插入图片描述

\quad 如果碰到下面的情况 (无法锁定数据库unable to lock database) ,可以按照提示,删掉\msys64\var\lib\pacman\中的db.lck文件即可(rm -f /var/lib/pacman/db.lck),再重复上面的指令
\quad 在这里插入图片描述

4.然后就可以使用pacman -Syu进行更新
\qquad 在这里插入图片描述

【注1】如果还存在签名问题导致无法更新,可以尝试重置pacman key:
   # rm -r /etc/pacman.d/gnupg/
   # pacman-key --init
   # pacman-key --populate msys2
   然后再pacman -Syu进行更新
   
【注2】修复完毕后,可能需要重启计算机。

更新完毕之后,终于无事可做了
\qquad 在这里插入图片描述

【注3】官方文档链接请点击此处

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值