执行sudo apt update遇packages.ros.org GPG错误,sudo apt-key adv未解决
解决ROS源GPG验证失败问题
清理旧密钥(如果存在)
先删掉可能残留的无效ROS密钥,避免冲突:
sudo apt-key del F42ED6FBAB17C654
用密钥环方式重新导入ROS公钥
新Ubuntu版本(20.04+)已不再推荐使用apt-key adv,改用密钥环存储密钥更合规:
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo tee /usr/share/keyrings/ros-archive-keyring.gpg > /dev/null
更新ROS源配置
编辑ROS源列表,确保它指向刚导入的密钥文件:
# 针对ROS 2的配置 echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null # 如果用的是ROS 1,替换成这条 # echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros-latest.list > /dev/null
重新执行更新
sudo apt update
额外检查项
- 确认网络能正常访问packages.ros.org,没有被墙或代理拦截
- 核对Ubuntu版本和ROS版本的兼容性(比如22.04对应ROS Humble,20.04对应Noetic/Foxy)
内容的提问来源于stack exchange,提问作者mayank mahajan
相关产品推荐
相关产品推荐

