TLDR
尽管标题夸大了点,实际上写的是如何跳过各种校验。
makepkg -si --skipinteg
yay --mflags "--skipinteg"
makepkg -si --skipchecksums --skippgpcheck
yay --mflags "--skipchecksums --skippgpcheck"
(顺带一提,makepkg
的-s
指自动安装依赖,-i
指编译(打包?)完成后将软件包安装到系统)
正文
checksum
症状:错误: 一个或多个文件没有通过有效性检查!
;ERROR: One or more files did not pass the validity check!
改PKGBUILD
:打开PKGBUILD
,把sha256sums
(或者别的什么xxxsums
)括号内的checksum值均改为SKIP
手动生成校验值(其实和上面没什么区别):makepkg -g
,用生成的校验值手动替换PKGBUILD
中原有的校验值
加makepkg
参数:makepkg --skipchecksums
以及,这种情况一般只会出现在AUR包(尤其是比较新的包)中,你也完全可以在AUR和开发者反馈
PGP签名
症状:错误: 一个或多个 PGP 签名无法校验!
;ERROR: One or more PGP signatures could not be verified!
makepkg --skippgpcheck
顺带一提,arch-keyring
不使用系统的gnupg
中的密钥。
checksum与PGP签名
makepkg --skipinteg
参考资料
碎碎念
makepkg
选择语言所用的环境变量是LANGUAGE
,而不是LC_ALL
一类的