之前各版本都留了一些小bug,这个课程已经彻底淘汰了,也没有必要留bug了。
这段Shell脚本用于更新ROS(Robot Operating System)的软件源配置。脚本首先输出开始信息,接着将一个PGP公钥块内容追加到用户主目录下的
ros.asc
文件中,并使用apt-key
命令将该公钥添加到系统的APT密钥环中。随后,脚本更新软件包列表,并输出完成信息。如果过程中无报错,则表示配置成功。脚本还提供了后续建议,如查看可升级的软件包、执行升级操作等。需要注意的是,公钥内容可能不完整,且现代Ubuntu系统推荐使用gpg
命令替代已弃用的apt-key
。如果这是ROS官方提供的脚本,建议从官方文档获取最新版本。
一键配置:
bash
echo "蓝桥云课ROS更新开启:Upgrade Mission Begins."
echo "-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
mQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc
VFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro
u5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4
K/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG
aIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+
TwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz
pwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p
V5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT
hM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/
/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV
okdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB
tCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA
PgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur
F8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB
RQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z
PyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa
DaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC
Qucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR
fKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0
quoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1
1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6
qjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA
TUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo
22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6
WE+F5FaIKwb72PL4rLi4
=i0tj
-----END PGP PUBLIC KEY BLOCK-----" >> ~/ros.asc
sudo apt-key add ~/ros.asc
sudo apt update
echo "Upgrade Mission Completed."
echo "如上过程无任何报错信息配置完成,如有报错,重新执行。"
竖版云仿真

复制到终端:

无任何报错信息。

支持任何路径打开终端,并更新配置。

从你提供的输出信息来看,ROS更新脚本执行成功,没有出现错误信息。以下是关键点的分析:
-
成功信息 :
- "OK" 表示公钥添加成功
- 显示了多个软件源(包括阿里云镜像和ROS官方源)都成功连接
- 最后显示 "Upgrade Mission Completed" 表示整个过程完成
-
系统状态 :
- 系统检测到有491个软件包可以升级
- 这是正常的,表明你的系统有可用的更新
-
后续建议 :
-
如果你想查看具体有哪些软件包可以升级,可以运行:
bash
|---|-------------------------|
| |apt list --upgradable
| -
要实际执行升级,可以运行:
bash
|---|--------------------|
| |sudo apt upgrade
|或者一次性完成更新和升级:
bash
|---|------------------------------------------|
| |sudo apt update && sudo apt upgrade -y
|
-
-
注意事项 :
- 升级前建议备份重要数据
- 如果是生产环境,建议先在测试环境验证升级
- 确保你有足够的磁盘空间完成升级
这个输出表明你的ROS环境已经成功更新配置,系统软件源工作正常,可以安全地进行后续的软件包升级操作。

只有2774,远少于noetic的3K+功能包。
这段代码是一个用于更新ROS(Robot Operating System)软件源的Shell脚本。我来解释一下它的功能:
-
首先输出一条开始信息:
bash
|---|----------------------------------------------|
| |echo "蓝桥云课ROS更新开启:Upgrade Mission Begins."
| -
然后将一个PGP公钥块内容追加到用户主目录下的
ros.asc
文件中:bash
|---|----------------------------------------------------|
| |echo "-----BEGIN PGP PUBLIC KEY BLOCK-----
|
| |...(公钥内容)...
|
| |=i0tj
|
| |-----END PGP PUBLIC KEY BLOCK-----" >> ~/ros.asc
| -
使用
apt-key
命令将这个公钥添加到系统的APT密钥环中:bash
|---|------------------------------|
| |sudo apt-key add ~/ros.asc
| -
更新软件包列表:
bash
|---|-------------------|
| |sudo apt update
| -
最后输出完成信息:
bash
|---|-------------------------------------|
| |echo "Upgrade Mission Completed."
|
| |echo "如上过程无任何报错信息配置完成,如有报错,重新执行。"
|
注意事项:
-
这个脚本看起来是为中文用户准备的(从"蓝桥云课"和中文提示可以看出)
-
公钥内容似乎不完整 - 通常PGP公钥块应该以
-----END PGP PUBLIC KEY BLOCK-----
结尾,但这里后面还有一个=i0tj
,这可能是错误的 -
如果运行出错,建议:
- 检查公钥内容是否完整正确
- 确保有sudo权限
- 可能需要先删除旧的
~/ros.asc
文件再运行
-
现代Ubuntu系统(20.04及以后)推荐使用
gpg
命令替代已弃用的apt-key
,可以改为:bash
|---|-------------------------------------------------|
| |sudo gpg --dearmor ~/ros.asc
|
| |sudo mv ~/ros.asc.gpg /etc/apt/trusted.gpg.d/
| -
如果这是ROS官方提供的脚本,建议从官方文档获取最新版本,因为软件源配置可能会随时间变化
以下是针对ROS Noetic的一键配置详细建议和说明,涵盖安装、环境配置及开发工具设置,适合Ubuntu 20.04系统:
一、一键配置方案(推荐使用鱼香ROS工具)
-
工具来源
使用鱼香ROS社区提供的开源一键安装工具,支持ROS/ROS2、VSCode等开发环境快速部署。
- 官网地址:fishros.com
- GitHub仓库:fishros/install
-
安装命令
在终端执行以下命令即可自动完成配置:
bash
|---|-----------------------------------------------------------|
| |wget http://fishros.com/install -O fishros && . fishros
| -
功能覆盖
- 系统源更换:自动选择国内镜像源(如阿里云、清华源)
- ROS安装:支持ROS Noetic/ROS2一键安装
- 开发工具:集成VSCode、GitHub客户端等常用工具
- 依赖管理 :自动初始化
rosdep
并更新依赖源
二、手动配置步骤(备选方案)
若需手动配置,可按以下步骤操作:
1. 系统准备
-
更新软件包列表
bash
|---|------------------------------------------|
| |sudo apt update && sudo apt upgrade -y
| -
安装必要依赖
bash
|---|-----------------------------------------------|
| |sudo apt install curl gnupg2 lsb-release -y
|
2. 添加ROS Noetic软件源
-
使用官方源
bash
|---|--------------------------------------------------------------------------------------------------------------------------------|
| |sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
| -
使用国内镜像源(推荐)
例如清华大学源:bash
|---|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| |sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
|
3. 添加GPG密钥
bash
|---|--------------------------------------------------------------------------------------------------------------------|
| | sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
|
4. 安装ROS Noetic
-
桌面完整版(推荐)
包含RViz、RQT、Gazebo等工具:bash
|---|-----------------------------------------------|
| |sudo apt install ros-noetic-desktop-full -y
| -
基础版
仅包含核心功能包:bash
|---|-------------------------------------------|
| |sudo apt install ros-noetic-ros-base -y
|
5. 初始化环境变量
bash
|---|---------------------------------------------------------|
| | echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
|
| | source ~/.bashrc
|
6. 安装依赖管理工具
bash
|---|---------------------------------------------------------------------------------------------------------------------|
| | sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential -y
|
| | sudo rosdep init
|
| | rosdep update
|
-
若
rosdep init
失败 ,可使用国内镜像替代:bash
|---|-----------------------------|
| |sudo pip3 install rosdepc
|
| |sudo rosdepc init
|
| |rosdepc update
|
7. 验证安装
bash
|---|-----------|
| | roscore
|
-
若提示
Command 'roscore' not found
,需安装roslaunch
:bash
|---|--------------------------------------------|
| |sudo apt install ros-noetic-roslaunch -y
|
三、开发环境配置建议
-
使用VSCode
- 安装ROS插件和
catkin-tools
插件 - 配置
tasks.json
文件,支持快捷键编译(Ctrl+Shift+B
)
- 安装ROS插件和
-
创建工作空间
bash
|---|-----------------------------------------------------------|
| |mkdir -p ~/catkin_ws/src
|
| |cd ~/catkin_ws
|
| |catkin_make
|
| |echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
|
| |source ~/.bashrc
| -
测试安装
-
启动ROS核心:
bash
|---|-----------|
| |roscore
| -
运行小海龟仿真器:
bash
|---|--------------------------------------|
| |rosrun turtlesim turtlesim_node
|
| |rosrun turtlesim turtle_teleop_key
|
-
四、常见问题解决
-
rosdep update
超时-
使用国内镜像工具
rosdepc
:bash
|---|-----------------------------|
| |sudo pip3 install rosdepc
|
| |sudo rosdepc init
|
| |rosdepc update
|
-
-
依赖包缺失
-
安装特定功能包:
bash
|---|-----------------------------------------------|
| |sudo apt install ros-noetic-PACKAGE_NAME -y
|
-
-
网络问题
- 确保系统已更换为国内镜像源(如阿里云、清华源)
五、卸载ROS(如需)
bash
|---|----------------------------------------|
| | sudo apt remove --purge ros-noetic-*
|
| | sudo apt autoremove -y
|
通过以上步骤,可快速完成ROS Noetic的配置并开始开发。推荐优先使用鱼香ROS工具简化流程,同时掌握手动配置方法以应对特殊需求。