msys2配置
msys2配置
配置国内镜像
国内镜像战有中科大的源和清华的源,中科大是http,清华是https,所以我选用了清华的。
我的配置原则是删除默认全部,只保留国内镜像一条。
编辑 /etc/pacman.d/mirrorlist.mingw32
,在文件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
编辑 /etc/pacman.d/mirrorlist.mingw64
,在文件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
编辑 /etc/pacman.d/mirrorlist.msys
,在文件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
然后执行 pacman -Sy
刷新软件包数据即可。
msys2系统更新
pacman -Syu
- 更新时会遇到警告,根据警告信息提示,我们可以关闭窗口
- 点击关闭窗口按钮后会弹出一个警告框提示,提示信息是窗口会话有进程正在运行,这里不用管,点OK就行。
到这里更新并没有结束,重复配置源部分,再打开msys2进行更新即可。
密钥失效问题
使用pacman -Syu
时显示无法远程查找到密钥。
错误原因
密钥无法信赖(rely on)msys2-keyring密钥服务器,如果不及时更新msys2-keyring,就会出现上面的错误提示。
修复办法:
msys2官方提供了一个msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz的软件包来修复。
修复前验证下(无法通过):
# pacman-key --verify msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz{.sig,}
开始修复:
下载 msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz 软件包
# curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz # curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig
验证签名是否建立完好
# pacman-key --verify msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz{.sig,}
安装 msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz 包
# pacman -U --config <(echo) msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz
然后就可以使用
pacman -Syu
进行更新
【注1】
如果还存在签名问题导致无法更新,可以尝试重置
pacman key
:
# rm -r /etc/pacman.d/gnupg/
# pacman-key --init
# pacman-key --populate msys2
然后再
pacman -Syu
进行更新【注2】
修复完毕后,可能需要重启计算机。
参考文章
解决msys2“无法升级 mingw64 (无效或已损坏的数据库 (PGP 签名))”密钥失效问题
MSYS2使用教程(整理)——win10系统64位安装msys2最新版(msys2-x86_64-20190524.exe)