Ubuntu 24.04 LTS如何安装Nvidia显卡驱动、CUDA、NVIDIA Container Toolkit套件

Ubuntu 24.04 LTS如何安装Nvidia显卡驱动、CUDA、NVIDIA Container Toolkit套件

1、安装Nvidia显卡驱动
若有Nvidia显卡,Ubuntu系统会安装开源的nouveau驱动,用指令sudo lshw -C display确认,driver区域会显示"nouveau"。

#卸载自带的驱动
sudo apt update
sudo apt upgrade
sudo apt purge *nvidia*

使用ubuntu-drivers list指令列出目前Nvidia显示卡可用的驱动版本

# 让Ubuntu自动挑选推荐的驱动版本

sudo ubuntu-drivers install

# 或者手动指定版本,填入要安装的Nvidia驱动版本号。
sudo ubuntu-drivers install nvidia:570
安装后nouveau应会自动加入黑名单禁止加载。接着重新启动,用sudo lshw -C display确认是否安装成功,driver区域应会显示"nvidia"。

www.zhangfangzhou.cn

2、双GPU显卡笔记本电脑
像Intel+Nvidia这种的双GPU笔记本电脑,即使装了Nvidia驱动也可能继续用Intel的GPU渲染3D,导致3D性能低下。

此时可以使用prime-select指令,指定用Nvidia显示卡负责渲染。

sudo prime-select nvidia
重开机后再使用指令:vulkaninfo --summary查看主显示卡为何。

3、Ubuntu安装cuda,CUDA Toolkit Installer。

Installation Instructions:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-8

用 nvcc --version 确认cuda的版本,如果显示Command nvcc not found,则编辑~/.bashrc

vim ~/.bashrc
export PATH=/usr/local/cuda-12.8/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

#更新变量
source ~/.bashrc

# nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Fri_Feb_21_20:23:50_PST_2025
Cuda compilation tools, release 12.8, V12.8.93
Build cuda_12.8.r12.8/compiler.35583870_0

www.zhangfangzhou.cn

4、安装NVIDIA Container Toolkit,这是设计给Docker和Podman容器用的Nvidia工具,使容器可以使用CUDA计算。

即使宿主机没有安装CUDA,容器內照样可以使用CUDA计算,方便你在容器里面跑不同版本的CUDA,不会受到宿主机的CUDA版本影响。

必须先安装Nvidia专有驱动才可以安装NVIDIA Container Toolkit。

(1)在Ubuntu安装Docker
(2)加入NVIDIA Container Toolkit的套件库

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
    
安装NVIDIA Container Toolkit
sudo apt update
sudo apt install nvidia-container-toolkit

向Docker注册Nvidia
sudo nvidia-ctk runtime configure --runtime=docker

重新启动Docker
sudo systemctl restart docker

执行Ubuntu容器,测试能否出现Nvidia显卡的信息
sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi

www.zhangfangzhou.cn
5、安装TensorRT,TensorRT是Nvidia推出的深度学习推理平台。

必须先安装CUDA才能安装TensorRT。 https://developer.nvidia.com/nvidia-tensorrt-download
安装TensorRT的deb档,加入套件库

# 指定系统版本
os="ubuntu2204"

# 指定TensorRT版本
tag="10.5.0.x-1+cuda12.6"

sudo dpkg -i nv-tensorrt-local-repo-${os}-${tag}_1.0-1_amd64.deb
sudo cp /var/nv-tensorrt-local-repo-${os}-${tag}/*-keyring.gpg /usr/share/keyrings/

sudo apt update
安装TensorRT
sudo apt install tensorrt

在Ubuntu 20.04 LTS安装Docker,使用Docker安装Minio存储服务器

在Ubuntu 20.04 LTS安装Docker,使用Docker安装Minio存储服务器,使用Minio Docker镜像,在4块盘中启动基于纠删码的Minio服务
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务( High Performance Object Storage)。
它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合。
Build high performance data infrastructure for machine learning, analytics and application data workloads with MinIO。
Minio使用纠删码erasure code和checksum来保护数据免受硬件故障和无声数据损坏。 即便您丢失一半数量(N/2)的硬盘,您仍然可以恢复数据。

a、在Ubuntu 20.04我们将启用Docker存储库,导入存储库GPG密钥,然后安装该软件包。
首先,更新程序包索引并安装添加新的HTTPS仓库所需的依赖项:
sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

b、使用以下curl命令导入存储库的GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

c、将Docker APT存储库添加到您的系统中
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

d、现在已启用Docker存储库,您可以安装存储库中可用的任何Docker版本
要安装最新版本的Docker,请运行以下命令。如果要安装特定的Docker版本,请跳过此步骤并转到下一个。
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

e、要安装特定版本,请首先列出Docker存储库中的所有可用版本
sudo apt update
apt list -a docker-ce

可用的Docker版本打印在第二列中。在撰写本文时,官方Docker存储库中只有一个Docker版本(5:19.03.9~3-0~ubuntu-focal)。
docker-ce/focal 5:19.03.9~3-0~ubuntu-focal amd64

安装完成后,Docker服务将自动启动。您可以通过键入以下内容进行验证:
sudo systemctl status docker

f、当发布新版本的Docker时,您可以使用标准sudo apt update && sudo apt upgrade过程来更新软件包

g、如果要阻止更新Docker软件包,请将其标记为“阻止”:
sudo apt-mark hold docker-ce

h、以非root用户身份执行Docker命令
默认情况下,只有具有sudo特权的 root和用户可以执行Docker命令。
要以非root用户身份执行Docker命令,您需要将用户添加到在Docker CE软件包安装过程中创建的docker组中。
sudo usermod -aG docker $USER
$USER是保存您的用户名的环境变量。
注销并重新登录,以便刷新组成员身份

i、卸载Docker
在卸载Docker之前,最好删除所有容器,映像,卷和网络。

运行以下命令以停止所有正在运行的容器并删除所有docker对象:
docker container stop $(docker container ls -aq)
docker system prune -a --volumes

g、Docker卸载
sudo apt purge docker-ce
sudo apt autoremove
--------------------------------------------------------------------------------------
k、使用Minio Docker镜像,在4块盘中启动基于纠删码的Minio服务
docker run -itd -p 9000:9000 --name minio \
-e "MINIO_ACCESS_KEY=user" \
-e "MINIO_SECRET_KEY=zhangfangzhou" \
-v /data1:/data1 \
-v /data2:/data2 \
-v /data3:/data3 \
-v /data4:/data4 \
minio/minio server /data{1..4}

-i 以交互模式运行容器,通常与 -t 同时使用
-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用
-d 后台运行容器,并返回容器ID
-p 表示映射容器的端口,hostPort:containerPort(服务器端口:容器端口)
-v 挂载宿主机的一个目录,(前面的目录是服务器目录,后面的目录是容器内目录)
data1,data2,data3,data4(服务器的存储目录)
/dev/sdb1 /data1 ext4 defaults 0 0
/dev/sdc1 /data2 ext4 defaults 0 0
/dev/sdd1 /data3 ext4 defaults 0 0
/dev/sde1 /data4 ext4 defaults 0 0


l、打开浏览器输入http://www.zhangfangzhou.cn:9000/minio
输入账户密码
账户user
密码 zhangfangzhou

m、在右下角找到Create bucket,创建一个新的 bucket,然后上传文件

n、 验证是否设置成功
你可以随意拔掉硬盘,看Minio是否可以正常读写。
n、查看存储文件