3 · Ubuntu系统安装

说实话,搭建SLAM环境的第一步,就是搞定操作系统。我见过太多新手在Windows上硬磕,最后被各种依赖折磨到崩溃。Ubuntu 20.04 LTS 是我个人最推荐的版本——稳定、包多、社区活跃。这一章咱们就把系统装好,顺便把源换了、基础配置拉满。

Ubuntu 20.04 安装 双系统 / 虚拟机 分区建议 换源 & 基础配置 💡 三种方式任选,推荐双系统获得完整性能 分区 /boot 1G · 根目录 40G+ · swap 按需

双系统还是虚拟机?

我个人习惯是:主力机用双系统,笔记本或临时测试用虚拟机。为什么?双系统能完全调用硬件资源,SLAM 跑数据集、实时相机驱动都不卡。虚拟机方便快照,搞坏了直接恢复,但 3D 加速和 USB 设备透传偶尔会出幺蛾子。

如果你只有一台电脑,又不想每次重启切换,那 VMware 或 VirtualBox 装 Ubuntu 20.04 也完全够学完这门课。我早期在虚拟机上跑过 ORB-SLAM2,除了实时性差点,编译和调试都没问题。

💡 我的建议: 硬盘空间允许的话,直接上双系统。分配 100GB 给 Ubuntu,之后装 ROS、OpenCV、各种库都宽裕。

Ubuntu 20.04 LTS —— 为什么是它?

你可能想问:22.04 都出了,为啥还推荐 20.04?说白了,ROS Noetic 官方只支持 20.04。虽然 22.04 也能装,但很多二进制包要自己编译,折腾。我去年帮一个团队迁移到 22.04,结果 g2o 和 Ceres 的依赖冲突搞了两天…… 从那以后,我坚持用 20.04 LTS,省心。

而且 20.04 的维护期到 2025 年,足够你学完 SLAM 并跑通项目。记住:稳定比版本新更重要。

分区建议 —— 别让硬盘成为瓶颈

分区这事,我踩过坑。第一次装 Ubuntu 只给了根目录 20GB,装完 ROS 就满了…… 后来重装了一次。下面是我现在用的分区方案,你可以参考:

挂载点大小文件系统说明
/boot1GBext4内核和引导文件,不用太大
/50~80GBext4系统和软件,至少 40GB
/home剩余空间ext4你的代码、数据集、配置文件
swap8~16GBswap内存不够时备用,我一般设 8GB

如果你有固态+机械双硬盘,建议把 / 和 /home 放在固态上,数据集放机械盘。我在项目中遇到过因为硬盘 I/O 导致 bag 回放掉帧的情况,后来把数据集挪到 SSD 就解决了。

⚠️ 注意: 双系统安装时,一定要先装 Windows,再装 Ubuntu。否则 Windows 的引导会覆盖 GRUB,导致进不去 Ubuntu。我曾经手贱试过反序,折腾了一下午引导修复……

换源 —— 让 apt 飞起来

装完系统第一件事:换国内源。默认的官方源在国外,下载速度可能只有几十 KB/s。我一般用清华源或阿里云源,速度能到 10MB/s 以上。操作很简单:

# 备份原 sources.list
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

# 用 sed 一键替换为清华源(Ubuntu 20.04)
sudo sed -i 's/archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list
sudo sed -i 's/security.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list

# 更新
sudo apt update && sudo apt upgrade -y

如果你在校园网或公司内网,也可以试试中科大源、华为源。换完源之后,apt 安装软件基本秒下。

🔧 我个人习惯:换源后再装 vim、git、curl、net-tools 这几个基础工具。后面编译 SLAM 项目会频繁用到。

基础配置 —— 让系统更好用

系统装好、源换完,还有几个小配置能提升幸福感:

  • 安装 SSH 服务:sudo apt install openssh-server,方便远程连接。我经常在台式机上装 Ubuntu,然后从笔记本 SSH 过去编译代码。
  • 关闭系统休眠:SLAM 编译可能跑几个小时,休眠了还得重新来。用 sudo systemctl mask sleep.target suspend.target hibernate.target 关掉。
  • 设置中文输入法:虽然写代码用英文,但查资料时中文输入还是方便。安装 ibus-pinyin 或 fcitx5 都行。
  • 安装显卡驱动:如果你有 NVIDIA 显卡,去“软件和更新”->“附加驱动”里选一个推荐驱动。别自己从官网下 runfile 装,容易把系统搞崩。我吃过这个亏。

嗯,到这里你的 Ubuntu 20.04 已经 ready 了。