第三章: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.x10.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 本章知识体系总览

下面这张图,把本章的核心逻辑串起来了。你可以把它当作一个检查清单:

第三章:Linux系统准备核心流程 安装Ubuntu Server 22.04 LTS SSH远程连接 确认服务 & 获取IP 基础系统配置 网络/源/防火墙 禁用Nouveau 关键步骤 ① 安装要点 • 选择Server版,不装图形界面 • 磁盘用LVM,方便后期扩容 • 安装时勾选OpenSSH server ② SSH连接要点 • 确认ssh服务状态:systemctl status ssh • 获取IP地址:ip addr show • 客户端连接:ssh user@ip ③ 系统配置要点 • 网络:netplan配置静态IP • 源:更换为国内镜像源 • 防火墙:只开放22端口

3.7 本章小结

嗯,到这里,Linux系统准备阶段就完成了。你有了一个干净的Ubuntu Server 22.04系统,可以通过SSH远程管理,网络和源都配置好了,防火墙也打开了正确的端口。最关键的是,Nouveau驱动已经被禁用,为后续安装NVIDIA官方驱动扫清了障碍。

我个人觉得,系统准备这一步花点时间是值得的。你想想看,如果后面装CUDA时因为Nouveau没禁掉而报错,排查起来反而更费时间。磨刀不误砍柴工,就是这个道理。

下一章,我们会开始安装NVIDIA GPU驱动和CUDA工具包。到时候你就知道,今天禁掉Nouveau这一步有多重要了。


专注资料整理