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

服务器 0

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

1. 问题现象

# 下载镜像~]# docker pull ubuntu:22.0422.04: Pulling from library/ubuntu79d0ea7dc1a8: Pull complete Digest: sha256:dfd64a3b4296d8c9b62aa3309984f8620b98d87e47492599ee20739e8eb54fbfStatus: Downloaded newer image for ubuntu:22.04docker.io/library/ubuntu:22.04# 进入容器docker run -it ubuntu:22.04 bash# 更新包root@e0ab4ec26d51:/# apt updateGet: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 871920D1991BC93CGet: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 871920D1991BC93CGet: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 871920D1991BC93CErr: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 871920D1991BC93CReading package lists... DoneW: 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 871920D1991BC93CE: 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 871920D1991BC93CE: 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 871920D1991BC93CE: 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 871920D1991BC93CE: 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 871920D1991BC93CE: 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 871920D1991BC93Cbash: gpg: command not foundroot@e0ab4ec26d51:/# gpg --keyserver keyserver.ubuntu.com --recv 467B942D3A79BD29^Croot@e0ab4ec26d51:/# apt install gpgReading package lists... DoneBuilding dependency tree... DoneReading state information... DoneE: Unable to locate package gpg# 失败,缺少命令# 尝试更换apt镜像源root@e0ab4ec26d51:/# echo "deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse" > /etc/apt/sources.listroot@e0ab4ec26d51:/# apt updateGet: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 871920D1991BC93CGet: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 871920D1991BC93CErr: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 871920D1991BC93CErr: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 871920D1991BC93CReading package lists... DoneW: 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 871920D1991BC93CE: 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 871920D1991BC93CE: 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 871920D1991BC93CE: 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 871920D1991BC93CE: 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命令允许更新不受信任、不安全、发行信息变更、降级和更改已安装软件包的源。

也许您对下面的内容还感兴趣: