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