在Ubuntu20.04上安装ROS

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 系统的核心分区,空间不足会引发一系列问题:软件安装失败、系统崩溃、无法写入文件等

✅ 第一步:紧急清理(快速释放空间,优先执行)

  1. 清理 APT 缓存(最有效,直接释放 1-5GB)
    bash
    运行

清理已下载的安装包缓存

sudo apt clean

清理过期的依赖包

sudo apt autoremove -y

彻底清理无用包

sudo apt autoclean

  1. 清理系统日志(快速释放数百 MB - 数 GB)

bash

运行

清理轮转日志

sudo journalctl --vacuum-size=100M

清理/var/log下的旧日志

sudo rm -rf /var/log/.gz /var/log/**/ .gz

  1. 清理用户缓存(安全无风险)

bash

运行

清理浏览器、软件缓存

rm -rf ~/.cache/*

清理下载目录(如果有大文件)

rm -rf ~/Downloads/*

  1. 清理旧内核(安全,仅保留当前在用内核)

bash

运行

查看当前在用内核(uname -r的版本不要删)

uname -r

卸载旧内核(替换成你要删除的版本号)

sudo apt remove linux-image-5.15.0-* linux-headers-5.15.0-* -y

✅ 第二步:深度清理(彻底释放空间)

  1. 定位大文件(找出占用空间的元凶)
    bash
    运行

查看根目录各文件夹占用

sudo du -sh /* | sort -hr

定位/home下的大文件

du -sh ~/* | sort -hr

定位/var下的大文件(日志、缓存)

sudo du -sh /var/* | sort -hr

根据结果手动删除无用的大文件(如旧安装包、日志、下载的镜像等)

  1. 清理 Snap/Flatpak(如果安装了,占用空间极大)

bash

运行

清理Snap旧版本

sudo snap set system refresh.retain=2

卸载无用的Snap包

snap list

sudo snap remove <包名>

✅ 第三步:ROS 安装空间优化(避免再次爆满)

  1. 选择轻量版 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

  1. 迁移 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

然后小乌龟就可以跑啦

相关推荐
楼田莉子2 小时前
同步/异步日志系统:工具类以及日志的简单模块
linux·服务器·数据结构·c++
corpse20102 小时前
VirtualBox 安装ubuntu-25 ,配置SSH工具登录
linux·ubuntu·ssh
她说彩礼65万2 小时前
C语言 整形提升及算数转换
linux·服务器·c语言
RenPenry2 小时前
2026 在Linux上搭建CS2插件服务器
linux·运维·服务器·cs2·debian13
Deitymoon3 小时前
linux——TCP编程
linux·服务器
云栖梦泽3 小时前
Linux内核与驱动:9.驱动中的中断机制
linux
格林威3 小时前
Windows 实时性补丁(RTX / WSL2)
linux·运维·人工智能·windows·数码相机·计算机视觉·工业相机
xuxie993 小时前
N22 key驱动
linux·运维·服务器
c++逐梦人3 小时前
Linux多线程
linux·服务器