我接手了一个大项目。5 名工程师为这个项目工作了几年,但现在他们已经离开了。有多个安装脚本,而且非常复杂。在这些脚本中的某个地方,它们有如下命令:
yum install postgresql10
这给了我错误:
Error: Failed to download metadata for repo 'pgdg-common': repomd.xml GPG signature verification error: Bad GPG signature
如果我在命令行上运行它,我可以简单地执行以下操作:
dnf install -y --nogpgcheck https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
我运行了这个命令并且效果很好。
问题在于:安装脚本遇到该错误时会终止。我需要以某种方式解决这个问题。
有没有办法让 yum--nogpgcheck
在每次调用时自动运行yum install
?
您可能会想“只需 grep 安装脚本,然后更改各行即可。”但我无法这样做,因为命令中充满了变量和其他垃圾,所以我无法 grep 任何像“yum install”这样清晰明了的命令。一些安装命令由多行组成。
我如何关闭gpgcheck
所有 yum 调用?
答案1
为什么要默认禁用 gpg 检查,GPG 检查是有目的的,我的建议是不要尝试跳过它,而是修复它。真正的答案是肯定的,您可以.repo
在 yum repo 目录中编辑文件/etc/yum.repos.d
,对于每个 repo,您都有一个选项,gpgcheck=1
只需将其设置为 0 就可以了。
如果你想对所有人都这样做,你可以这样做:
sudo sed -i 's/gpgcheck=1/gpgcheck=0/g' *