我正在尝试从 anaconda kickstart(CentOS7)阶段直接从 URL 安装 RPM,%post
但是遇到了一个有趣的错误:
``` + rpm -Uvhhttps://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm curl:(60)Peer 的证书颁发者已被用户标记为不信任。更多详细信息请参见此处:http://curl.haxx.se/docs/sslcerts.html
curl 默认使用证书颁发机构 (CA) 公钥 (CA 证书) 的“捆绑包”执行 SSL 证书验证。如果默认捆绑包文件不够用,您可以使用 --cacert 选项指定备用文件。如果此 HTTPS 服务器使用捆绑包中代表的 CA 签名的证书,则证书验证可能由于证书问题而失败(证书可能已过期,或者名称可能与 URL 中的域名不匹配)。如果您想关闭 curl 的证书验证,请使用 -k(或 --insecure)选项。错误:跳过https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm— 传输失败 ```
系统重启后运行相同的命令效果很好,但在发布后它会失败,并且与具有参数的 curl 相反-k
,我发现没有可以提供给 rpm 的选项。
这更加奇怪,因为这个地址无论如何都不应该有无效的 SSL 证书。
我知道我可以将其分成两个命令,一个 curl 下载文件,另一个 curl 安装 rpm。
不过,我正在寻找一个更好的解决方案,一行一个。
更新
epel-release
我的第一次尝试是在包列表中添加它,但是这引发了错误:
You have specified that the package 'epel-release' should be installed. This
package does not exist. Would you like to ignore this package and continue with
installation?
Please respond 'yes' or 'no':
答案1
这些 SSL 错误是由于 http_proxy 环境变量的存在导致 rpm 使用代理而引起的。
一旦我安装了自定义 CA 证书,这个问题就解决了。