Ubuntu执行apt-get update时无法安装Jenkins报错问题
Ubuntu安装Jenkins时apt update报错解决方法
报错对应根因
两类报错本质是两个配置问题叠加导致:
- 证书验证失败:系统CA证书包版本过旧,或未正确导入Jenkins源的GPG签名密钥,触发HTTPS资源拉取时的证书校验拦截
- 无Release文件警告:旧教程的Jenkins源配置格式不符合当前官方源的目录规则,同时证书校验失败也会导致Release签名文件拉取中断,触发源不可认证的提示
修复步骤
- 清理旧的错误配置
先删除之前添加的无效Jenkins源配置:
sudo rm -f /etc/apt/sources.list.d/jenkins.list
如果之前是直接把Jenkins源写在全局源文件里,执行sudo nano /etc/apt/sources.list,删除所有包含pkg.jenkins.io的行,按Ctrl+O保存、Ctrl+X退出即可。
- 修复系统证书基础环境
先更新本地包索引、安装依赖包,再刷新系统CA证书缓存:
sudo apt update sudo apt install -y ca-certificates curl gnupg sudo update-ca-certificates
- 正确导入Jenkins官方GPG密钥
创建密钥存储目录,导入官方签名密钥,解决源认证问题:
sudo mkdir -p /etc/apt/keyrings curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo gpg --dearmor -o /etc/apt/keyrings/jenkins.gpg
如果这一步仍然报证书错误,可以给curl临时加上--insecure参数跳过临时校验,拉取完成后可执行gpg --show-keys /etc/apt/keyrings/jenkins.gpg核对密钥指纹为6366 7D35 1F05 D458 BB4E 272E 5BA3 1D52 C437 5FA5,确认密钥未被篡改。
- 写入符合规范的Jenkins源配置
注意不要照搬旧教程的源路径,正确配置需要指定刚才导入的密钥路径,源地址末尾要带binary/路径:
echo "deb [signed-by=/etc/apt/keyrings/jenkins.gpg] https://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list
- 验证修复结果
重新执行更新命令,检查报错是否消失:
sudo apt update
没有报错的话,直接执行安装命令即可完成Jenkins部署:
sudo apt install -y jenkins
特殊场景排查
如果执行完上述步骤仍然报证书校验错误,优先检查两个配置:
- 系统时间是否准确:证书校验对时间偏差敏感,执行
timedatectl查看当前系统时间,若时间偏差过大,执行sudo timedatectl set-ntp true开启网络时间同步即可 - 内网HTTPS代理拦截:如果设备在内网环境、经过HTTPS代理网关上网,需要把代理网关的根证书文件(.crt格式)放到
/usr/local/share/ca-certificates/目录下,再执行sudo update-ca-certificates刷新系统证书信任列表即可
内容的提问来源于stack exchange,提问作者Muhammad Sikandar
相关产品推荐
相关产品推荐

