Docker中microdnf安装Chrome报错:无法验证签名,求解决方案
Chrome RPM包GPG签名验证失败的解决方案
问题背景
此前可正常运行的Chrome安装Docker配置,因谷歌变更Chrome存储位置,现在执行安装时出现GPG签名验证失败:
原Dockerfile:
ARG CHROME_VERSION=116.0.5845.96-1 ADD google-chrome.repo /etc/yum.repos.d/google-chrome.repo RUN microdnf install -y google-chrome-stable-$CHROME_VERSION \ && sed -i 's/"$HERE\/chrome"/"$HERE\/chrome" --no-sandbox/g' /opt/google/chrome/google-chrome
原google-chrome.repo文件:
[google-chrome] name=google-chrome baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64 enabled=1 gpgcheck=1 gpgkey=https://dl.google.com/linux/linux_signing_key.pub
报错信息:
#8 48.09 Downloading packages... #8 91.38 error: package google-chrome-stable-116.0.5845.96-1.x86_64 cannot be verified and repo google-chrome is GPG enabled: /var/cache/yum/metadata/google-chrome-8-x86_64/packages/google-chrome-stable-116.0.5845.96-1.x86_64.rpm could not be verified. #8 91.38 /var/cache/yum/metadata/google-chrome-8-x86_64/packages/google-chrome-stable-116.0.5845.96-1.x86_64.rpm: digest: SIGNATURE: NOT OK
1. 跳过签名验证检查
有两种快速跳过验证的方式:
方法1:修改repo文件关闭GPG检查
将google-chrome.repo中的gpgcheck改为0:
[google-chrome] name=google-chrome baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64 enabled=1 gpgcheck=0 gpgkey=https://dl.google.com/linux/linux_signing_key.pub
方法2:在安装命令中添加跳过参数
修改Dockerfile中的microdnf命令,加入--nogpgcheck:
ARG CHROME_VERSION=116.0.5845.96-1 ADD google-chrome.repo /etc/yum.repos.d/google-chrome.repo RUN microdnf install -y --nogpgcheck google-chrome-stable-$CHROME_VERSION \ && sed -i 's/"$HERE\/chrome"/"$HERE\/chrome" --no-sandbox/g' /opt/google/chrome/google-chrome
2. 修复签名验证问题(修正repo配置)
谷歌更新了Chrome RPM仓库的签名密钥和存储地址,需同步更新repo配置:
步骤1:更新repo文件内容
替换google-chrome.repo为以下配置,使用HTTPS地址并确保密钥源正确:
[google-chrome] name=Google Chrome baseurl=https://dl.google.com/linux/chrome/rpm/stable/x86_64 enabled=1 gpgcheck=1 gpgkey=https://dl.google.com/linux/linux_signing_key.pub
步骤2:提前导入最新签名密钥(可选)
若仍存在验证问题,可在安装前先导入谷歌的最新签名密钥,修改Dockerfile:
ARG CHROME_VERSION=116.0.5845.96-1 ADD google-chrome.repo /etc/yum.repos.d/google-chrome.repo RUN rpm --import https://dl.google.com/linux/linux_signing_key.pub \ && microdnf install -y google-chrome-stable-$CHROME_VERSION \ && sed -i 's/"$HERE\/chrome"/"$HERE\/chrome" --no-sandbox/g' /opt/google/chrome/google-chrome
内容的提问来源于stack exchange,提问作者HeronAlgoSearch
相关产品推荐
相关产品推荐

