一、错误

在安装ROS的时候出现以下报错,

# 报错
E: 仓库 “http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu focal Release” 没有数字签名。
N: 无法安全地用该源进行更新,所以默认禁用该源。

二、原理

看官网的安装过程说明 。

 其实在1.3步骤(设置密钥)的时候就已经出现问题了,只是当时没有在意,以为是正常现象

 在官网的代码中,最后末尾是add -,其实这里正确的是应该由我们在 “ - ” 处填充内容。

这个问题的本质解决方案就是 add 一系列信息

三、解决方案

1.方法一:传入密钥文件

(1)找到内容

在1.3步骤中提到两个链接,第一个链接需要翻墙,第二个链接如果虚拟机内打不开,可以在外部打开

hkp://keyserver.ubuntu.com:80

http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

打开页面后发现是以下内容。

(2)传入文件 

将整个内容复制进txt文件【别忘了comment和version行】,保存文件名为 “ ros.asc ” ,传入虚拟机。发现文件变成下面这个样式

(3)载入

在文件所在文件夹下打开终端,输入

apt-key add ros.asc

 【【【

这里可能会提示需要root权限,如果设置过root密码则直接进入root模式

su root

 如果没有设置过的话设置一下密码:

# 设置密码
sudo passwd root

# 完成后进入
su root
# 退出root的几种方式
# ctrl+D
# exit
sudo apt update

 】】】

 再次运行

发现就没有报错了

2.方法二:

参考论坛话题Ubuntu-gpg:找不到有效的OpenPGP数据

里面有很多人提供了其他的方法

参考博客:

Ubuntu20.04安装ROS2遇到gpg: 找不到有效的 OpenPGP 数据的问题

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐