Ubuntu 配置
配置网卡信息
查看全部物理网卡信息
使用 ip addr 可以查看网卡信息。可以根据得到的信息配置 50-cloud-init.yaml ip、网关等信息。
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 28:d2:44:fb:37:b5 brd ff:ff:ff:ff:ff:ff
inet 172.28.168.119/24 brd 172.28.168.255 scope global enp0s25
valid_lft forever preferred_lft forever
inet6 fe80::2ad2:44ff:fefb:37b5/64 scope link
valid_lft forever preferred_lft forever
3: wlp4s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether e8:b1:fc:0d:d3:47 brd ff:ff:ff:ff:ff:ff配置所需网卡的信息
Netplan 是 Ubuntu 18.04 及以上版本中用于网络配置的工具。你需要编辑 /etc/netplan/50-cloud-init.yaml 文件(如果该文件不存在,则需要创建它)。使用文本编辑器打开该文件,例如使用 vim。
sudo vim /etc/netplan/50-cloud-init.yamlnetwork:
ethernets:
enp0s25:
dhcp4: false
addresses:
- 172.28.168.119/24
nameservers:
addresses:
- 202.106.0.20
- 223.5.5.5
search: []
routes:
- to: default
via: 172.28.168.1
version: 2
wifis: {}应用修改
sudo netplan apply重要
如果使用 VMware 的 NAT(VMnat8) 模式需要注意以下问题
- 宿主机中的 VMnet8 网卡 IP 可以设置为
172.28.168.1(这里也可以设置为172.28.168.2,这时下面的网关 IP 就可以设置为172.28.168.1了)。 - 在 VMware 的虚拟网络编辑器中,需要修改 VMnet8 的 Nat 设置
- 子网 IP:
172.28.168.0 - 子网掩码:
255.255.255.0 - 网关 IP:
172.28.168.2
- 子网 IP:
- 虚拟机内部的
via也要配置为172.28.168.2
APT 换源
备份原来的配置文件
sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak将源修改为国内源
编辑 /etc/apt/sources.list.d/ubuntu.sources 文件,修改 URIs 地址即可,使用阿里的源
Types: deb
URIs: https://mirrors.aliyun.com/ubuntu/
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg修改系统时间
设置时区
将系统时区设置为 Asia/Shanghai
sudo timedatectl set-timezone Asia/Shanghai修改 /etc/timezone 配置文件中的默认 Etc/UTC 时区修改为 Asia/Shanghai,这个关系到 Java 是否可以正确获取时区
sudo vim /etc/timezone查看时区
timedatectl status禁用休眠
修改 logind.conf
sudo vim /etc/systemd/logind.conf禁止系统在空闲时采取任何动作
IdleAction=ignore如果服务器有笔记本硬件,忽略合盖动作。
HandleLidSwitch=ignore重启 systemd-logind 服务
sudo systemctl restart systemd-logind修改 GRUB
sudo vim /etc/default/grub在 GRUB_CMDLINE_LINUX_DEFAULT 配置项中添加 no_console_suspend。
可以防止控制台挂起:在某些情况下,控制台挂起可能会导致无法通过串口或其他方式访问服务器。使用该参数可以避免这种情况。
GRUB_CMDLINE_LINUX_DEFAULT="no_console_suspend"更新 GRUB 配置
sudo update-grub禁用系统自动休眠/挂起
sudo vim /etc/systemd/sleep.conf添加或修改以下行
AllowSuspend=no
AllowHibernation=no
AllowSuspendThenHibernate=no
AllowHybridSleep=no
AllowSuspend=no: 禁止挂起(Suspend)。AllowHibernation=no: 禁止休眠(Hibernate)。AllowSuspendThenHibernate=no: 禁止先挂起再休眠的模式。AllowHybridSleep=no: 禁止混合睡眠模式。
保存后重启服务
sudo systemctl restart systemd-logindSSH 配置
sudo vim /etc/ssh/sshd_config添加以下内容,配置保活消息
ClientAliveInterval 60
ClientAliveCountMax 3sudo systemctl restart ssh.serviceCUDA 与显卡驱动安装
重要
存在集显的机器可能需要禁用集显或者将独显设置为第一优先级。
更新 PCI ID 数据库
警告
如果不更新,较新的显卡可能会识别不到型号。识别不到型号安装好驱动也无法正常运行编译 CUDA 程序。
sudo update-pciids再次查看显卡是否正确安装
lspci | grep -i nvidia在输出信息中显示显卡型号再继续安装 CUDA
❯ lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation GB203 [GeForce RTX 5070 Ti] (rev a1)
01:00.1 Audio device: NVIDIA Corporation Device 22e9 (rev a1)下载并安装驱动
检查 NVIDIA 驱动是否正确安装
CUDA 的运行依赖于 NVIDIA GPU 驱动程序,因此需要先确认驱动是否正确安装。
Linux
在终端中运行以下命令:
nvidia-smi- 如果驱动安装成功,你会看到类似以下的输出,显示 GPU 的型号、驱动版本、CUDA 版本等信息:
+-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 570.124.06 Driver Version: 570.124.06 CUDA Version: 12.8 | |-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+========================+======================| | 0 NVIDIA GeForce RTX 5070 Ti Off | 00000000:01:00.0 Off | N/A | | 38% 29C P0 37W / 300W | 1MiB / 16303MiB | 0% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+ - 如果没有安装驱动或驱动有问题,你可能会看到错误提示,例如
command not found或NVIDIA-SMI has failed。
检查 CUDA 工具包是否安装成功
在终端或命令提示符中运行以下命令:
nvcc --version- 如果 CUDA 安装成功,你会看到类似以下的输出:
nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2023 NVIDIA Corporation Built on Sun_Apr__2_19:41:21_PDT_2023 Cuda compilation tools, release 12.1, V12.1.105 - 如果未安装 CUDA 或路径配置不正确,可能会提示
command not found或类似的错误。
常用命令
查看已安装的 NVIDIA 驱动
apt list --installed | grep -i nvidia卸载驱动
可以通同配置卸载已安装的驱动列表
sudo apt purge "nvidia-*"回退内核
有时新内核 + 新驱动组合有 bug:使用 uname -r 可以查看当前使用的内核
# 查看可用内核
ls /boot/vmlinuz-*
# 重启时在 GRUB 选择旧内核启动
# 或设置默认启动旧内核:
sudo vim /etc/default/grub
# 修改 GRUB_DEFAULT=0 改为 GRUB_DEFAULT="1>2"(选择旧内核)
sudo update-grub
sudo reboot切换内核后需要安装当前内核的头文件和开发包,例如 uname -r 出现 6.8.0-79-generic 则需要执行以下命令安装,否则会出现安装驱动等编译后无法使用的问题。
sudo apt update
sudo apt install linux-headers-6.8.0-79-generic linux-image-6.8.0-79-generic