Ubuntu中apt更新时报错The certificate issuer is unknown的解决办法

Ubuntu 22.04更新apt出现The certificate issuer is unknown的解决办法

问题描述

使用docker安装Ubuntu22.04,官网给出的镜像只是一个裸系统,预装软件很少。换阿里源以后,apt update,出现如下报错:

shell 复制代码
# apt update
Ign:1 https://mirrors.aliyun.com/ubuntu-ports jammy InRelease
Ign:2 https://mirrors.aliyun.com/ubuntu-ports jammy-security InRelease
Ign:3 https://mirrors.aliyun.com/ubuntu-ports jammy-updates InRelease
Ign:4 https://mirrors.aliyun.com/ubuntu-ports jammy-backports InRelease
Ign:1 https://mirrors.aliyun.com/ubuntu-ports jammy InRelease
Ign:2 https://mirrors.aliyun.com/ubuntu-ports jammy-security InRelease
Ign:3 https://mirrors.aliyun.com/ubuntu-ports jammy-updates InRelease
Ign:4 https://mirrors.aliyun.com/ubuntu-ports jammy-backports InRelease
Ign:1 https://mirrors.aliyun.com/ubuntu-ports jammy InRelease
Ign:2 https://mirrors.aliyun.com/ubuntu-ports jammy-security InRelease
Ign:3 https://mirrors.aliyun.com/ubuntu-ports jammy-updates InRelease
Ign:4 https://mirrors.aliyun.com/ubuntu-ports jammy-backports InRelease
Err:1 https://mirrors.aliyun.com/ubuntu-ports jammy InRelease
  Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown.  Could not handshake: Error in the certificate verification. [IP: 222.192.186.76 443]
Err:2 https://mirrors.aliyun.com/ubuntu-ports jammy-security InRelease
  Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown.  Could not handshake: Error in the certificate verification. [IP: 222.192.186.77 443]
Err:3 https://mirrors.aliyun.com/ubuntu-ports jammy-updates InRelease
  Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown.  Could not handshake: Error in the certificate verification. [IP: 222.192.186.76 443]
Err:4 https://mirrors.aliyun.com/ubuntu-ports jammy-backports InRelease
  Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown.  Could not handshake: Error in the certificate verification. [IP: 222.192.186.77 443]
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
W: https://mirrors.aliyun.com/ubuntu-ports/dists/jammy/InRelease: No system certificates available. Try installing ca-certificates.
W: https://mirrors.aliyun.com/ubuntu-ports/dists/jammy-security/InRelease: No system certificates available. Try installing ca-certificates.
W: https://mirrors.aliyun.com/ubuntu-ports/dists/jammy-updates/InRelease: No system certificates available. Try installing ca-certificates.
W: https://mirrors.aliyun.com/ubuntu-ports/dists/jammy-backports/InRelease: No system certificates available. Try installing ca-certificates.
W: https://mirrors.aliyun.com/ubuntu-ports/dists/jammy/InRelease: No system certificates available. Try installing ca-certificates.
W: https://mirrors.aliyun.com/ubuntu-ports/dists/jammy-security/InRelease: No system certificates available. Try installing ca-certificates.
W: https://mirrors.aliyun.com/ubuntu-ports/dists/jammy-updates/InRelease: No system certificates available. Try installing ca-certificates.
W: https://mirrors.aliyun.com/ubuntu-ports/dists/jammy-backports/InRelease: No system certificates available. Try installing ca-certificates.
W: https://mirrors.aliyun.com/ubuntu-ports/dists/jammy/InRelease: No system certificates available. Try installing ca-certificates.
W: https://mirrors.aliyun.com/ubuntu-ports/dists/jammy-security/InRelease: No system certificates available. Try installing ca-certificates.
W: https://mirrors.aliyun.com/ubuntu-ports/dists/jammy-updates/InRelease: No system certificates available. Try installing ca-certificates.
W: https://mirrors.aliyun.com/ubuntu-ports/dists/jammy-backports/InRelease: No system certificates available. Try installing ca-certificates.
W: https://mirrors.aliyun.com/ubuntu-ports/dists/jammy/InRelease: No system certificates available. Try installing ca-certificates.
W: https://mirrors.aliyun.com/ubuntu-ports/dists/jammy-security/InRelease: No system certificates available. Try installing ca-certificates.
W: https://mirrors.aliyun.com/ubuntu-ports/dists/jammy-updates/InRelease: No system certificates available. Try installing ca-certificates.
W: https://mirrors.aliyun.com/ubuntu-ports/dists/jammy-backports/InRelease: No system certificates available. Try installing ca-certificates.
W: Failed to fetch https://mirrors.aliyun.com/ubuntu-ports/dists/jammy/InRelease  Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown.  Could not handshake: Error in the certificate verification. [IP: 222.192.186.76 443]
W: Failed to fetch https://mirrors.aliyun.com/ubuntu-ports/dists/jammy-security/InRelease  Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown.  Could not handshake: Error in the certificate verification. [IP: 222.192.186.77 443]
W: Failed to fetch https://mirrors.aliyun.com/ubuntu-ports/dists/jammy-updates/InRelease  Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown.  Could not handshake: Error in the certificate verification. [IP: 222.192.186.76 443]
W: Failed to fetch https://mirrors.aliyun.com/ubuntu-ports/dists/jammy-backports/InRelease  Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown.  Could not handshake: Error in the certificate verification. [IP: 222.192.186.77 443]
W: Some index files failed to download. They have been ignored, or old ones used instead.

重点出在了The certificate issuer is unknown. 上,这个错误通常表示 SSL/TLS 证书的颁发机构未知或无法验证。网上给出的方法有很多,但是或多或少都要用到一些需要安装的工具,而裸系统上都没有。

解决办法

  1. httpshttp。以阿里云镜像为例,直接将以下脚本拷贝到终端运行,将apt配置写入/etc/apt/sources.list
sh 复制代码
# 清空当前 sources.list
bash -c 'echo "" > /etc/apt/sources.list'

# 写入新的源列表
tee /etc/apt/sources.list <<EOF
deb http://mirrors.aliyun.com/ubuntu-ports/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu-ports/ jammy main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu-ports/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu-ports/ jammy-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu-ports/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu-ports/ jammy-updates main restricted universe multiverse

# deb http://mirrors.aliyun.com/ubuntu-ports/ jammy-proposed main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu-ports/ jammy-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu-ports/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu-ports/ jammy-backports main restricted universe multiverse
EOF
  1. 运行apt update。问题解决,成功更新。
  2. 考虑到http终归不安全,安装证书并更新。
sh 复制代码
apt install ca-certificates
update-ca-certificates

然后,将/etc/apt/sources.listhttp改回https

讨论

  • 换源时要去官方站点,CSDN博主分享的一些配置文件可能已经失效。官方站点中应有尽有,例如阿里云的站点。
  • 在没有vim等编辑器的情况下,可以借鉴上文笔者的方法,使用命令行的方式编辑文件。
相关推荐
papaofdoudou1 分钟前
AMD-V 嵌套分页白皮书翻译
java·linux·服务器
篱笆院的狗4 分钟前
未备案域名申请SSL证书
linux
李日灐8 分钟前
<1>Linux基础指令:Linux 高频指令详解 + 文件与目录认知
linux·运维·服务器·开发语言·后端·命令
色空大师8 分钟前
【Linux-安装nginx】
linux·运维·前端·nginx·部署
艾莉丝努力练剑9 分钟前
【Linux线程】Linux系统多线程(七):<线程同步与互斥>线程同步(下)
java·linux·运维·服务器·c++·学习·操作系统
zzzyyy5389 分钟前
Linux进程控制(1)
linux·运维·服务器
贵沫末25 分钟前
Claude Code使用
ubuntu
rannn_11129 分钟前
【Redis|高级篇3】Redis最佳实践|键值设计、批处理优化、服务端优化、服务器优化、集群还是主从
java·服务器·redis·后端·缓存
俺不要写代码37 分钟前
Linux上一个简单的echo服务器搭建
linux·运维·服务器