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 universe3.添加 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)
