基于debian 11的apt错误 Key is stored in legacy trusted.gpg keyring

背景

使用阿里云的镜像安装k8s软件时,执行了如下命令

curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - 
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
apt-get update

添加了一个key,然后添加了一个下载源,最后update更新一下.

接下来在执行apt-get update的时候,遇到错误:

root@debian:~# apt-get update 
Hit:1 http://mirrors.huaweicloud.com/debian bookworm InRelease
Hit:2 http://mirrors.huaweicloud.com/debian bookworm-updates InRelease
Hit:3 http://security.debian.org/debian-security bookworm-security InRelease
Hit:4 https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial InRelease
Reading package lists... Done
W: https://mirrors.aliyun.com/kubernetes/apt/dists/kubernetes-xenial/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.

解决方案

出现的原因是因为apt-get update命令使用了过时的 apt-key 工具导致的,这实际是一条警告.在新版本的apt中不再使用apt-key来管理软件源的密钥了.

前面curl和请求地址不变.
管道后面的命令修改为使用gpg命令 -o 指定一个路径

curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/kubernetes-archive-keyring.gpg

接下来修改对应的apt源文件:
vim /etc/apt/sources.list.d/kubernetes.list

注释内容为原有内容.
在原来的基础上,deb后面新增了 [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg]
这里的路径就是上面-o保存的文件的路径

#deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main

你可能感兴趣的:(Linux,debian,运维)