Ubuntu22.04通过清华镜像源离线部署ROS2 Humble

📅 2026/7/14 8:54:26
Ubuntu22.04通过清华镜像源离线部署ROS2 Humble
1. 离线部署ROS2 Humble的必要性与场景在工业现场、保密实验室或网络受限环境中离线部署ROS2 Humble成为刚需。我曾在一个无外网的机器人研发项目中通过清华镜像源成功搭建了完整的ROS2环境。这种方案不仅能规避网络波动带来的安装失败风险还能实现多台设备的批量快速部署。离线部署的核心思路分为三步首先在有网络的环境中下载所有依赖包然后将其打包转移到内网机器最后配置本地软件源进行安装。整个过程就像搬家前先打包行李到新家再拆箱整理。清华镜像源作为国内最稳定的ROS2软件仓库下载速度可达官方源的10倍以上。2. 环境准备与依赖包下载2.1 配置清华Ubuntu镜像源在有网络的Ubuntu 22.04机器上执行以下操作sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo sed -i shttp://.*archive.ubuntu.comhttps://mirrors.tuna.tsinghua.edu.cng /etc/apt/sources.list sudo sed -i shttp://.*security.ubuntu.comhttps://mirrors.tuna.tsinghua.edu.cng /etc/apt/sources.list sudo apt update这个操作就像把超市地址从国外改到本地后续所有Ubuntu基础软件的下载都会走清华源。我建议先升级系统到最新状态sudo apt upgrade -y2.2 下载ROS2 Humble完整依赖安装下载工具和ROS2 GPG密钥sudo apt install -y curl gnupg2 sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg添加清华ROS2源echo deb [arch$(dpkg --print-architecture) signed-by/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu jammy main | sudo tee /etc/apt/sources.list.d/ros2.list /dev/null使用apt-offline工具打包所有依赖实测需要约2GB空间sudo apt install -y apt-offline mkdir ~/ros2_offline apt-offline set ~/ros2_offline/ros2.sig --install-packages ros-humble-desktop这个步骤会生成一个签名文件记录所有需要的软件包信息。接着在有网环境下载apt-offline get ~/ros2_offline/ros2.sig --bundle ~/ros2_offline/ros2.zip3. 创建本地软件源仓库3.1 搭建简易APT仓库将下载的离线包转移到内网机器后执行sudo apt install -y apache2 sudo mkdir -p /var/www/html/ros2 unzip ros2.zip -d /var/www/html/ros2这相当于在内网搭建了个软件超市。配置本地源echo deb [trustedyes] http://localhost/ros2 ./ | sudo tee /etc/apt/sources.list.d/ros2-offline.list sudo apt update3.2 验证本地源有效性检查是否能识别到软件包apt-cache policy ros-humble-desktop正常应显示类似ros-humble-desktop: 已安装(无) 候选版本1.0.0-1focal.20220209.0123454. 离线安装与配置4.1 核心组件安装执行完整安装sudo apt install -y ros-humble-desktop安装开发工具可选sudo apt install -y python3-colcon-common-extensions ros-dev-tools4.2 环境变量配置将以下内容添加到~/.bashrcecho source /opt/ros/humble/setup.bash ~/.bashrc source ~/.bashrc验证安装ros2 run demo_nodes_cpp talker新开终端执行ros2 run demo_nodes_py listener看到消息交互即表示成功。5. 常见问题解决方案5.1 依赖缺失问题若出现依赖错误可尝试sudo apt --fix-broken install rosdep update5.2 空间不足处理通过以下命令清理缓存安装完成后执行sudo apt clean sudo rm -rf /var/lib/apt/lists/*对于嵌入式设备可改用最小化安装sudo apt install ros-humble-ros-base6. 批量部署技巧对于多台设备建议将/var/www/html/ros2目录打包成ISOmkisofs -r -o ros2-offline.iso /var/www/html/ros2在其他机器上挂载后只需修改sources.list指向本地路径即可echo deb [trustedyes] file:///mnt/ros2 ./ | sudo tee /etc/apt/sources.list.d/ros2-offline.list