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

ubuntu 系统下 将 ROS2 apt 存储库添加到系统,用apt授权我们的GPG 密钥

在 Ubuntu 系统下将 ROS2 的 apt 存储库添加到系统中并授权 GPG 密钥,是安装 ROS2 的关键第一步。下面我为你梳理了详细步骤和注意事项。

添加存储库与授权密钥

1.确保语言环境支持UTF-8:首先,请确保你的系统语言环境支持 UTF-8。你可以通过以下命令检查和设置

locale  # 检查当前设置
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

对于大多数已经在使用图形化界面的 Ubuntu 系统,这一步通常可以跳过,但在最小化系统(如 Docker 容器)中尤为重要

2.启用 Universe 存储库:ROS2 的软件包位于 Ubuntu 的 universe存储库中,你需要先确保它已被启用

sudo apt install software-properties-common
sudo add-apt-repository universe

3.添加 ROS2 的 GPG 密钥:此密钥用于验证从存储库下载的软件包的完整性。使用以下命令添加官方密钥

sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

注意:由于网络原因,执行上述 curl命令时可能会遇到连接失败或域名无法解析的错误。如果遇到问题,可以尝试以下方法:

方法一(修改 hosts):使用 nslookup查询 raw.githubusercontent.com的当前 IP 地址,然后将其添加到 /etc/hosts文件中。

方法二(手动下载密钥):如果命令始终失败,通过浏览器(或能正常访问的机器)手动下载密钥文件(https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc),然后将其复制到系统中,并使用 sudo apt-key add ros.asc命令添加。或者,直接将下载的文件移动到目标位置:sudo mv ros.asc /usr/share/keyrings/ros-archive-keyring.gpg

4.将 ROS2 存储库添加到源列表:密钥添加成功后,就可以将 ROS2 的存储库地址添加到系统的软件源列表中了

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

这个命令会自动检测你的系统架构(如 amd64, arm64)和 Ubuntu 版本代号(如 Jammy for 22.04),并生成正确的存储库配置

后续步骤与验证

完成以上步骤后,建议更新软件包列表以确保系统识别了新添加的 ROS2 存储库

sudo apt update

如果 apt update过程没有报告 GPG 错误,通常意味着存储库已成功添加。之后,你就可以安装 ROS2 包了,例如桌面完整版 ros-<distro>-desktop(将 <distro>替换为你所需的 ROS2 发行版,如 humble

http://www.dtcms.com/a/572943.html

相关文章:

  • 网站域名注册基本流程微网站移交
  • 线性代数 - 正交矩阵
  • Flink DataStream × Table API 融合双向转换、变更流、批流一体与执行模型
  • 汽车配件 AI 系统:重构汽车配件管理与多语言内容生成新范式
  • 使用Requests和加密技术实现淘宝药品信息爬取
  • 分享|智能决策,精准增长:企业数据挖掘关键策略与应用全景
  • (Azure)PGSQL和redis 连通性测试 --code 备份
  • 重构增长:生成式AI如何将CRM打造为企业的销售大脑
  • 唯品会一家做特卖的网站 分析陕西印象信息技术有限公司
  • Scala与Spark算子:大数据处理的黄金搭档
  • mac Android Studio配置adb环境(使用adb报错 adb: command not found)
  • C语言应用实例:学生管理系统1(指针、结构体综合应用,动态内存分配)
  • 找制作网站公司网页制作教程 赵丰年 pdf
  • ffplay 嵌入
  • TDengine 产品组件 taosX
  • 链表相关的算法题(2)
  • 10月谷歌新政 | 涉及真金游戏、约会社交、个人贷款、医疗健康等类别App
  • python实现语音转文本STT
  • 十大免费建站app做网站公司不给源码
  • 07.docker介绍与常用命令
  • 【Docker下部署高可用】StarRocks 存算一体架构高可用部署要点
  • 小型工厂怎么找外贸客户?
  • 【Android】正式打包发布
  • 寻找做网站的合作伙伴北京北京网址建设
  • PyTorch2 Python深度学习 - 模型保存与加载
  • 南京html5网站建设今天发生的重大新闻5条
  • 台州网站排名优化公司中国石油第一建设公司官网
  • JS原型和原型链
  • Rust 赋能图片批量处理:从 ImageKit 实现到行业前沿优化实践
  • ceph osd down排查