最近在安装ROS2的时候遇到一个关于密钥的报错,这里记录一下!
在 sudo apt update
的时候出现错误
W: http://packages.ros.org/ros2/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
对于已经提示 warning
的 keyring
,在本篇中提示 warning
的软件源为 ROS2
,将其导出至 /etc/apt/trusted.gpg.d/
目录中, 然后删除 /etc/apt/trusted.gpg
中的该 keyring
1. 找到警告相关源的key
使用 apt-key list
命令列出所有 keyring 的信息, 然后找出该 keyring 的 fingerprint, 具体方法是找关键字
2. 导出相应key到指定目录
导出命令中只需要fingerprint
的末尾 8 位, /etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg
中的 ubuntu-keyring-2012-cdimage.gpg
可以自定义名称, 只要保存在 /etc/apt/trusted.gpg.d
这个路径下即可
$ sudo apt-key export AB17C654 | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/ros.gpg
3. 修改ros2源里指定加载key的路径
$ sudo vim /etc/apt/sources.list.d/ros2-latest.list
#把里面的改为如下
# deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/ros.gpg] http://mirror.tuna.tsinghua.edu.cn/ros2/ubuntu jammy main
至此,问题解决,再次 sudo apt update
不会出现那个警告了