3、Ubuntu系统安装与初始化:Ubuntu 22.04 LTS安装、系统更新与源配置、中文环境与输入法、基础开发工具安装
好,咱们正式开始动手了。这一章,我会带你从零装一个干净的 Ubuntu 22.04 LTS。别小看这一步,很多坑其实都埋在这里。我见过不少同事,系统装完就开始搞开发,结果后面各种依赖冲突、源下载慢、中文乱码……折腾半天才发现是初始化没做好。
嗯,咱们一步步来,稳一点。
3.1 为什么选 Ubuntu 22.04 LTS?
你可能要问:Ubuntu 版本那么多,为什么偏偏选 22.04?
我个人习惯是:能用 LTS 就不用非 LTS。22.04 是 2022 年 4 月发布的长期支持版,官方支持到 2027 年。车载 Linux 开发周期长,你想想看,一个项目从立项到量产,少说两三年。如果选了个非 LTS 版本,中途系统停止维护了,那才叫头疼。
另外,22.04 的软件包版本比较新,对 GCC、Python、CMake 这些工具的支持也到位。我在项目中遇到过,有些老版本 Ubuntu 装不了新版的交叉编译工具链,最后还得手动编译,浪费时间。
一句话总结:Ubuntu 22.04 LTS 是目前车载 Linux 开发最稳妥的选择。既稳定,又不过时。
3.2 安装 Ubuntu 22.04 LTS
安装过程其实不复杂,但有几个细节要注意。我直接说重点。
3.2.1 下载镜像
去 Ubuntu 官网下载桌面版 ISO 镜像。别下错了,是 ubuntu-22.04.3-desktop-amd64.iso 这种名字。服务器版没有图形界面,咱们做开发还是桌面版方便。
3.2.2 制作启动盘
推荐用 Rufus(Windows)或者 dd 命令(Linux/Mac)。我个人习惯用 Rufus,简单粗暴。注意一点:写入模式选「DD 模式」,别选「ISO 模式」。我刚开始用 Rufus 时没注意这个,结果启动盘死活引导不了,折腾了半小时才发现是模式选错了。
小技巧:如果你在 Linux 下用 dd,命令是这样的:
sudo dd if=ubuntu-22.04.3-desktop-amd64.iso of=/dev/sdX bs=4M status=progress
注意 /dev/sdX 是你的 U 盘设备名,别写错了,否则数据全没。
3.2.3 安装过程
启动后选择「Install Ubuntu」,语言选 English。为什么?因为终端里的错误信息大多是英文,中文翻译有时会误导你。后面咱们再配中文输入法,不影响日常使用。
磁盘分区这里,我建议:
- /boot:1GB,够用
- /:50-100GB,系统根目录
- /home:剩余空间,你的代码、文档都放这里
- swap:如果你的内存小于 8GB,建议分 4GB swap;内存够大(16GB+)可以不分
嗯,这里要注意:千万别选「Erase disk and install Ubuntu」,除非你确定这台机器上没有重要数据。我有个同事就是手快点了这个,结果整个硬盘被清空……
3.3 系统更新与源配置
装完系统第一件事,不是装软件,而是换源。为什么?因为 Ubuntu 默认的源服务器在国外,下载速度慢得让人抓狂。你想想看,一个 apt update 等五分钟,谁受得了?
3.3.1 更换国内源
我一般用清华源或者阿里源。这里以清华源为例:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
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
换完之后,你会发现下载速度从几十 KB/s 飙到几 MB/s。爽。
注意:如果你用的是阿里源,把 mirrors.tuna.tsinghua.edu.cn 换成 mirrors.aliyun.com 就行。别混着用,容易出问题。
3.3.2 系统更新
源配好之后,执行系统更新:
sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y
dist-upgrade 会处理依赖关系变化,有时候内核更新也需要它。我建议每次升级都跑一下,省得后面出幺蛾子。
3.4 中文环境与输入法
虽然系统语言我选了英文,但中文输入法还是要配的。毕竟写文档、查资料,免不了要打中文。
3.4.1 安装中文语言包
sudo apt install language-pack-zh-hans -y
然后设置 locale:
sudo update-locale LANG=zh_CN.UTF-8
重启之后,系统界面就会变成中文。如果你不想重启,可以执行 source /etc/default/locale 让当前会话生效。
3.4.2 安装输入法
我推荐用 fcitx5,比 ibus 好用,词库也丰富。安装命令:
sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-frontend-gtk3 fcitx5-frontend-qt5 -y
装完之后,在「设置」->「区域与语言」->「输入法」里,把 fcitx5 设为默认。然后添加「拼音」输入法。搞定。
个人经验:如果你用搜狗输入法,也可以装。但 fcitx5 已经够用了,而且更轻量。我在嵌入式开发板上也试过 fcitx5,跑得很流畅。
3.5 基础开发工具安装
好了,系统配好了,中文也能打了。接下来装开发工具。这些是车载 Linux 开发必备的,缺一不可。
3.5.1 编译工具链
sudo apt install build-essential gcc g++ gdb make cmake -y
build-essential 是一个元包,包含了 GCC、G++、make 等核心工具。我建议再装个 gdb,调试的时候很有用。
3.5.2 版本控制
sudo apt install git git-lfs -y
Git 不用多说,必备。Git LFS 是用来管理大文件的,比如二进制固件、测试数据。我在项目中遇到过,有人把 100MB 的固件直接 push 到 Git 仓库,结果仓库体积爆炸……后来强制上了 Git LFS 才解决。
3.5.3 网络工具
sudo apt install curl wget net-tools openssh-server -y
这些工具在调试网络、下载文件、远程连接时都会用到。尤其是 openssh-server,装完之后你就可以用 SSH 远程登录这台机器了。我习惯在开发机上装好 SSH,这样在工位上就能连过去,不用每次都跑机房。
3.5.4 其他常用工具
| 工具 | 用途 | 安装命令 |
|---|---|---|
| vim / nano | 文本编辑器 | sudo apt install vim nano -y |
| tree | 查看目录结构 | sudo apt install tree -y |
| htop | 系统资源监控 | sudo apt install htop -y |
| screen / tmux | 终端复用器 | sudo apt install screen tmux -y |
| python3-pip | Python 包管理 | sudo apt install python3-pip -y |
这些工具看着不起眼,但用起来真香。比如 htop,我每次怀疑系统卡顿,第一件事就是跑 htop 看看 CPU 和内存占用。还有 tmux,在远程开发时特别有用,可以保持会话不断开。
3.6 验证安装
装完之后,建议跑几个命令验证一下:
gcc --version
g++ --version
cmake --version
git --version
python3 --version
如果都能正常输出版本号,说明环境没问题。嗯,到这里,你的 Ubuntu 开发环境就搭好了。
总结一下:这一章我们做了四件事——装系统、换源、配中文、装工具。每一步都很基础,但每一步都重要。我曾经见过有人跳过换源这一步,结果下载一个 200MB 的包等了一个小时……所以,别偷懒,按步骤来。
下一章,咱们开始配置嵌入式交叉编译环境。那才是车载 Linux 开发的重头戏。