You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无ca-certificates包时如何为Ubuntu 20.04添加受信任CA证书适配内部apt源

解决方案

你遇到的是典型的离线环境下HTTPS源证书信任的死循环问题,不用依赖update-ca-certificates命令即可解决,有两种可行方案:

方案1:手动写入全局证书信任文件(无任何依赖,推荐)

update-ca-certificates的核心逻辑就是把/usr/local/share/ca-certificates/目录下的所有PEM格式CA证书,拼接进系统全局信任证书库/etc/ssl/certs/ca-certificates.crt,你可以手动完成该操作:

  • 先确认你持有的根证书是PEM格式(文本打开以-----BEGIN CERTIFICATE-----开头、-----END CERTIFICATE-----结尾,一般后缀为.crt)
  • 执行追加命令:
cat /usr/local/share/ca-certificates/mycompany/<你的CA证书文件名>.crt >> /etc/ssl/certs/ca-certificates.crt
  • 直接执行apt update验证,此时apt已经可以正常识别内部源的HTTPS证书,后续可正常安装包括ca-certificates在内的所有包。

如果是在Dockerfile构建场景,可直接通过以下步骤实现,无需手动操作容器:

FROM ubuntu:20.04
# 复制内部根证书到容器内
COPY mycompany-root.crt /usr/local/share/ca-certificates/mycompany/
# 手动追加到全局信任库
RUN cat /usr/local/share/ca-certificates/mycompany/mycompany-root.crt >> /etc/ssl/certs/ca-certificates.crt
# 替换apt源
RUN echo > /etc/apt/sources.list && \
    echo 'deb https://mycompany.internal.network/ubuntu-remote focal main restricted' >> /etc/apt/sources.list && \
    echo 'deb https://mycompany.internal.network/ubuntu-remote focal multiverse' >> /etc/apt/sources.list && \
    echo 'deb https://mycompany.internal.network/ubuntu-remote focal universe' >> /etc/apt/sources.list
# 验证apt可用
RUN apt update

方案2:临时关闭apt证书校验先装依赖

如果你后续需要用到update-ca-certificates的完整功能,可先临时跳过apt的HTTPS证书校验,安装ca-certificates后再恢复正常校验逻辑:

  • 新增apt临时配置,仅针对内部源跳过证书校验:
echo 'Acquire::https::mycompany.internal.network::Verify-Peer "false";' > /etc/apt/apt.conf.d/99-skip-internal-ssl
  • 执行安装命令:
apt update && apt install -y ca-certificates
  • 安装完成后删除临时配置,执行官方的证书更新命令即可:
rm /etc/apt/apt.conf.d/99-skip-internal-ssl
update-ca-certificates

内容的提问来源于stack exchange,提问作者Vincenzo Melandri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 20:15:04