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

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

相关文章:

  • DAY 36 超大力王爱学Python
  • 车辆检测算法在爆炸事故应急响应中的优化路径
  • 邮件验证码存储推荐方式
  • 安卓jetpack compose学习笔记-UI基础学习
  • 【Redis】笔记|第4节|Redis数据安全性分析
  • 商品模块中的多规格设计:实现方式与电商/ERP系统的架构对比
  • day 42
  • 基于 LLM 的商城智能客服助理开发实战
  • 什么是缺页中断(缺页中断详解)
  • 概率单纯形(Probability Simplex)
  • 缓存一致性协议的影响
  • 语音转文字工具
  • learn react course
  • 【JavaScript-Day 28】告别繁琐循环:`forEach`, `map`, `filter` 数组遍历三剑客详解
  • Selenium Manager中文文档
  • Python-Selenium报错截图
  • hysAnalyser --- 逐包分析MPEG-TS的功能说明
  • 图文详解Java集合面试题
  • 量化面试绿皮书:1. 海盗分金博弈
  • 树莓派3B小练习
  • 做房地产网站建设/自己的app如何接广告
  • 如何在门户网站做推广/拉新推广平台有哪些
  • 三门峡高端网站开发/友情链接交换条件
  • 滕州公司做网站/深圳推广公司有哪些
  • 怎么做幼儿园网站介绍ppt/网站免费网站免费
  • 设计师去哪个网站找工作/今日头条最新