第三章:Linux系统准备:Ubuntu Server 22.04 LTS安装、SSH远程连接、基础系统配置
各位同学,欢迎来到第三章。说实话,GPU开发环境搭建这件事,很多人一上来就急着装驱动、配CUDA,结果翻车了才发现——系统层面就没准备好。我见过太多人卡在“黑屏”或者“驱动装不上”这种问题上,其实根子都在系统准备阶段。
这一章,咱们把地基打牢。我会带你走一遍Ubuntu Server 22.04 LTS的安装、SSH远程连接、基础网络和源配置,以及最关键的一步——禁用Nouveau驱动。嗯,这一步踩坑的人最多,我当年也吃过亏。
核心目标: 得到一个干净、稳定、可远程管理的Linux系统,为后续GPU驱动和CUDA安装铺平道路。
3.1 为什么选择Ubuntu Server 22.04 LTS?
你可能要问:桌面版Ubuntu不香吗?为什么非要用Server版?
我个人习惯是:GPU服务器,能不带图形界面就不带。原因有三:
- 资源占用低: 桌面环境会吃掉几百MB内存和不少CPU周期。对于训练任务来说,每一分资源都该用在刀刃上。
- 稳定性更好: 少了图形栈那一堆依赖,系统出问题的概率直线下降。我在项目中遇到过几次因为桌面环境更新导致驱动冲突的情况,后来全换成Server版了。
- 远程管理方便: 服务器通常放在机房或者角落,你不可能天天跑过去接显示器。SSH才是王道。
22.04 LTS是长期支持版本,到2027年才结束支持。对于生产环境来说,这是最稳妥的选择。
3.2 Ubuntu Server 22.04 LTS 安装实战
安装过程其实不复杂,但有几个关键点需要注意。我直接说重点。
3.2.1 下载与制作启动盘
去Ubuntu官网下载Server版ISO文件。别下成Desktop版了,这两个东西长得像,但内核配置不一样。
制作启动盘我用Rufus(Windows)或者dd命令(Linux/Mac)。记得用DD模式写入,别用FAT32格式化的那种方式,否则UEFI启动可能会报错。
3.2.2 安装过程中的关键选项
安装时你会遇到几个选择,我直接给建议:
| 配置项 | 推荐设置 | 说明 |
|---|---|---|
| 语言 | English | 终端里中文支持容易出乱码,用英文最稳 |
| 键盘布局 | English (US) | 除非你用非美式键盘,否则别改 |
| 磁盘分区 | Use Entire Disk + LVM | LVM方便后期扩容,我吃过磁盘空间不足的亏 |
| 软件包选择 | 只选OpenSSH server | 其他都不要,精简至上 |
| 用户名/密码 | 不要用root直接登录 | 创建一个普通用户,后续用sudo提权 |
小技巧: 安装时勾选“Install OpenSSH server”,这样装完就能直接SSH连上去。省得后面再手动装。
3.3 SSH远程连接配置
装完系统,第一件事就是SSH连上去。你想想看,如果每次都要跑到机房接显示器和键盘,那效率得多低。
3.3.1 确认SSH服务状态
安装时如果勾选了OpenSSH,服务默认是启动的。可以用这个命令检查:
sudo systemctl status ssh
如果显示 active (running),那就没问题。如果没装,手动来:
sudo apt update
sudo apt install openssh-server -y
sudo systemctl enable ssh
sudo systemctl start ssh
3.3.2 获取IP地址
在服务器上执行:
ip addr show
找到类似 192.168.x.x 或 10.x.x.x 的地址。记下来,这就是你远程连接的入口。
3.3.3 从客户端连接
在Windows上可以用PowerShell或者Putty,Mac/Linux直接用终端:
ssh your_username@192.168.1.100
第一次连接会提示确认指纹,输入 yes 就行。
注意: 默认SSH允许密码登录,但这不安全。生产环境建议换成密钥认证。后面章节我会专门讲安全加固,这里先能用就行。
3.4 基础系统配置
系统装好了,SSH也能连了。接下来做几件基础配置,让系统更好用。
3.4.1 网络配置
Ubuntu Server 22.04用netplan管理网络。配置文件在 /etc/netplan/ 目录下,通常叫 00-installer-config.yaml。
如果你需要静态IP,可以这样改:
sudo vim /etc/netplan/00-installer-config.yaml
内容示例:
network:
ethernets:
ens33:
dhcp4: no
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 114.114.114.114]
version: 2
改完后应用:
sudo netplan apply
避坑指南: 我曾经在改完netplan后直接断开了SSH连接,结果IP没生效,连不回去了。建议你先在本地终端测试,或者保留一个备用SSH会话。
3.4.2 更换软件源
默认源在国外,下载速度感人。换成国内镜像源会快很多。我个人习惯用清华源或者阿里源。
备份原文件:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
编辑源列表:
sudo vim /etc/apt/sources.list
替换为清华源(22.04 LTS对应jammy):
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
更新:
sudo apt update && sudo apt upgrade -y
3.4.3 防火墙配置
Ubuntu默认装了ufw,但没启用。对于GPU服务器,我们只需要开放SSH端口(22)就够了。
sudo ufw allow 22/tcp
sudo ufw enable
sudo ufw status
你会看到类似这样的输出:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
警告: 启用ufw之前,务必确认SSH端口已经放行。否则你可能会把自己锁在外面。我有个同事就干过这种事,最后只能去机房接显示器解决。
3.5 禁用Nouveau驱动
终于到了本章的重头戏。Nouveau是NVIDIA显卡的开源驱动,但它对GPU计算的支持很差,而且会和NVIDIA官方驱动冲突。说白了,如果你不把它禁掉,后面装CUDA驱动的时候大概率会翻车。
3.5.1 为什么要禁用?
Nouveau驱动会在系统启动时自动加载,占用GPU设备。当你尝试安装NVIDIA官方驱动时,两者会打架,轻则驱动装不上,重则系统直接黑屏。我在项目中遇到过好几次,都是因为忘了这步,折腾了半天才发现是Nouveau在捣乱。
3.5.2 禁用步骤
第一步,创建一个黑名单文件:
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
写入以下内容:
blacklist nouveau
options nouveau modeset=0
第二步,更新initramfs:
sudo update-initramfs -u
第三步,重启系统:
sudo reboot
重启后验证是否生效:
lsmod | grep nouveau
如果没有输出,说明禁用成功。如果还有输出,检查一下黑名单文件是不是写对了。
重要提醒: 禁用Nouveau后,你的显示器可能无法正常显示图形界面。但没关系,我们用的是Server版,本来就没有图形界面。如果你用的是Desktop版,建议先装好NVIDIA驱动再重启。
3.6 本章知识体系总览
下面这张图,把本章的核心逻辑串起来了。你可以把它当作一个检查清单:
3.7 本章小结
嗯,到这里,Linux系统准备阶段就完成了。你有了一个干净的Ubuntu Server 22.04系统,可以通过SSH远程管理,网络和源都配置好了,防火墙也打开了正确的端口。最关键的是,Nouveau驱动已经被禁用,为后续安装NVIDIA官方驱动扫清了障碍。
我个人觉得,系统准备这一步花点时间是值得的。你想想看,如果后面装CUDA时因为Nouveau没禁掉而报错,排查起来反而更费时间。磨刀不误砍柴工,就是这个道理。
下一章,我们会开始安装NVIDIA GPU驱动和CUDA工具包。到时候你就知道,今天禁掉Nouveau这一步有多重要了。