鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    在Ubuntu 22.04 中,输入指令sudo apt update报错,请求帮助

    已定时 已固定 已锁定 已移动 未解决
    综合问题
    ubuntu 22.04 apt更新失败 ros2 hamble 一键换源
    6
    12
    763
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • S
      SFLEteasb
      最后由 编辑

      问题描述:

      系统版本:
      Distributor ID: Ubuntu
      Description: Ubuntu 22.04.5 LTS
      Release: 22.04
      Codename: jammy

      从2025年6月1日出现这个问题,即在终端输入指令 sudo apt update 会出现报错,具体错误请见下文日志部分;与这个问题同时出现的问题有:小鱼的一键安装中更换系统源操作能够正常运行,在随后的更换ROS1/ROS2源操作中会出现更换了很多系统源都无法安装的情况(也是卡在sudo apt update指令)
      

      具体细节和上下文:

      日志如下所示:
      (1)直接输入sudo apt update:
      ------以下为日志输出:
      Hit:1 http://mirrors.ustc.edu.cn/ubuntu jammy InRelease
      Hit:2 http://mirrors.ustc.edu.cn/ubuntu jammy-updates InRelease
      Hit:3 http://mirrors.ustc.edu.cn/ubuntu jammy-backports InRelease
      Hit:4 http://mirrors.ustc.edu.cn/ubuntu jammy-security InRelease
      Get:5 http://packages.ros.org/ros2/ubuntu jammy InRelease [4,682 B]
      Err:5 http://packages.ros.org/ros2/ubuntu jammy InRelease
      The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics info@osrfoundation.org
      Reading package lists... Done
      W: GPG error: http://packages.ros.org/ros2/ubuntu jammy InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics info@osrfoundation.org
      E: The repository 'http://packages.ros.org/ros2/ubuntu jammy 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.
      (2)在小鱼的一键安装程序中,更换系统源和第三方源时的日志输出
      -----以下为日志输出:
      --2025-06-01 19:11:15-- http://fishros.com/install
      Resolving fishros.com (fishros.com)... 47.119.165.169
      Connecting to fishros.com (fishros.com)|47.119.165.169|:80... connected.
      HTTP request sent, awaiting response... 301 Moved Permanently
      Location: http://fishros.com/install/ [following]
      --2025-06-01 19:11:15-- http://fishros.com/install/
      Reusing existing connection to fishros.com:80.
      HTTP request sent, awaiting response... 200 OK
      Length: 960 [application/octet-stream]
      Saving to: ‘fishros’

      fishros 100%[===================>] 960 --.-KB/s in 0s

      2025-06-01 19:11:15 (139 MB/s) - ‘fishros’ saved [960/960]

      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      python3-distro is already the newest version (1.7.0-1).
      python3-yaml is already the newest version (5.4.1-1ubuntu1).
      The following packages were automatically installed and are no longer required:
      libwpe-1.0-1 libwpebackend-fdo-1.0-1
      Use 'sudo apt autoremove' to remove them.
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      --2025-06-01 19:11:15-- http://mirror.fishros.com/install/tools/base.py
      Resolving mirror.fishros.com (mirror.fishros.com)... 47.119.165.169
      Connecting to mirror.fishros.com (mirror.fishros.com)|47.119.165.169|:80... connected.
      HTTP request sent, awaiting response... 200 OK
      Length: 51464 (50K) [application/octet-stream]
      Saving to: ‘/tmp/fishinstall//tools/base.py’

      /tmp/fishinstall//t 100%[===================>] 50.26K --.-KB/s in 0.1s

      2025-06-01 19:11:16 (520 KB/s) - ‘/tmp/fishinstall//tools/base.py’ saved [51464/51464]

      Run CMD Task:[dpkg --print-architecture]
      [-][0.00s] CMD Result:success

      Run CMD Task:[wget http://mirror.fishros.com/install/tools/translation/translator.py -O /tmp/fishinstall//tools/translation/translator.py --no-check-certificate]
      [/][0.00s] --2025-06-01 19:11:16-- http://mirror.fishros.com/install/tools/tran[|][0.23s] Connecting to mirror.fishros.com (mirror.fishros.com)|47.119.165.169|[-][0.23s] CMD Result:success

      Run CMD Task:[wget http://mirror.fishros.com/install/tools/translation/assets/zh_CN.py -O /tmp/fishinstall//tools/translation/assets/zh_CN.py --no-check-certificate]
      [/][0.00s] --2025-06-01 19:11:18-- http://mirror.fishros.com/install/tools/tran[|][0.08s] Connecting to mirror.fishros.com (mirror.fishros.com)|47.119.165.169|[-][0.08s] CMD Result:success

      Run CMD Task:[wget http://mirror.fishros.com/install/tools/translation/assets/en_US.py -O /tmp/fishinstall//tools/translation/assets/en_US.py --no-check-certificate]
      [/][0.00s] --2025-06-01 19:11:19-- http://mirror.fishros.com/install/tools/tran[|][0.08s] Connecting to mirror.fishros.com (mirror.fishros.com)|47.119.165.169|[-][0.08s] CMD Result:success

      Run CMD Task:[wget https://fishros.org.cn/forum/topic/1733 -O /tmp/t1733 -q --timeout 10 && rm -rf /tmp/t1733]
      [-][0.50s] CMD Result:success

      已为您切换语言至当前所在国家语言:zh_CN
      基础检查通过...

      ======欢迎使用一键安装工具,人生苦短,三省吾身,省时省力省心!=======
      ======一键安装已开源,请放心使用:https://github.com/fishros/install =======

                          .-~~~~~~~~~-._       _.-~~~~~~~~~-.
                      __.'              ~.   .~              `.__
                  .'//     开卷有益        \./     书山有路     \ `.
                  .'// 可以多看看小鱼的文章  | 关注B站鱼香ROS机器人 \ `.
              .'// .-~~~~~~~~~~~~~~-._     |     _,-~~~~~~~~~~~. \`.
              .'//.-"                 `-.  |  .-'                 "-.\`.
          .'//______.============-..   \ | /   ..-============.______\`.
          .'______________________________\|/______________________________`
          ----------------------------------------------------------------------
      

      RUN Choose Task:[请输入括号内的数字]
      ---众多工具,等君来用---
      ROS相关:
      [1]:一键安装(推荐):ROS(支持ROS/ROS2,树莓派Jetson)
      [3]:一键安装:rosdep(小鱼的rosdepc,又快又好用)
      [4]:一键配置:ROS环境(快速更新ROS环境设置,自动生成环境选择)
      [9]:一键安装:Cartographer(18 20测试通过,16未测. updateTime 20240125)
      [11]:一键安装:ROS Docker版(支持所有版本ROS/ROS2)
      [16]:一键安装:系统自带ROS (!!警告!!仅供特殊情况下使用)

      常用软件:
      [2]:一键安装:github桌面版(小鱼常用的github客户端)
      [6]:一键安装:NodeJS环境
      [7]:一键安装:VsCode开发工具
      [8]:一键安装:Docker
      [10]:一键安装:微信(可以在Linux上使用的微信)
      [12]:一键安装:PlateformIO MicroROS开发环境(支持Fishbot)
      [15]:一键安装:QQ for Linux

      配置工具:
      [5]:一键配置:系统源(更换系统源,支持全版本Ubuntu系统)
      [13]:一键配置:python国内源
      [17]:一键配置: Docker代理(支持VPN+代理服务两种模式)

      请输入[]内的数字以选择:5
      Run CMD Task:[wget http://mirror.fishros.com/install/tools/tool_config_system_source.py -O /tmp/fishinstall/tools/tool_config_system_source.py --no-check-certificate]
      [/][0.00s] --2025-06-01 19:11:27-- http://mirror.fishros.com/install/tools/tool[|][0.24s] Connecting to mirror.fishros.com (mirror.fishros.com)|47.119.165.169|[-][0.24s] CMD Result:success

      Run CMD Task:[wget http://mirror.fishros.com/install/tools/tool_install_ros.py -O /tmp/fishinstall/tools/tool_install_ros.py --no-check-certificate]
      [/][0.00s] --2025-06-01 19:11:28-- http://mirror.fishros.com/install/tools/tool[|][0.12s] Connecting to mirror.fishros.com (mirror.fishros.com)|47.119.165.169|[-][0.12s] CMD Result:success

      欢迎使用一键更换系统源,本工具由作者小鱼提供
      RUN Choose Task:[请输入括号内的数字]
      请选择换源方式,如果不知道选什么请选2
      [1]:仅更换系统源
      [2]:更换系统源并清理第三方源
      0:quit
      请输入[]内的数字以选择:2
      Run CMD Task:[sudo rm -rf /etc/apt/sources.list]
      [-][0.00s] CMD Result:success

      删除一个资源文件
      Run CMD Task:[sudo rm -rf /etc/apt/sources.list.d]
      [-][0.00s] CMD Result:success

      Run CMD Task:[sudo mkdir -p /etc/apt/sources.list.d]
      [-][0.00s] CMD Result:success

      Run CMD Task:[dpkg --print-architecture]
      [-][0.00s] CMD Result:success

      检测到当前系统:ubuntu 架构:amd64 代号:jammy,正在为你搜索适合的源...
      搜索到可用源:['https://mirrors.tuna.tsinghua.edu.cn/ubuntu', 'https://mirrors.ustc.edu.cn/ubuntu', 'https://archive.ubuntu.com/ubuntu', 'https://mirrors.kernel.org/ubuntu', 'http://mirrors.tuna.tsinghua.edu.cn/ubuntu', 'http://mirrors.ustc.edu.cn/ubuntu', 'http://archive.ubuntu.com/ubuntu', 'http://mirrors.kernel.org/ubuntu']
      接下来将进行自动测速以为您选择最快的源:

      • https://mirrors.tuna.tsinghua.edu.cn/ubuntu 延时:0.15s
      • https://mirrors.ustc.edu.cn/ubuntu 延时:0.04s
      • https://archive.ubuntu.com/ubuntu 延时:2.64s
      • https://mirrors.kernel.org/ubuntu 延时:1.20s
      • http://mirrors.tuna.tsinghua.edu.cn/ubuntu 延时:0.12s
      • http://mirrors.ustc.edu.cn/ubuntu 延时:0.05s
      • http://archive.ubuntu.com/ubuntu 延时:0.92s
      • http://mirrors.kernel.org/ubuntu 延时:1.56s
        为您选择最快镜像源:https://mirrors.ustc.edu.cn/ubuntu
        创建文件:/etc/apt/sources.list
        替换镜像源完成,尝试进行更新....
        Run CMD Task:[sudo apt update]
        [-][4.18s] CMD Result:success e

      搞定了,不信你看,累死宝宝了,还不快去给小鱼点个赞~
      ['Hit:1 https://mirrors.ustc.edu.cn/ubuntu jammy InRelease', 'Hit:2 https://mirrors.ustc.edu.cn/ubuntu jammy-updates InRelease', 'Hit:3 https://mirrors.ustc.edu.cn/ubuntu jammy-backports InRelease', 'Hit:4 https://mirrors.ustc.edu.cn/ubuntu jammy-security InRelease', 'Reading package lists...', 'Building dependency tree...', 'Reading state information...', 'All packages are up to date.']
      镜像更新完成.....
      RUN Choose Task:[请输入括号内的数字]
      请问是否添加ROS和ROS2源?
      [1]:添加ROS/ROS2源
      [2]:不添加ROS/ROS2源
      0:quit
      请输入[]内的数字以选择:1
      小鱼:检测当前系统ubuntu22.04:jammy 支持一键安装ROS
      ============正在添加ROS源密钥=================
      Run CMD Task:[sudo apt update]
      [-][1.98s] CMD Result:success e

      Run CMD Task:[sudo apt search curl ]
      [/][0.80s] rust-1.76-all/jammy-updates,jammy-updates,jammy-security,jammy-security 1.76.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04 al[/][0.80s] rust-1.76-doc/jammy-updates,jammy-updates,jammy-security,jammy-security 1.76.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04 al[|][0.80s] rust-1.76-gdb/jammy-updates,jammy-updates,jammy-security,jammy-security 1.76.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04 al[/][0.80s] rust-1.76-lldb/jammy-updates,jammy-updates,jammy-security,jammy-security 1.76.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04 a[|][0.80s] rust-1.76-src/jammy-updates,jammy-updates,jammy-security,jammy-security 1.76.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04 al[/][0.80s] rust-1.77-all/jammy-updates,jammy-updates,jammy-security,jammy-security 1.77.2+dfsg1ubuntu1~bpo0-0ubuntu0.22.04 al[/][0.80s] rust-1.77-doc/jammy-updates,jammy-updates,jammy-security,jammy-security 1.77.2+dfsg1ubuntu1~bpo0-0ubuntu0.22.04 al[|][0.80s] rust-1.77-gdb/jammy-updates,jammy-updates,jammy-security,jammy-security 1.77.2+dfsg1ubuntu1~bpo0-0ubuntu0.22.04 al[/][0.80s] rust-1.77-lldb/jammy-updates,jammy-updates,jammy-security,jammy-security 1.77.2+dfsg1ubuntu1~bpo0-0ubuntu0.22.04 a[|][0.80s] rust-1.77-src/jammy-updates,jammy-updates,jammy-security,jammy-security 1.77.2+dfsg1ubuntu1~bpo0-0ubuntu0.22.04 al[/][0.80s] rust-1.78-all/jammy-updates,jammy-updates,jammy-security,jammy-security 1.78.0+dfsg1ubuntu1~bpo0-0ubuntu0.22.04 al[/][0.80s] rust-1.78-doc/jammy-updates,jammy-updates,jammy-security,jammy-security 1.78.0+dfsg1ubuntu1~bpo0-0ubuntu0.22.04 al[|][0.80s] rust-1.78-gdb/jammy-updates,jammy-updates,jammy-security,jammy-security 1.78.0+dfsg1ubuntu1~bpo0-0ubuntu0.22.04 al[/][0.80s] rust-1.78-lldb/jammy-updates,jammy-updates,jammy-security,jammy-security 1.78.0+dfsg1ubuntu1~bpo0-0ubuntu0.22.04 a[|][0.80s] rust-1.78-src/jammy-updates,jammy-updates,jammy-security,jammy-security 1.78.0+dfsg1ubuntu1~bpo0-0ubuntu0.22.04 al[/][0.80s] rust-1.79-all/jammy-updates,jammy-updates,jammy-security,jammy-security 1.79.0+dfsg1ubuntu1~bpo0-0ubuntu0.22.04 al[/][0.80s] rust-1.79-doc/jammy-updates,jammy-updates,jammy-security,jammy-security 1.79.0+dfsg1ubuntu1~bpo0-0ubuntu0.22.04 al[|][0.80s] rust-1.79-gdb/jammy-updates,jammy-updates,jammy-security,jammy-security 1.79.0+dfsg1ubuntu1~bpo0-0ubuntu0.22.04 al[/][0.80s] rust-1.79-lldb/jammy-updates,jammy-updates,jammy-security,jammy-security 1.79.0+dfsg1ubuntu1~bpo0-0ubuntu0.22.04 a[|][0.80s] rust-1.79-src/jammy-updates,jammy-updates,jammy-security,jammy-security 1.79.0+dfsg1ubuntu1~bpo0-0ubuntu0.22.04 al[/][0.80s] rust-1.80-all/jammy-updates,jammy-updates,jammy-security,jammy-security 1.80.1+dfsg0ubuntu1~bpo0-0ubuntu0.22.04 al[/][0.80s] rust-1.80-doc/jammy-updates,jammy-updates,jammy-security,jammy-security 1.80.1+dfsg0ubuntu1~bpo0-0ubuntu0.22.04 al[|][0.80s] rust-1.80-gdb/jammy-updates,jammy-updates,jammy-security,jammy-security 1.80.1+dfsg0ubuntu1~bpo0-0ubuntu0.22.04 al[/][0.80s] rust-1.80-lldb/jammy-updates,jammy-updates,jammy-security,jammy-security 1.80.1+dfsg0ubuntu1~bpo0-0ubuntu0.22.04 a[|][0.80s] rust-1.80-src/jammy-updates,jammy-updates,jammy-security,jammy-security 1.80.1+dfsg0ubuntu1~bpo0-0ubuntu0.22.04 al[-][0.80s] CMD Result:success 0-0ubuntu0.22.04 amd64bpo0-0ubuntu0.22.04 alll

      Run CMD Task:[sudo apt install curl -y]
      [-][0.53s] CMD Result:success nger required:

      Run CMD Task:[sudo apt search gnupg2 ]
      [-][0.77s] CMD Result:success package)27-3ubuntu2.3 all [installed]

      Run CMD Task:[sudo apt install gnupg2 -y]
      [-][0.52s] CMD Result:success nger required:

      正在挑选最快的密钥服务:['https://gitee.com/ohhuo/rosdistro/raw/master/ros.asc', 'https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc']

      • https://gitee.com/ohhuo/rosdistro/raw/master/ros.asc 延时:0.27s
      • https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc 超时
        已自动选择最快密钥服务:https://gitee.com/ohhuo/rosdistro/raw/master/ros.asc
        Run CMD Task:[curl -s https://gitee.com/ohhuo/rosdistro/raw/master/ros.asc | sudo apt-key add -]
        [-][0.37s] CMD Result:success pg.d instead (see apt-key(8)).

      Run CMD Task:[curl -s https://gitee.com/ohhuo/rosdistro/raw/master/ros.asc | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/ros.gpg --import]
      [-][0.29s] CMD Result:success >" not changed

      Run CMD Task:[sudo chmod 644 /etc/apt/trusted.gpg.d/ros.gpg]
      [-][0.00s] CMD Result:success

      Run CMD Task:[dpkg --print-architecture]
      [-][0.00s] CMD Result:success

      根据您的系统,为您推荐安装源为['http://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu/']
      创建文件:/etc/apt/sources.list.d/ros-fish.list
      Run CMD Task:[sudo apt update]
      [-][3.68s] CMD Result:code:100 e4 Open Robotics info@osrfoundation.org

      apt更新失败,后续程序可能会继续尝试...,[]
      Run CMD Task:[sudo apt search ros-base ]
      [-][0.86s] CMD Result:success

      换源后更新失败,第二次开始切换源,尝试更换ROS2源为华为源!
      根据您的系统,为您推荐安装源为['https://repo.huaweicloud.com/ros2/ubuntu/']
      Run CMD Task:[sudo rm -rf /etc/apt/sources.list.d/ros-fish.list]
      [-][0.00s] CMD Result:success

      创建文件:/etc/apt/sources.list.d/ros-fish.list
      Run CMD Task:[sudo apt update]
      [-][1.81s] CMD Result:code:100 54 Open Robotics info@osrfoundation.org

      apt更新失败,后续程序可能会继续尝试...,[]
      Run CMD Task:[sudo apt search ros-base ]
      [-][0.82s] CMD Result:success

      换源后更新失败,第三次开始切换源,尝试使用https-ROS官方源~!
      根据您的系统,为您推荐安装源为['https://packages.ros.org/ros2/ubuntu/']
      Run CMD Task:[sudo rm -rf /etc/apt/sources.list.d/ros-fish.list]
      [-][0.00s] CMD Result:success

      创建文件:/etc/apt/sources.list.d/ros-fish.list
      Run CMD Task:[sudo apt update]
      [/][10.70s] Certificate verification failed: The certificate is NOT trusted. The name in the certificate does not match the[][10.70s] Certificate verification failed: The certificate is NOT trusted. The name in the certificate does not match the[][10.75s] Certificate verification failed: The certificate is NOT trusted. The name in the certificate does not match the[][10.85s] Certificate verification failed: The certificate is NOT trusted. The name in the certificate does not match the[][10.95s] Certificate verification failed: The certificate is NOT trusted. The name in the certificate does not match the[][11.05s] Certificate verification failed: The certificate is NOT trusted. The name in the certificate does not match the[][11.15s] Certificate verification failed: The certificate is NOT trusted. The name in the certificate does not match the[][11.25s] Certificate verification failed: The certificate is NOT trusted. The name in the certificate does not match the[][11.36s] Certificate verification failed: The certificate is NOT trusted. The name in the certificate does not match the[][11.46s] Certificate verification failed: The certificate is NOT trusted. The name in the certificate does not match the[][11.56s] Certificate verification failed: The certificate is NOT trusted. The name in the certificate does not match the[][11.66s] Certificate verification failed: The certificate is NOT trusted. The name in the certificate does not match the[][11.76s] Certificate verification failed: The certificate is NOT trusted. The name in the certificate does not match the[-][12.14s] CMD Result:success 64.50.233.100 443]

      Run CMD Task:[sudo apt search ros-base ]
      [-][0.80s] CMD Result:success

      换源后更新失败,第四次开始切换源,尝试更换ROS源为http-ROS官方源!
      根据您的系统,为您推荐安装源为['http://packages.ros.org/ros2/ubuntu/']
      Run CMD Task:[sudo rm -rf /etc/apt/sources.list.d/ros-fish.list]
      [-][0.00s] CMD Result:success

      创建文件:/etc/apt/sources.list.d/ros-fish.list
      Run CMD Task:[sudo apt update]
      [-][2.11s] CMD Result:code:100 54 Open Robotics info@osrfoundation.org

      apt更新失败,后续程序可能会继续尝试...,[]
      Run CMD Task:[sudo apt search ros-base ]
      [-][0.82s] CMD Result:success

      Run CMD Task:[sudo apt update]
      [-][2.84s] CMD Result:code:100 54 Open Robotics info@osrfoundation.org

      apt更新失败,后续程序可能会继续尝试...,[]
      四次换源后都失败了,请及时联系小鱼获取解决方案并处理!
      欢迎加入机器人学习交流QQ群:438144612(入群口令:一键安装)
      鱼香小铺正式开业,最低499可入手一台能建图会导航的移动机器人,淘宝搜店:鱼香ROS 或打开链接查看:https://item.taobao.com/item.htm?id=696573635888
      如在使用过程中遇到问题,请打开:https://fishros.org.cn/forum 进行反馈

      检测到本次运行出现失败命令,直接退出按Ctrl+C,按任意键上传日志并退出

      尝试过的解决方法:

      (1)使用教程中的手动安装代替一键安装,任然无法运行sudo apt update指令,但是sudo apt upgrade 一直能够正常运行。若不运行sudo apt update而直接输入sudo apt install ros-humble-desktop会出现:
      ------以下为日志输出
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      E: Unable to locate package ros-humble-desktop

      (2)使用CSDN上给出的指令:
      sudo apt clean
      sudo rm -rf /var/lib/apt/lists/*
      sudo apt update

      输出日志为:
      Get:1 https://mirrors.ustc.edu.cn/ubuntu jammy InRelease [270 kB]
      Get:2 https://repo.huaweicloud.com/ros2/ubuntu jammy InRelease [4,682 B]
      Err:2 https://repo.huaweicloud.com/ros2/ubuntu jammy InRelease
      The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics info@osrfoundation.org
      Get:3 https://mirrors.ustc.edu.cn/ubuntu jammy-updates InRelease [128 kB]
      Get:4 https://mirrors.ustc.edu.cn/ubuntu jammy-backports InRelease [127 kB]
      Get:5 https://mirrors.ustc.edu.cn/ubuntu jammy-security InRelease [129 kB]
      Get:6 https://mirrors.ustc.edu.cn/ubuntu jammy/main i386 Packages [1,040 kB]
      Get:7 http://packages.ros.org/ros2/ubuntu jammy InRelease [4,682 B]
      Get:8 https://mirrors.ustc.edu.cn/ubuntu jammy/main amd64 Packages [1,395 kB]
      Get:9 https://mirrors.ustc.edu.cn/ubuntu jammy/main Translation-en [510 kB]
      Get:10 https://mirrors.ustc.edu.cn/ubuntu jammy/main amd64 DEP-11 Metadata [423 kB]
      Get:11 https://mirrors.ustc.edu.cn/ubuntu jammy/main DEP-11 48x48 Icons [100.0 kB]
      Get:12 https://mirrors.ustc.edu.cn/ubuntu jammy/main DEP-11 64x64 Icons [148 kB]
      Get:13 https://mirrors.ustc.edu.cn/ubuntu jammy/main DEP-11 64x64@2 Icons [15.8 kB]
      Get:14 https://mirrors.ustc.edu.cn/ubuntu jammy/main amd64 c-n-f Metadata [30.3 kB]
      Get:15 https://mirrors.ustc.edu.cn/ubuntu jammy/restricted i386 Packages [30.4 kB]
      Get:16 https://mirrors.ustc.edu.cn/ubuntu jammy/restricted amd64 Packages [129 kB]
      Get:17 https://mirrors.ustc.edu.cn/ubuntu jammy/restricted Translation-en [18.6 kB]
      Err:7 http://packages.ros.org/ros2/ubuntu jammy InRelease
      The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics info@osrfoundation.org
      Get:18 https://mirrors.ustc.edu.cn/ubuntu jammy/restricted amd64 c-n-f Metadata [488 B]
      Get:19 https://mirrors.ustc.edu.cn/ubuntu jammy/universe amd64 Packages [14.1 MB]
      Get:20 https://mirrors.ustc.edu.cn/ubuntu jammy/universe i386 Packages [7,474 kB]
      Get:21 https://mirrors.ustc.edu.cn/ubuntu jammy/universe Translation-en [5,652 kB]
      Get:22 https://mirrors.ustc.edu.cn/ubuntu jammy/universe amd64 DEP-11 Metadata [3,559 kB]
      Get:23 https://mirrors.ustc.edu.cn/ubuntu jammy/universe DEP-11 48x48 Icons [3,447 kB]
      Get:24 https://mirrors.ustc.edu.cn/ubuntu jammy/universe DEP-11 64x64 Icons [7,609 kB]
      Get:25 https://mirrors.ustc.edu.cn/ubuntu jammy/universe DEP-11 64x64@2 Icons [69.3 kB]
      Get:26 https://mirrors.ustc.edu.cn/ubuntu jammy/universe amd64 c-n-f Metadata [286 kB]
      Get:27 https://mirrors.ustc.edu.cn/ubuntu jammy/multiverse i386 Packages [112 kB]
      Get:28 https://mirrors.ustc.edu.cn/ubuntu jammy/multiverse amd64 Packages [217 kB]
      Get:29 https://mirrors.ustc.edu.cn/ubuntu jammy/multiverse Translation-en [112 kB]
      Get:30 https://mirrors.ustc.edu.cn/ubuntu jammy/multiverse amd64 DEP-11 Metadata [42.1 kB]
      Get:31 https://mirrors.ustc.edu.cn/ubuntu jammy/multiverse DEP-11 48x48 Icons [42.7 kB]
      Get:32 https://mirrors.ustc.edu.cn/ubuntu jammy/multiverse DEP-11 64x64 Icons [193 kB]
      Get:33 https://mirrors.ustc.edu.cn/ubuntu jammy/multiverse DEP-11 64x64@2 Icons [214 B]
      Get:34 https://mirrors.ustc.edu.cn/ubuntu jammy/multiverse amd64 c-n-f Metadata [8,372 B]
      Get:35 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/main amd64 Packages [2,598 kB]
      Get:36 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/main i386 Packages [811 kB]
      Get:37 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/main Translation-en [421 kB]
      Get:38 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/main amd64 DEP-11 Metadata [114 kB]
      Get:39 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/main DEP-11 48x48 Icons [40.8 kB]
      Get:40 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/main DEP-11 64x64 Icons [62.0 kB]
      Get:41 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/main DEP-11 64x64@2 Icons [29 B]
      Get:42 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/main amd64 c-n-f Metadata [18.5 kB]
      Get:43 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/restricted amd64 Packages [3,585 kB]
      Get:44 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/restricted i386 Packages [44.1 kB]
      Get:45 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/restricted Translation-en [640 kB]
      Get:46 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/restricted amd64 DEP-11 Metadata [212 B]
      Get:47 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/restricted DEP-11 48x48 Icons [29 B]
      Get:48 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/restricted DEP-11 64x64 Icons [29 B]
      Get:49 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/restricted DEP-11 64x64@2 Icons [29 B]
      Get:50 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/restricted amd64 c-n-f Metadata [676 B]
      Get:51 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/universe i386 Packages [768 kB]
      Get:52 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/universe amd64 Packages [1,208 kB]
      Get:53 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/universe Translation-en [298 kB]
      Get:54 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/universe amd64 DEP-11 Metadata [359 kB]
      Get:55 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/universe DEP-11 48x48 Icons [250 kB]
      Get:56 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/universe DEP-11 64x64 Icons [402 kB]
      Get:57 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/universe DEP-11 64x64@2 Icons [29 B]
      Get:58 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/universe amd64 c-n-f Metadata [28.7 kB]
      Get:59 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/multiverse amd64 Packages [46.5 kB]
      Get:60 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/multiverse i386 Packages [5,048 B]
      Get:61 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/multiverse Translation-en [11.8 kB]
      Get:62 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/multiverse amd64 DEP-11 Metadata [940 B]
      Get:63 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/multiverse DEP-11 48x48 Icons [1,867 B]
      Get:64 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/multiverse DEP-11 64x64 Icons [2,497 B]
      Get:65 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/multiverse DEP-11 64x64@2 Icons [29 B]
      Get:66 https://mirrors.ustc.edu.cn/ubuntu jammy-updates/multiverse amd64 c-n-f Metadata [592 B]
      Get:67 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/main i386 Packages [60.5 kB]
      Get:68 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/main amd64 Packages [68.8 kB]
      Get:69 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/main Translation-en [11.4 kB]
      Get:70 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/main amd64 DEP-11 Metadata [7,080 B]
      Get:71 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/main DEP-11 48x48 Icons [9,521 B]
      Get:72 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/main DEP-11 64x64 Icons [11.2 kB]
      Get:73 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/main DEP-11 64x64@2 Icons [29 B]
      Get:74 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/main amd64 c-n-f Metadata [392 B]
      Get:75 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/restricted amd64 DEP-11 Metadata [212 B]
      Get:76 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/restricted DEP-11 48x48 Icons [29 B]
      Get:77 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/restricted DEP-11 64x64 Icons [29 B]
      Get:78 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/restricted DEP-11 64x64@2 Icons [29 B]
      Get:79 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/restricted amd64 c-n-f Metadata [116 B]
      Get:80 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/universe i386 Packages [18.5 kB]
      Get:81 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/universe amd64 Packages [30.0 kB]
      Get:82 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/universe Translation-en [16.5 kB]
      Get:83 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/universe amd64 DEP-11 Metadata [24.4 kB]
      Get:84 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/universe DEP-11 48x48 Icons [20.7 kB]
      Get:85 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/universe DEP-11 64x64 Icons [29.3 kB]
      Get:86 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/universe DEP-11 64x64@2 Icons [29 B]
      Get:87 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/universe amd64 c-n-f Metadata [672 B]
      Get:88 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/multiverse amd64 DEP-11 Metadata [212 B]
      Get:89 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/multiverse DEP-11 48x48 Icons [29 B]
      Get:90 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/multiverse DEP-11 64x64 Icons [29 B]
      Get:91 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/multiverse DEP-11 64x64@2 Icons [29 B]
      Get:92 https://mirrors.ustc.edu.cn/ubuntu jammy-backports/multiverse amd64 c-n-f Metadata [116 B]
      Get:93 https://mirrors.ustc.edu.cn/ubuntu jammy-security/main amd64 Packages [2,354 kB]
      Get:94 https://mirrors.ustc.edu.cn/ubuntu jammy-security/main i386 Packages [640 kB]
      Get:95 https://mirrors.ustc.edu.cn/ubuntu jammy-security/main Translation-en [357 kB]
      Get:96 https://mirrors.ustc.edu.cn/ubuntu jammy-security/main amd64 DEP-11 Metadata [54.5 kB]
      Get:97 https://mirrors.ustc.edu.cn/ubuntu jammy-security/main DEP-11 48x48 Icons [20.3 kB]
      Get:98 https://mirrors.ustc.edu.cn/ubuntu jammy-security/main DEP-11 64x64 Icons [31.6 kB]
      Get:99 https://mirrors.ustc.edu.cn/ubuntu jammy-security/main DEP-11 64x64@2 Icons [29 B]
      Get:100 https://mirrors.ustc.edu.cn/ubuntu jammy-security/main amd64 c-n-f Metadata [13.6 kB]
      Get:101 https://mirrors.ustc.edu.cn/ubuntu jammy-security/restricted amd64 Packages [3,466 kB]
      Get:102 https://mirrors.ustc.edu.cn/ubuntu jammy-security/restricted i386 Packages [42.3 kB]
      Get:103 https://mirrors.ustc.edu.cn/ubuntu jammy-security/restricted Translation-en [620 kB]
      Get:104 https://mirrors.ustc.edu.cn/ubuntu jammy-security/restricted amd64 DEP-11 Metadata [208 B]
      Get:105 https://mirrors.ustc.edu.cn/ubuntu jammy-security/restricted DEP-11 48x48 Icons [29 B]
      Get:106 https://mirrors.ustc.edu.cn/ubuntu jammy-security/restricted DEP-11 64x64 Icons [29 B]
      Get:107 https://mirrors.ustc.edu.cn/ubuntu jammy-security/restricted DEP-11 64x64@2 Icons [29 B]
      Get:108 https://mirrors.ustc.edu.cn/ubuntu jammy-security/restricted amd64 c-n-f Metadata [624 B]
      Get:109 https://mirrors.ustc.edu.cn/ubuntu jammy-security/universe i386 Packages [659 kB]
      Get:110 https://mirrors.ustc.edu.cn/ubuntu jammy-security/universe amd64 Packages [974 kB]
      Get:111 https://mirrors.ustc.edu.cn/ubuntu jammy-security/universe Translation-en [210 kB]
      Get:112 https://mirrors.ustc.edu.cn/ubuntu jammy-security/universe amd64 DEP-11 Metadata [126 kB]
      Get:113 https://mirrors.ustc.edu.cn/ubuntu jammy-security/universe DEP-11 48x48 Icons [82.0 kB]
      Get:114 https://mirrors.ustc.edu.cn/ubuntu jammy-security/universe DEP-11 64x64 Icons [122 kB]
      Get:115 https://mirrors.ustc.edu.cn/ubuntu jammy-security/universe DEP-11 64x64@2 Icons [29 B]
      Get:116 https://mirrors.ustc.edu.cn/ubuntu jammy-security/universe amd64 c-n-f Metadata [21.7 kB]
      Get:117 https://mirrors.ustc.edu.cn/ubuntu jammy-security/multiverse amd64 Packages [39.6 kB]
      Get:118 https://mirrors.ustc.edu.cn/ubuntu jammy-security/multiverse i386 Packages [1,720 B]
      Get:119 https://mirrors.ustc.edu.cn/ubuntu jammy-security/multiverse Translation-en [8,716 B]
      Get:120 https://mirrors.ustc.edu.cn/ubuntu jammy-security/multiverse amd64 DEP-11 Metadata [208 B]
      Get:121 https://mirrors.ustc.edu.cn/ubuntu jammy-security/multiverse DEP-11 48x48 Icons [29 B]
      Get:122 https://mirrors.ustc.edu.cn/ubuntu jammy-security/multiverse DEP-11 64x64 Icons [29 B]
      Get:123 https://mirrors.ustc.edu.cn/ubuntu jammy-security/multiverse DEP-11 64x64@2 Icons [29 B]
      Get:124 https://mirrors.ustc.edu.cn/ubuntu jammy-security/multiverse amd64 c-n-f Metadata [368 B]
      Reading package lists... Done
      W: GPG error: https://repo.huaweicloud.com/ros2/ubuntu jammy InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics info@osrfoundation.org
      E: The repository 'https://repo.huaweicloud.com/ros2/ubuntu jammy 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 jammy InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics info@osrfoundation.org
      E: The repository 'http://packages.ros.org/ros2/ubuntu jammy 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.

      请问这个问题如何解决?求救@小鱼

      S 3 条回复 最后回复 回复 引用 0
      • S
        SFLEteasb @SFLEteasb
        最后由 编辑

        @SFLEteasb 在执行了如上所述的解决办法后输入sudo apt update的日志输出如下:
        Hit:1 https://mirrors.ustc.edu.cn/ubuntu jammy InRelease
        Get:2 https://repo.huaweicloud.com/ros2/ubuntu jammy InRelease [4,682 B]
        Hit:3 https://mirrors.ustc.edu.cn/ubuntu jammy-updates InRelease
        Hit:4 https://mirrors.ustc.edu.cn/ubuntu jammy-backports InRelease
        Hit:5 https://mirrors.ustc.edu.cn/ubuntu jammy-security InRelease
        Err:2 https://repo.huaweicloud.com/ros2/ubuntu jammy InRelease
        The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics info@osrfoundation.org
        Get:6 http://packages.ros.org/ros2/ubuntu jammy InRelease [4,682 B]
        Err:6 http://packages.ros.org/ros2/ubuntu jammy InRelease
        The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics info@osrfoundation.org
        Reading package lists... Done
        W: GPG error: https://repo.huaweicloud.com/ros2/ubuntu jammy InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics info@osrfoundation.org
        E: The repository 'https://repo.huaweicloud.com/ros2/ubuntu jammy 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 jammy InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics info@osrfoundation.org
        E: The repository 'http://packages.ros.org/ros2/ubuntu jammy 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.

        3 1 条回复 最后回复 回复 引用 0
        • S
          SFLEteasb @SFLEteasb
          最后由 编辑

          此回复已被删除!
          1 条回复 最后回复 回复 引用 0
          • S
            SFLEteasb @SFLEteasb
            最后由 编辑

            @SFLEteasb 补充:可以从github上克隆程序,网站也都可以ping通

            1 条回复 最后回复 回复 引用 0
            • M
              moon2416986352yue
              最后由 编辑

              你好,请问解决了吗

              S 1 条回复 最后回复 回复 引用 0
              • S
                SFLEteasb @moon2416986352yue
                最后由 编辑

                @moon2416986352yue 还没有诶()

                M 1 条回复 最后回复 回复 引用 0
                • 3
                  3429494307 @SFLEteasb
                  最后由 编辑

                  @SFLEteasb 若密钥未更新且急需操作,可临时禁用签名验证:

                  sudo apt update --allow-insecure-repositories # 允许更新源
                  sudo apt install --allow-unauthenticated <包名> # 安装时忽略认证
                  问了deepseek,用了一下管用,可以试试,这个密钥在昨天早上六点过期了,现在我也没找到有新密钥发布,只能先这样用着等大佬解决了
                  密钥过期信息:
                  pub (4)rsa4096/c1cf6e31e6bade8868b172b4f42ed6fbab17c654 2019-05-30T00:40:54Z

                  uid Open Robotics info@osrfoundation.org
                  sig cert f42ed6fbab17c654 2021-05-29T05:59:45Z 2025-06-01T05:59:45Z ____________________ [selfsig]
                  sig cert f42ed6fbab17c654 2019-05-30T00:40:54Z 2021-05-29T00:40:54Z ____________________ [selfsig]把密钥输入这个网页就能查到相关信息https://keyserver.ubuntu.com/

                  1 条回复 最后回复 回复 引用 0
                  • M
                    moon2416986352yue @SFLEteasb
                    最后由 编辑

                    @SFLEteasb 我也是一样的问题,没有解决,蹲蹲,解决了麻烦告知一下🙇 🙇

                    小鱼小 1 条回复 最后回复 回复 引用 0
                    • 小鱼小
                      小鱼 技术大佬 @moon2416986352yue
                      最后由 编辑

                      @moon2416986352yue 刚搞俄嗯新了,重新尝试一下

                      新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

                      S 1 条回复 最后回复 回复 引用 0
                      • S
                        SFLEteasb @小鱼
                        最后由 编辑

                        @小鱼 可以了谢谢大佬

                        1 条回复 最后回复 回复 引用 0
                        • F
                          firefirefox 年度VIP
                          最后由 编辑

                          关于ROS2源2025年6月1日公共密钥过期(NO_PUBKEY F42ED6FBAB17C654)的解决办法

                          摘要:
                          由于 ROS 官方 GPG 公钥于 2025 年 6 月 1 日过期,执行 sudo apt update 时会出现 NO_PUBKEY F42ED6FBAB17C654 错误。本攻略将逐步演示如何清理旧密钥、下载并导入新版密钥、重新添加 ROS 2 软件源,以恢复正常安装与更新。


                          目录

                          1. 删除原有的所有 ROS GPG 公钥
                          2. 安装工具依赖
                          3. 下载并安装新版 GPG 公钥
                          4. 添加 ROS 2 软件源
                          5. 更新源并验证
                          6. 常见问题与排查

                          删除原有的所有 ROS GPG 公钥

                          为了确保后续导入的新公钥不会与系统中残留的旧密钥冲突,先将所有旧的 keyring 文件与源列表清理干净。

                          sudo rm -f /usr/share/keyrings/ros-archive-keyring.gpg
                          sudo rm -f /etc/apt/keyrings/ros-archive-keyring.gpg
                          sudo rm -f /etc/apt/sources.list.d/ros2.list
                          sudo rm -f /etc/apt/sources.list.d/ros-fish.list
                          

                          ros-archive-keyring.gpg:旧版 ROS 2 公钥可能位于 /usr/share/keyrings 或 /etc/apt/keyrings。

                          ros2.list 与 ros-fish.list:之前添加的 ROS 2 软件源文件,删除它们以便后续重新配置。

                          安装工具依赖

                          在下载与安装新版公钥时,需要 curl、gnupg 与 lsb-release 等常用工具。执行以下命令,确保它们已安装在系统中:

                          sudo apt update
                          sudo apt install -y curl gnupg lsb-release
                          

                          curl:用于从 GitHub 拉取新版 ROS 公钥。

                          gnupg:用于将下载的 ASCII 格式公钥转换为二进制 .gpg 格式。

                          lsb-release:用于获取当前 Ubuntu 的发行版代号(lsb_release -cs 输出例如 jammy)。

                          下载并安装新版-gpg-公钥

                          1.创建存放 keyring 的目录

                          推荐将新的二进制公钥存放在 /etc/apt/keyrings/,这样更符合 Debian/Ubuntu 官方最佳实践。

                          sudo mkdir -p /etc/apt/keyrings
                          

                          2.下载 ROS 2 最新 GPG 公钥并去重装(dearmor)

                          从 ROS 官方 GitHub 仓库拉取 ros.key,并使用 gpg --dearmor 将其转换为二进制格式,存放到 /etc/apt/keyrings/ros-archive-keyring.gpg。

                          curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key \
                            | sudo gpg --dearmor -o /etc/apt/keyrings/ros-archive-keyring.gpg
                          

                          添加-ros-2-软件源

                          确认 Ubuntu 版本与 ROS 2 发行版对应关系

                          对于 ROS 2 Humble Hawksbill, 官方仅在 Ubuntu 22.04 Jammy 发布预编译包。

                          在其他 Ubuntu 版本(如 20.04 Focal、18.04 Bionic)上也能编译安装,但若需要通过 apt install,必须确保系统为 22.04 Jammy。

                          编写并添加 ros2.list 软件源

                          在添加软件源时,需指定 signed-by=/etc/apt/keyrings/ros-archive-keyring.gpg,以便 apt 校验新版公钥。

                          echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/ros-archive-keyring.gpg] \
                            http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" \
                            | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
                          

                          arch=amd64:如果您的机器是 x86_64 架构,请保持该值,如果是 英伟达jetson/树莓派/RK系列,请自行改成 ARM 架构对应的关键字。

                          $(lsb_release -cs):在 Ubuntu 22.04 上会输出 jammy。如果使用其他版本,请手动替换为对应代号。

                          /dev/null:隐藏 tee 命令的标准输出,仅将行写入 ros2.list 文件。

                          更新源并验证

                          1.完成上述文件操作后,执行以下命令刷新 APT 缓存并验证是否成功:

                          sudo apt update
                          

                          如果一切正常,不会再看到 NO_PUBKEY F42ED6FBAB17C654 或 “没有数字签名” 的报错。

                          更新完成后,即可通过 apt install ros-humble-<package> 安装所需 ROS 2 Humble 软件包(如 ros-humble-desktop、ros-humble-navigation2、ros-humble-ros2-control 等)。

                          常见问题与排查

                          仍然出现 NO_PUBKEY 或 “无法验证签名”

                          请确认 /etc/apt/keyrings/ros-archive-keyring.gpg 文件存在且大小大于 0 字节。

                          检查 /etc/apt/sources.list.d/ros2.list 中的 signed-by 路径与实际文件路径一致,且文件名无拼写错误。

                          1.使用命令查看系统中是否还存在旧的 ROS 公钥:

                          sudo apt-key list
                          

                          2.如果仍能看到指纹为 F42ED6FBAB17C654(或其他 ROS 相关指纹),请执行:

                          sudo apt-key del F42ED6FBAB17C654
                          

                          1.网络连接或镜像问题

                          确保能 ping packages.ros.org,并且没有被防火墙、代理或 DNS 污染阻挡。

                          如果在国内网络环境下速度慢或拉不到包,可以尝试使用国内镜像(如清华、阿里、华为等),但同样要确保先导入新版公钥,否则镜像的 InRelease 文件依然会因签名不匹配而报错。

                          例如,切换到清华镜像源的方法(仅示例,需先导入正版公钥):

                          echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/ros-archive-keyring.gpg] \
                            https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu $(lsb_release -cs) main" \
                            | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
                          

                          2.Ubuntu 版本与 ROS 2 发行版不匹配

                          请务必确认系统为 Ubuntu 22.04 Jammy,否则 apt install ros-humble-* 软件包并不存在。

                          若您使用的是 Ubuntu 20.04 Focal,可以改用 ROS 2 Foxy(对应 Focal);若是 Ubuntu 18.04 Bionic,则使用 ROS 2 Dashing/Bouncy(Bionic)。

                          如果要在不支持的 Ubuntu 版本上使用 Humble,只能通过从源代码编译,无法用 apt 直接安装。

                          3.目录与权限检查

                          /etc/apt/keyrings/ 目录权限应允许 root 用户读写。

                          /etc/apt/sources.list.d/ros2.list 文件应能被 apt 读取,可执行 ls -l 检查权限。

                          如果上述目录或文件权限异常,可能导致 apt update 时无法读取或验证。

                          2 1 条回复 最后回复 回复 引用 0
                          • 2
                            2383283320 @firefirefox
                            最后由 编辑

                            @firefirefox 请问我用的ros1,也是出现了校验数字签名时出错,可以用这个方法解决吗,我的系统是ubuntu20.04,哪一条指令是需要修改成自己的ubuntu版本或者ros1的对应版本呢?

                            1 条回复 最后回复 回复 引用 0
                            • 第一个帖子
                              最后一个帖子
                            皖ICP备16016415号-7
                            Powered by NodeBB | 鱼香ROS