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

问题描述 \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】官方文档链接请点击此处

要配置MSYS2MinGW,您可以按照以下步骤进行操作: 1. 首先,安装MSYS2。您可以从官方网站上下载MSYS2安装程序,并按照安装向导的指示进行安装。在安装过程中,注意选择适合您系统的32位或64位版本,并将安装目录设置为您喜欢的位置。 2. 安装完成后,打开MSYS2终端,可以通过单击开始菜单中的"MSYS2 MSYS"快捷方式或运行msys2.exe来打开。确保MSYS2终端正常工作。 3. 接下来,您需要安装MinGW。在MSYS2终端中,使用以下命令安装MinGW: ``` pacman -S mingw-w64-x86_64-toolchain ``` 这将安装64位版本的MinGW。如果您需要32位版本的MinGW,可以使用以下命令: ``` pacman -S mingw-w64-i686-toolchain ``` 这将安装32位版本的MinGW。 4. 安装完成后,您可以在MSYS2终端中使用MinGW。只需切换到MinGW环境并编译您的代码即可。使用以下命令切换到MinGW环境: ``` # 切换到64MinGW环境 source /mingw64_shell.bat # 切换到32位MinGW环境 source /mingw32_shell.bat ``` 切换到MinGW环境后,您可以使用gcc和g++等编译器进行编译。 5. 至此,您已成功配置了MSYS2MinGW。您可以在MSYS2终端中编译和运行您的程序了。请注意,如果您的程序使用了其他库,您可能需要在MSYS2终端中使用pacman命令安装这些库。例如,要安装CMake,您可以使用以下命令: ``` pacman -S cmake ``` 希望这些步骤能帮助您成功配置MSYS2MinGW。如果您还有其他问题,请随时提出。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值