Ubuntu 22.04 jammy 的镜像使用apt update失败

Ubuntu 22.04 jammy 的镜像使用apt update失败

1. 问题现象

# 下载镜像
~]# docker pull ubuntu:22.04
22.04: Pulling from library/ubuntu
79d0ea7dc1a8: Pull complete 
Digest: sha256:dfd64a3b4296d8c9b62aa3309984f8620b98d87e47492599ee20739e8eb54fbf
Status: Downloaded newer image for ubuntu:22.04
docker.io/library/ubuntu:22.04

# 进入容器
docker run -it ubuntu:22.04 bash

# 更新包
root@e0ab4ec26d51:/# apt update
Get:1 http://ports.ubuntu.com/ubuntu-ports jammy InRelease [270 kB]
Get:2 http://ports.ubuntu.com/ubuntu-ports jammy-updates InRelease [119 kB]
Err:1 http://ports.ubuntu.com/ubuntu-ports jammy InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C
Get:3 http://ports.ubuntu.com/ubuntu-ports jammy-backports InRelease [108 kB]
Err:2 http://ports.ubuntu.com/ubuntu-ports jammy-updates InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C
Get:4 http://ports.ubuntu.com/ubuntu-ports jammy-security InRelease [110 kB]
Err:3 http://ports.ubuntu.com/ubuntu-ports jammy-backports InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C
Err:4 http://ports.ubuntu.com/ubuntu-ports jammy-security InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C
Reading package lists... Done
W: http://ports.ubuntu.com/ubuntu-ports/dists/jammy/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg are ignored as the file is not readable by user '_apt' executing apt-key.
W: http://ports.ubuntu.com/ubuntu-ports/dists/jammy/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg are ignored as the file is not readable by user '_apt' executing apt-key.
W: GPG error: http://ports.ubuntu.com/ubuntu-ports jammy InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C
E: The repository 'http://ports.ubuntu.com/ubuntu-ports jammy InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: http://ports.ubuntu.com/ubuntu-ports/dists/jammy-updates/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg are ignored as the file is not readable by user '_apt' executing apt-key.
W: http://ports.ubuntu.com/ubuntu-ports/dists/jammy-updates/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg are ignored as the file is not readable by user '_apt' executing apt-key.
W: GPG error: http://ports.ubuntu.com/ubuntu-ports jammy-updates InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C
E: The repository 'http://ports.ubuntu.com/ubuntu-ports jammy-updates InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: http://ports.ubuntu.com/ubuntu-ports/dists/jammy-backports/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg are ignored as the file is not readable by user '_apt' executing apt-key.
W: http://ports.ubuntu.com/ubuntu-ports/dists/jammy-backports/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg are ignored as the file is not readable by user '_apt' executing apt-key.
W: GPG error: http://ports.ubuntu.com/ubuntu-ports jammy-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C
E: The repository 'http://ports.ubuntu.com/ubuntu-ports jammy-backports InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: http://ports.ubuntu.com/ubuntu-ports/dists/jammy-security/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg are ignored as the file is not readable by user '_apt' executing apt-key.
W: http://ports.ubuntu.com/ubuntu-ports/dists/jammy-security/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg are ignored as the file is not readable by user '_apt' executing apt-key.
W: GPG error: http://ports.ubuntu.com/ubuntu-ports jammy-security InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C
E: The repository 'http://ports.ubuntu.com/ubuntu-ports jammy-security InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

2. 尝试方法

# 1.添加key文件
root@e0ab4ec26d51:/# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 871920D1991BC93C
E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation
# 失败,缺少命令

# 2.尝试使用gpg添加key文件
# gpg --keyserver keyserver.ubuntu.com --recv 3B4FE6ACC0B21F32
# gpg --export --armor 3B4FE6ACC0B21F32 |apt-key add -
root@e0ab4ec26d51:/# gpg --keyserver keyserver.ubuntu.com --recv-keys 871920D1991BC93C
bash: gpg: command not found
root@e0ab4ec26d51:/# gpg --keyserver keyserver.ubuntu.com --recv 467B942D3A79BD29^C
root@e0ab4ec26d51:/# apt install gpg
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package gpg
# 失败,缺少命令

# 尝试更换apt镜像源
root@e0ab4ec26d51:/# echo "deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
" > /etc/apt/sources.list
root@e0ab4ec26d51:/# apt update
Get:1 http://mirrors.aliyun.com/ubuntu jammy InRelease [270 kB]
Get:2 http://mirrors.aliyun.com/ubuntu jammy-security InRelease [110 kB]
Get:3 http://mirrors.aliyun.com/ubuntu jammy-updates InRelease [119 kB]
Err:1 http://mirrors.aliyun.com/ubuntu jammy InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C
Get:4 http://mirrors.aliyun.com/ubuntu jammy-backports InRelease [108 kB]
Err:2 http://mirrors.aliyun.com/ubuntu jammy-security InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C
Err:3 http://mirrors.aliyun.com/ubuntu jammy-updates InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C
Err:4 http://mirrors.aliyun.com/ubuntu jammy-backports InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C
Reading package lists... Done
W: http://mirrors.aliyun.com/ubuntu/dists/jammy/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg are ignored as the file is not readable by user '_apt' executing apt-key.
W: http://mirrors.aliyun.com/ubuntu/dists/jammy/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg are ignored as the file is not readable by user '_apt' executing apt-key.
W: GPG error: http://mirrors.aliyun.com/ubuntu jammy InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C
E: The repository 'http://mirrors.aliyun.com/ubuntu jammy InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: http://mirrors.aliyun.com/ubuntu/dists/jammy-security/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg are ignored as the file is not readable by user '_apt' executing apt-key.
W: http://mirrors.aliyun.com/ubuntu/dists/jammy-security/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg are ignored as the file is not readable by user '_apt' executing apt-key.
W: GPG error: http://mirrors.aliyun.com/ubuntu jammy-security InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C
E: The repository 'http://mirrors.aliyun.com/ubuntu jammy-security InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: http://mirrors.aliyun.com/ubuntu/dists/jammy-updates/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg are ignored as the file is not readable by user '_apt' executing apt-key.
W: http://mirrors.aliyun.com/ubuntu/dists/jammy-updates/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg are ignored as the file is not readable by user '_apt' executing apt-key.
W: GPG error: http://mirrors.aliyun.com/ubuntu jammy-updates InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C
E: The repository 'http://mirrors.aliyun.com/ubuntu jammy-updates InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: http://mirrors.aliyun.com/ubuntu/dists/jammy-backports/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg are ignored as the file is not readable by user '_apt' executing apt-key.
W: http://mirrors.aliyun.com/ubuntu/dists/jammy-backports/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg are ignored as the file is not readable by user '_apt' executing apt-key.
W: GPG error: http://mirrors.aliyun.com/ubuntu jammy-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C
E: The repository 'http://mirrors.aliyun.com/ubuntu jammy-backports InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
# 失败,还是不行

3. 解决办法

# 解决方法:
# 从报错来看是镜像仓库没有认证,不是安全的,可以通过 --allow-insecure-repositories 参数解决

# 以下为一般镜像仓库出问题的解决办法
1. 检查源是否正确,检查源的地址是否正确,检查源的类型是否正确;

2. 尝试更换源,更换源的方法可以参考Ubuntu官方文档;

3. 尝试更换源的类型,比如从http更换为https;

4. 尝试更换源的地址,比如从国内源更换为国外源;

5. 尝试更换源的更新方式,比如从apt-get更换为aptitude;

6. 尝试更换源的更新模式,比如从自动更新模式更换为手动更新模式;

7. 尝试更换源的更新模式,比如从自动更新模式更换为手动更新模式;

8. 尝试更换源的更新模式,比如从自动更新模式更换为手动更新模式;

9. 尝试更换源的更新模式,比如从自动更新模式更换为手动更新模式;

10. 尝试更换源的更新模式,比如从自动更新模式更换为手动更新模式;

11. 尝试更换源的更新模式,比如从自动更新模式更换为手动更新模式;

12. 尝试更换源的更新模式,比如从自动更新模式更换为手动更新模式;

13. 尝试更换源的更新模式,比如从自动更新模式更换为手动更新模式;

14. 尝试使用apt-get clean命令清理缓存;

15. 尝试使用apt-get update --allow-insecure-repositories命令允许更新不安全的源;

16. 尝试使用apt-get update --allow-unauthenticated命令允许更新不受信任的源;

17. 尝试使用apt-get update --allow-unauthenticated --allow-insecure-repositories命令允许更新不受信任和不安全的源;

18. 尝试使用apt-get update --allow-unauthenticated --allow-insecure-repositories --allow-releaseinfo-change命令允许更新不受信任、不安全和发行信息变更的源;

19. 尝试使用apt-get update --allow-unauthenticated --allow-insecure-repositories --allow-releaseinfo-change --allow-downgrades命令允许更新不受信任、不安全、发行信息变更和降级的源;

20. 尝试使用apt-get update --allow-unauthenticated --allow-insecure-repositories --allow-releaseinfo-change --allow-downgrades --allow-change-held-packages命令允许更新不受信任、不安全、发行信息变更、降级和更改已安装软件包的源。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值