1:在终端上面输入指令:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key | sudo gpg --dearmor -o /usr/share/keyrings/ros-archive-keyring.gpg
上面这条指令如果报错:

就先安装url,指令:udo apt update && sudo apt install curl -y
上面这条指令如果报错:

执行指令":sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys F42ED6FBAB17C654出现已导入:1,证明成功,如下图所示

输入:sudo apt update
成功:
安装前,最好检查一下的内存是否足够,建议在10g左右,如没有,可以先扩容后再安装,否则容易安装失败如图:

解决办法:
Ubuntu 根目录磁盘空间不足 完整解决方案
❌ 问题分析
弹窗提示根目录仅剩余 957.8MB 空间,这是 ROS 安装失败的核心原因:
ROS Noetic 桌面完整版安装需要至少 8-10GB 空闲空间,当前剩余空间严重不足,会直接导致安装中断、系统卡死
根目录(/)是 Ubuntu 系统的核心分区,空间不足会引发一系列问题:软件安装失败、系统崩溃、无法写入文件等
✅ 第一步:紧急清理(快速释放空间,优先执行)
- 清理 APT 缓存(最有效,直接释放 1-5GB)
bash
运行
清理已下载的安装包缓存
sudo apt clean
清理过期的依赖包
sudo apt autoremove -y
彻底清理无用包
sudo apt autoclean
- 清理系统日志(快速释放数百 MB - 数 GB)
bash
运行
清理轮转日志
sudo journalctl --vacuum-size=100M
清理/var/log下的旧日志
sudo rm -rf /var/log/.gz /var/log/**/ .gz
- 清理用户缓存(安全无风险)
bash
运行
清理浏览器、软件缓存
rm -rf ~/.cache/*
清理下载目录(如果有大文件)
rm -rf ~/Downloads/*
- 清理旧内核(安全,仅保留当前在用内核)
bash
运行
查看当前在用内核(uname -r的版本不要删)
uname -r
卸载旧内核(替换成你要删除的版本号)
sudo apt remove linux-image-5.15.0-* linux-headers-5.15.0-* -y
✅ 第二步:深度清理(彻底释放空间)
- 定位大文件(找出占用空间的元凶)
bash
运行
查看根目录各文件夹占用
sudo du -sh /* | sort -hr
定位/home下的大文件
du -sh ~/* | sort -hr
定位/var下的大文件(日志、缓存)
sudo du -sh /var/* | sort -hr
根据结果手动删除无用的大文件(如旧安装包、日志、下载的镜像等)
- 清理 Snap/Flatpak(如果安装了,占用空间极大)
bash
运行
清理Snap旧版本
sudo snap set system refresh.retain=2
卸载无用的Snap包
snap list
sudo snap remove <包名>
✅ 第三步:ROS 安装空间优化(避免再次爆满)
- 选择轻量版 ROS 安装(节省 50% 空间)
如果空间仍然紧张,不要安装desktop-full,改用轻量版:
bash
运行
基础版(仅核心组件,约2GB)
sudo apt install ros-noetic-ros-base -y
桌面版(含rviz等常用工具,约5GB)
sudo apt install ros-noetic-desktop -y
完整版(含gazebo等仿真工具,约10GB)
sudo apt install ros-noetic-desktop-full -y
- 迁移 ROS 工作空间到其他分区
如果根目录空间长期不足,将 ROS 工作空间迁移到 /home 分区(通常空间更大):
bash
运行
1. 停止ROS
killall -9 roscore
killall -9 rosmaster
2. 迁移工作空间
mv ~/catkin_ws /home/yourname/catkin_ws
3. 建立软链接(不影响原有路径)
ln -s /home/yourname/catkin_ws ~/catkin_ws
✅ 第四步:长期解决方案(从根本解决空间问题)
方案 1:扩容根目录(推荐,一劳永逸)
如果是虚拟机(从dandan-vpc看是 VMware 虚拟机),直接扩容虚拟机磁盘:
VMware 中:虚拟机设置 → 硬盘 → 扩展 → 增大容量(如从 20GB 扩到 60GB)
Ubuntu 中用gparted工具扩容根分区,将未分配空间合并到/分区
方案 2:挂载额外磁盘
如果是物理机,挂载一块新硬盘到/opt目录(ROS 默认安装在/opt/ros):
bash
运行
1. 格式化新磁盘(替换/dev/sdb1为你的磁盘)
sudo mkfs.ext4 /dev/sdb1
2. 挂载到/opt
sudo mount /dev/sdb1 /opt
3. 开机自动挂载
echo '/dev/sdb1 /opt ext4 defaults 0 0' | sudo tee -a /etc/fstab
📌 关键提醒
先清理再安装:必须先执行清理命令,确保根目录剩余空间≥10GB,再执行 ROS 安装,否则会安装失败
不要忽略空间警告:根目录空间不足会导致系统不稳定,甚至无法启动
虚拟机用户:优先扩容虚拟机磁盘,这是最彻底的解决方案
清理前备份:重要文件先备份,避免误删
安装ros指令:sudo apt install ros-noetic-desktop-full -y
完成后输入ros tab会出现ros相关内容,我的

配置环境
source /opt/ros/noetic/setup.bash
roscore
看到 started core service [/rosout],就说明 ROS 完全正常,环境变量也生效了!
sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool build-essential -y
到这里ros全部安装完毕
再次使用ctrl+alt+c再打开一个终端界面
输入:rosrun turtlesim turtlesim_nod

再次使用ctrl+alt+c再打开一个终端界面,启动键盘控制
输入:rosrun turtlesim turtle_teleop_key
然后小乌龟就可以跑啦
