当前位置: 首页 > java >正文

ROS仓库GPG签名密钥过期问题

ROS仓库GPG签名密钥过期问题

  • ROS安装key NO_PUBKEY
    • 1. 删除已过期的密钥
    • 2. 重新添加ROS 公钥
    • 3. 修改源列表确保使用新密钥
    • 4. 更新 apt 索引
    • 5. 手动安装ros

ROS安装key NO_PUBKEY

问题描述:

2025.06.01使用鱼香ros一键安装时,在sudo apt update时发生报错:

Get:5 http://packages.ros.org/ros/ubuntu focal InRelease [4,679 B]
Err:5 http://packages.ros.org/ros/ubuntu focal InReleaseThe following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <info@osrfoundation.org>
Get:6 http://packages.ros.org/ros2/ubuntu focal InRelease [4,685 B]
Err:6 http://packages.ros.org/ros2/ubuntu focal InReleaseThe following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <info@osrfoundation.org>
Reading package lists... Done
W: GPG error: http://packages.ros.org/ros/ubuntu focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <info@osrfoundation.org>
E: The repository 'http://packages.ros.org/ros/ubuntu focal InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: GPG error: http://packages.ros.org/ros2/ubuntu focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <info@osrfoundation.org>
E: The repository 'http://packages.ros.org/ros2/ubuntu focal InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

表示ROS 官方仓库的 GPG 签名密钥过期了,导致 apt 更新时提示签名无效,无法安全更新。解决办法是更新 ROS 的公钥。

1. 删除已过期的密钥

sudo apt-key del F42ED6FBAB17C654

2. 重新添加ROS 公钥

我尝试了很多次通过命令下载和安装密钥,但是都失败了。最后老老实实去官网手动下载。

https://raw.githubusercontent.com/ros/rosdistro/master/ros.key

保存ros.key文件到本地电脑,假设下载到主文件夹。

手动转换并放入密钥环

mv ~/ros.key ~/ros.key.bak
gpg --dearmor ~/ros.key.bak
sudo mv ~/ros.key.bak.gpg /usr/share/keyrings/ros-archive-keyring.gpg

3. 修改源列表确保使用新密钥

sudo gedit /etc/apt/sources.list.d/ros-latest.list

添加/修改内容

deb [signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros/ubuntu focal main
deb [signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu focal main

保存并关闭

4. 更新 apt 索引

sudo apt update

5. 手动安装ros

前面的步骤已导入 ROS 公钥,现在需要添加 ROS 软件源。

echo "deb [signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/ros-latest.list

更新并安装 ROS Noetic

sudo apt update
sudo apt install ros-noetic-desktop-full

配置环境变量

sudo apt update
sudo apt install ros-noetic-desktop-full

安装构建依赖

sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential

后面按照赵虚左老师的教程走,解决sudo rosdep init的报错问题。
http://www.autolabor.com.cn/book/ROSTutorials/chapter1/12-roskai-fa-gong-ju-an-zhuang/124-an-zhuang-ros.html

http://www.xdnf.cn/news/10444.html

相关文章:

  • java基础学习(二十)
  • 【C++进阶篇】哈希表的封装(赋源码)
  • 历年中国人民大学计算机保研上机真题
  • Linux系统配置Docker镜像加速
  • HTML表单
  • 基于 Zynq 平台的 EtherCAT 主站的软硬件协同设计
  • 简历制作要精而不简
  • C#实现远程锁屏
  • NACOS 配置中心--数据隔离
  • 每日算法-250601
  • LLaMA-Factory - 批量推理(inference)的脚本
  • 性能优化 - 案例篇:缓存_Guava#LoadingCache设计
  • day43 python Grad-CAM
  • 第303个Vulnhub靶场演练攻略:Thales1
  • 长上下文推理新范式!QwenLong-L1如何通过强化学习突破大模型语境局限?
  • Trae AI编程创意实践-DIY粽子应用
  • ArcPy错误处理与调试技巧(3)
  • LangChain-结合GLM+SQL+函数调用实现数据库查询(一)
  • 内存管理 : 05 内存换入-请求调页
  • [创业之路-402]:企业战略管理案例分析-战略执行-关键任务
  • 衣服 关键点识别
  • Spring Boot DevTools 热部署
  • PINNs案例——二维磁场计算
  • 彻底理解Spring三级缓存机制
  • SOD-123和SOD-123FL封装到底有什么区别?
  • Python训练营打卡 Day42
  • CS144 - Lecture 2
  • day 1 任务以及具体安排:第一章 数组part01
  • 6月1日星期日今日早报简报微语报早读
  • Python6.1打卡(day33)