最近使用sudo apt update
提示以下错误:
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://packages.ros.org/ros/ubuntu bionic InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics [email protected]
W: Failed to fetch http://packages.ros.org/ros/ubuntu/dists/bionic/InRelease The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics [email protected]
W: Some index files failed to download. They have been ignored, or old ones used instead.
-
原因
ROS GPG密钥过期 -
解决方法
更新ROS apt 仓库使用的公共密钥:
ROS 1用户:
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
ROS 2用户:
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
- 如果执行以上命令出现
gpg: no valid OpenPGP data found.
错误,那么需要先执行curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc
(卡住不动就是要翻墙,参考Ubuntu下命令行走代理/终端走代理),然后再执行sudo apt-key add ros.asc
即可