📌  相关文章
📜  W:GPG 错误:http:packages.ros.org ros ubuntu xenial InRelease:以下签名无效:KEYEXPIRED 1622248854 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:48:36.791000             🧑  作者: Mango

问题

在使用GPG签名检查ROS软件包时,出现以下错误:

W: GPG error: http://packages.ros.org/ros/ubuntu xenial InRelease: The following signatures were invalid: KEYEXPIRED 1622248854

原因

这个错误通常是由ROS软件包的GPG签名过期引起的。GPG签名是数字签名,用于确保软件包的完整性和真实性。由于ROS软件包的GPG签名已过期,因此无法验证软件包的真实性,因此您将收到此错误。

解决方案

要解决这个问题,可以使用以下方法之一:

方法1:导入新的ROS软件包GPG密钥

可以从ROS软件包的官方网站下载最新的GPG密钥,并将其导入系统中。请按照以下步骤操作:

  1. 下载最新的ROS软件包GPG密钥:
$ wget https://packages.ros.org/ros.asc
  1. 将下载的GPG密钥导入系统中:
$ sudo apt-key add ros.asc
  1. 更新软件包列表并重新安装ROS软件包:
$ sudo apt-get update
$ sudo apt-get install ros-<distro>-<package-name>

请确保用实际的发行版和软件包名称替换<distro><package-name>

方法2:禁止ROS软件包的GPG检查

如果不想导入最新的ROS软件包GPG密钥,也可以禁用GPG签名检查。但是,禁用此检查会降低软件包的安全性。请谨慎操作。要禁用GPG签名检查,请按照以下步骤操作:

  1. 打开ROS软件包的APT源列表文件:
$ sudo nano /etc/apt/sources.list.d/ros-latest.list
  1. 在文件的开头添加以下行:
# disable package signature verification
Acquire::AllowInsecureRepositories "true";
  1. 保存并关闭文件。

  2. 更新软件包列表并重新安装ROS软件包:

$ sudo apt-get update
$ sudo apt-get install ros-<distro>-<package-name>

请确保用实际的发行版和软件包名称替换<distro><package-name>