在阿里服务器用Ubuntu24根据官方教程安装docker的时候,添加了apt仓库密钥之后,apt update
之后弹出如下告警
W: http://mirrors.cloud.aliyuncs.com/docker-ce/linux/ubuntu/dists/noble/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
这个警告信息表明你的系统正在使用已被弃用的 apt-key
方式管理 APT 仓库密钥。在较新版本的 Debian/Ubuntu 中,推荐将密钥存储在 /etc/apt/trusted.gpg.d/
目录下,而不是直接放在 /etc/apt/trusted.gpg
解决方案:
1. 找出问题密钥
首先找出是哪个仓库的密钥导致了这个问题:
root@iZcvdz7shuu1wnZ:~# apt-key list
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
/etc/apt/trusted.gpg
--------------------
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb) <docker@docker.com>
sub rsa4096 2017-02-22 [S]
/etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg
------------------------------------------------------
pub rsa4096 2012-05-11 [SC]
8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092
uid [ unknown] Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>
/etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg
------------------------------------------------------
pub rsa4096 2018-09-17 [SC]
F6EC B376 2474 EDA9 D21B 7022 8719 20D1 991B C93C
uid [ unknown] Ubuntu Archive Automatic Signing Key (2018) <ftpmaster@ubuntu.com>
列出所有存储在旧式密钥环中的密钥。找到对应的密钥(通常通过密钥的最后4-8个字符识别)
2. 导出并转换密钥
看见Docker-CE的密钥后八位是0EBF CD88
,执行:
root@iZcvdz7shuu1wnZ:~# apt-key export 0EBFCD88 | gpg --dearmour -o /etc/apt/trusted.gpg.d/docker.gpg
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
3. 删除旧密钥
转换完成后,你可以安全移除旧密钥:
apt-key del 0EBFCD88
mv /etc/apt/trusted.gpg.d/docker.gpg~ /etc/apt/trusted.gpg.d/docker.gpg
删除之后,系统会把你的
/etc/apt/trusted.gpg.d/docker.gpg
改成/etc/apt/trusted.gpg.d/docker.gpg~
,因为你执行命令的时候系统并不会真的删除掉这些公钥,只是改名了让apt识别不到,这样能保留原文件,防止删错,所以需要把名字改回去
4. 执行验证
root@iZcvdz7shuu1wnZ:~# apt update
Hit:1 http://mirrors.cloud.aliyuncs.com/ubuntu noble InRelease
Hit:2 http://mirrors.cloud.aliyuncs.com/ubuntu noble-updates InRelease
Hit:3 http://mirrors.cloud.aliyuncs.com/ubuntu noble-backports InRelease
Hit:4 http://mirrors.cloud.aliyuncs.com/ubuntu noble-security InRelease
Hit:5 http://mirrors.cloud.aliyuncs.com/docker-ce/linux/ubuntu noble InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
3 packages can be upgraded. Run 'apt list --upgradable' to see them.
告警消失
转载请注明来源