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 24.04 中使用 Ollama LLM 本地安装 DeepSeek

如何在 Ubuntu 24.04 中使用 Ollama LLM 本地安装 DeepSeek
How to Install DeepSeek Locally with Ollama LLM in Ubuntu 24.04

1、安装 Python 和 Git
在安装任何东西之前,最好先更新系统以确保所有现有软件包都是最新的。

sudo apt update && sudo apt upgrade -y

Ubuntu 可能预装了 Python,但务必确保安装正确的版本(Python 3.8 或更高版本)。

sudo apt install python3
python3 --version
pip 是 Python 的软件包管理器,需要安装 DeepSeek 和 Ollama 的依赖项。

sudo apt install python3-pip
pip3 --version

sudo apt install git
git --version

2、为 DeepSeek 安装 Ollama

现在 Python 和 Git 已安装完毕,可以安装 Ollama 来管理 DeepSeek。

curl -fsSL https://ollama.com/install.sh | sh
ollama --version

接下来,启动并启用 Ollama,使其在系统启动时自动启动。

sudo systemctl start ollama
sudo systemctl enable ollama
现在 Ollama 已安装完毕,我们可以继续安装 DeepSeek。

3、下载并运行 DeepSeek 模型
现在 Ollama 已安装完毕,您可以下载 DeepSeek 模型。

ollama run deepseek-r1:7b

下载完成后,您可以通过运行以下命令来验证模型是否可用:

ollama list

4、在 Web UI 中运行 DeepSeek
虽然 Ollama 允许您通过命令行与 DeepSeek 交互,但您可能更喜欢更用户友好的 Web 界面。为此,我们将使用 Ollama Web UI,这是一个用于与 Ollama 模型交互的简单 Web 界面。

首先,创建一个虚拟环境,将您的 Python 依赖项与系统范围的 Python 安装隔离开来。

sudo apt install python3-venv
python3 -m venv ~/open-webui-venv
source ~/open-webui-venv/bin/activate

PIP设置阿里云镜像源,以加速包的安装。
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
Writing to /root/.config/pip/pip.conf

现在您的虚拟环境已激活,您可以使用 pip 安装 Open WebUI。
pip install open-webui

安装后,使用以下命令启动服务器。
open-webui serve
打开您的 Web 浏览器并导航到 http://localhost:8080 – 您应该会看到 Ollama Web UI 界面。

www.zhangfangzhou.cn
5、在系统启动时启用 Open-WebUI
要使 Open-WebUI 在启动时启动,您可以创建一个 systemd 服务,在系统启动时自动启动 Open-WebUI 服务器。

vim nano /etc/systemd/system/open-webui.service

[Unit]
Description=Open WebUI Service
After=network.target

[Service]
User=your_username
WorkingDirectory=/home/your_username/open-webui-venv
ExecStart=/home/your_username/open-webui-venv/bin/open-webui serve
Restart=always
Environment="PATH=/home/your_username/open-webui-venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

[Install]
WantedBy=multi-user.target
Replace your_username with your actual username.

现在重新加载 systemd 守护程序以识别新服务:

sudo systemctl daemon-reload
最后,启用并启动服务以在启动时启动:

sudo systemctl enable open-webui.service
sudo systemctl start open-webui.service

检查服务的状态以确保其正常运行:
sudo systemctl status open-webui.service

6、更新 open-webui 包,可以使用以下命令:

pip install --upgrade open-webui

7、open-webui无法链接ollama 报错ERROR:apps.ollama.main:Connection error: Cannot connect
修改启动配置

默认ollama绑定在127.0.0.1的11434端口,修改/etc/systemd/system/ollama.service,在[Service]下添加如下内容,使ollama绑定到0.0.0.0的11434端口
Environment="OLLAMA_HOST=0.0.0.0"

sudo systemctl daemon-reload
sudo systemctl restart ollama

www.zhangfangzhou.cn

8、部署完成后,发下每次登录都会先出现白屏,需要取消api.openai.com
INFO [open_webui.routers.openai] get_all_models()
ERROR [open_webui.routers.openai] Connection error: Cannot connect to host api.openai.com:443 ssl:default [None]
INFO [open_webui.routers.ollama] get_all_models()
登录 http://10.53.122.243:8080/admin/settings
取消 管理OpenAI API连接

9、错误提示
/home/$user/AnythingLLMDesktop/start
su@su:~$ /home/su/AnythingLLMDesktop/start
[10216:0227/083834.604266:FATAL:setuid_sandbox_host.cc(158)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/su/AnythingLLMDesktop/anythingllm-desktop/chrome-sandbox is owned by root and has mode 4755.
Trace/breakpoint trap (core dumped) www.zhangfangzhou.cn

解决办法

sudo chmod 4755 /home/su/AnythingLLMDesktop/anythingllm-desktop/chrome-sandbox

www.zhangfangzhou.cn

本地部署 AI绘图作画工具 stable-diffusion-webui(含多种模型和国内加速)

本地部署 AI绘图作画工具 stable-diffusion-webui(含多种模型和国内加速)
Stable-Diffusion-WebUI是一个基于Gradio库的浏览器界面,用于可视化展示和交互式探索Stable Diffusion模型的结果。
GPU显存大小:GPU显存大小限制了模型可以处理的数据量。较大的显存可以容纳更多的图像信息和模型参数,因此可以支持生成更大尺寸的图片。当生成大尺寸图片时,需要更多的显存来存储中间结果和生成的图像,较小的显存可能会限制生成高分辨率或复杂场景的能力。
GPU主频:GPU主频指的是GPU的工作频率,即每秒处理的指令数。较高的主频能够提供更快的计算速度,从而加快AI生成图片的过程。当需要迅速生成图片时,高主频的GPU可以有效缩短生成时间,提高效率。
显存位宽:显存位宽表示显存每次传输数据的宽度,通常以位为单位。较大的位宽意味着GPU可以更快地读取和写入显存数据。在生成图片过程中,大的位宽可以提高数据传输速度,从而加快模型的训练和推理速度。

部署环境
CPU:Intel(R) Xeon(R) Gold 6246 CPU @ 3.30GHz 3.30 GHz
GPU:NVIDIA GRID V100S-32Q(vGPU)
内存:64GB
磁盘:1TB
OS: Microsoft Windows 10 企业版

部署步骤
1、#安装基础环境
基础环境由Python 3.10.6(安装 Python 3.10.6 与 pip,一定安装3.10.6版本的Python),Git ,CUDA 组成

1.1、#安装Python

访问 Python3.10.6 下载页面 https://www.python.org/downloads/release/python-3106/

找到【Windows installer (64-bit)】点击下载,安装的时候需要勾选 Add Python to PATH。

安装完成后
命令行里输入Python --version,如果返回Python 3.10.6那就是安装成功。
命令行里输入 python -m pip install --upgrade pip安装升级pip到最新版。

1.2、#安装 Git https://git-scm.com/download
访问 Git 下载页面
点击【Download for Windows】,【64-bit Git for Windows Setup】点击下载
命令行运行git --version

1.3、#安装 CUDA (NVIDIA显卡用户)
命令行运行nvidia-smi,看下自己显卡支持的 CUDA版本

C:\Users\Administrator>cd C:\Program Files\NVIDIA Corporation\NVSMI

C:\Program Files\NVIDIA Corporation\NVSMI>nvidia-smi.exe
Thu Aug 17 15:06:21 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 474.14       Driver Version: 474.14       CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name            TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GRID V100S-32Q     WDDM  | 00000000:02:01.0  On |                    0 |
| N/A    0C    P0    N/A /  N/A |   6305MiB / 32768MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1520    C+G   Insufficient Permissions        N/A      |
|    0   N/A  N/A      1540    C+G   Insufficient Permissions        N/A      |
|    0   N/A  N/A      1548    C+G   Insufficient Permissions        N/A      |
|    0   N/A  N/A      2468      C   ...thon\Python310\python.exe    N/A      |


接下来前往英伟达官网,下载对应版本https://developer.nvidia.com/cuda-toolkit-archive
选你自己的操作系统版本,注意下离线安装包【exe [local]】,在线安装的话,速度还是比较慢。

1.4、#为什么NVIDIA显卡安装驱动后,还要安装CUDA驱动
NVIDIA显卡驱动和CUDA是两个不同的软件组件,它们在GPU的功能和应用上发挥不同的作用。

NVIDIA显卡驱动:NVIDIA显卡驱动是操作系统与显卡之间的桥梁,它负责管理和控制显卡的硬件功能,确保显卡能够正常工作并与操作系统进行通信。
安装显卡驱动是使用NVIDIA显卡的基本要求,它提供了对显卡的支持和兼容性。

CUDA(Compute Unified Device Architecture):CUDA是NVIDIA开发的并行计算平台和编程模型,它允许开发者使用显卡的并行计算能力进行高性能计算和加速。
CUDA提供了一组API和工具,使开发者能够在显卡上编写并行计算的程序,并利用GPU的大规模并行计算能力加速各种计算任务,包括机器学习、深度学习、科学计算等。

2、#下载项目源代码

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

D:\>git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
Cloning into 'stable-diffusion-webui'...
remote: Enumerating objects: 25982, done.
remote: Counting objects: 100% (369/369), done.
remote: Compressing objects: 100% (160/160), done.
remote: Total 25982 (delta 237), reused 323 (delta 205), pack-reused 25613
Receiving objects: 100% (25982/25982), 31.77 MiB | 12.31 MiB/s, done.
Resolving deltas: 100% (18197/18197), done.
# 切换到项目根目录
cd stable-diffusion-webui

3、#下载模型文件
stable-diffusion-webui只是个工具,需要后端的训练模型来让AI参考建模。

目前比较主流的模型有
Stable-Diffusion (SD) 模型:Stable-Diffusion 是一个基于扩散模型的图像生成模型,主要用于生成偏向真实人物的图像。它采用了稳定扩散过程的方法,通过迭代多次来逐步生成图像,并且具有较好的生成稳定性和细节保留能力。SD 模型通常用于生成逼真的人脸图像或人物形象。
Waifu-Diffusion (WD) 模型:Waifu-Diffusion 是一个专注于生成二次元角色(常称为"waifu")图像的模型。它基于扩散模型的思想,通过迭代生成过程逐渐生成具有艺术风格的二次元角色图像。WD 模型通常用于创作二次元角色形象、插画或动漫风格的图像。
Novel-AI-Leaks (Naifu) 模型:Novel-AI-Leaks 是一个更偏向于二次元角色的图像生成模型。它在生成图像时,更加注重创造出富有想象力和创意的二次元角色形象。Naifu 模型通常用于艺术创作、插画制作和二次元角色设计等领域。

4、#运行
双击运行\stable-diffusion-webui\webui-user.bat
脚本会自己检查依赖,会下载大约几个GB的东西,解压安装到文件夹内(中间可能会失败,失败后需要再次运行webui-user.bat)。


venv "D:\stable-diffusion-webui\venv\Scripts\Python.exe"
Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug 1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)]
Version: v1.5.1
Commit hash: 68f336bd994bed5442ad95bad6b6ad5564a5409a
Installing gfpgan

当遇到卡在installing gfpgan时候需要切换成阿里的源

C:\Users\Administrator>pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
Writing to C:\Users\Administrator\AppData\Roaming\pip\pip.ini

5、#复制到浏览器访问
(默认是 http://127.0.0.1:7860 )(注意不要关闭这个窗口,关闭就退出了)

6、#生成第一张AI作图

1、Prompt(提示):在Prompt中填写你想要的特征点,可以作为生成图片的指导。通过提供具体的描述或指令,可以引导AI生成符合你期望的图像。

2、Negative prompt(负面提示):在Negative prompt中填写你不想要的特征点,可以告诉AI避免生成这些特征。负面提示可以帮助你更精确地控制生成图片的内容。

3、Sampling Steps(采样步数):指定AI推演的步数,控制生成图片的细节和精度。较高的步数可以产生更多的细节,但会增加生成时间。一般在20到30之间选择较为合适。

4、Sampling method(采样方法):选择AI推演的算法,常见的有Euler a、Euler和DDIM等。不同的采样方法可能会影响到生成图片的效果和风格。

5、图片分辨率:指定生成图片的分辨率,较高的分辨率可以获得更清晰、更多细节的图像。但需要注意显存的限制,确保分辨率不超过显存能够处理的范围。

扩展选项:
Restore faces(修复人脸):勾选后可以生成更真实的脸部特征。需要下载额外的运行库,并且第一次使用时会占用一定的存储空间。

D:\stable-diffusion-webui\models\Codeformer\codeformer-v0.1.0.pth
D:\stable-diffusion-webui\repositories\CodeFormer\weights\facelib\detection_Resnet50_Final.pth
D:\stable-diffusion-webui\repositories\CodeFormer\weights\facelib\ parsing_parsenet.pth

Tiling(平铺):让生成的图像可以无缝地平铺,类似瓷砖的效果,使图案可以自动衔接。
Highres. fix(超分辨率修复):使用更高的分辨率填充内容,但最终生成的图像仍然是设定的分辨率。
Batch count(批次数):指定一次运行生成图片的次数。
Batch size(批次大小):指定同时生成图片的数量。
CFG Scale(CFG比例):控制AI生成图片时参考你的Prompt和Negative prompt的程度。较高的值会更严格地按照你的设定进行生成,而较低的值则更加自由和创意。
Seed(随机数种子):用于初始化AI生成图片的起始噪声,不同的种子会产生不同的生成结果。
Generate(生成):点击该按钮开始运行AI生成图片的过程。
Stable Diffusion checkpoint(稳定扩散检查点):选择使用的模型,根据你的需求和体验自行选择。

Script X/Y/Z plot
1、使用多种绘画方式
Y type 选择Sampler,然后在Y values 可以全部选择Sampling method,经测试这几种方式效果较好

Euler a
DPM++2S a
DPM++2M
DPM2 a Karras
DPM2++ 2S a Karras
DPM2++ 2M a Karras

2、测试lora权重对绘画的影响
在txt2img填写,在Y type选择Prompt S/R,然后在Y values 填写STRENGTH,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1

7、模型下载
majicMIX realistic 麦橘写实 https://www.liblibai.com/modelinfo/bced6d7ec1460ac7b923fc5bc95c4540
采样器建议: Euler
如果要修复脸部,请使用after detailer.

Pure Beauty https://www.liblibai.com/modelinfo/13bcec1633cd440c9ae986787b733b10
CFG Scale:7
迭代步数:15-120
VAE: 840000
采样器建议: DPM++ 2M SDE Karras
绘制人物图像时请配合启用ADetailer 插件,推荐使用模型:face_yolov8n.pt和face_yolov8s.pt
生成专业摄影图像时,建议在正向提示词中除了Bean_Lab, Pure Beauty, 1 girl, best quality等触发词外,可加入以下词汇:Studio lighting, Canon EOS-1D X Mark II, 70mm ,f2.8,ISO 200,(其中除了工作室灯光外,方位灯光也可以根据需要来选择使用,例如:顺光、前侧光、侧光、顶光、侧逆光等等,相机型号有多种选择,除了上述提到的,还有Canon EOS R5、Canon 1Dx3、SONY A7R III、Nikon D6、 Fujifilm GFX 100S、Fujifilm 50S II等等高清相机型号可选择, 另外推荐使用大光圈F1.4,F2.0,F2.8,人像焦距24-70mm, 感光度:100-200之间),当然,上述仅供参考,这些数据都可根据最终想要呈现的效果来调试
Negative Promts / 负面提示词:ng_deepnegative_v1_75t,EasyNegative

8、提示词下载
a、https://github.com/thisjam/sd-webui-oldsix-prompt
点击页面上的code->DownloadZip 解压以后放在你的sd文件夹下的extensions文件夹后应用并重启

11、在页面上显示 VAE 设置
stable-diffusion-webui 默认页面并没有显示 VAE 设置部分,所以需要先设置一下。首先点击「Settings」,然后点左侧菜单的「User interface」这个 Tab,
拉到下面有个选项叫做Quicksettings list,在输入框里面添加,sd_vae,CLIP_stop_at_last_layers,最后点击上面的「Apply settings」,在点「Reload UI」就会重新刷新页面。
Clip skip选项,默认是 1,需要改成常用的 2,可以简单的理解这个值越高,AI 就会省略越多的分类细项。

下载 VAE 模型(效果不理想)
https://huggingface.co/stabilityai/sd-vae-ft-mse-original/tree/main

12、ADetailer 插件
1、https://github.com/Bing-su/adetailer
2、解压上传到文件夹D:\stable-diffusion-webui\extensions
3、重启Web-UI
4、固定Seed
5、启用ADetailer
Enable ADetailer #启用

1st #第一个ADetailer model模型
mediapipe_face_mesh

2nd #第二个ADetailer model模型

模型说明
Model Target
face_yolov8n.pt 2D / realistic face
face_yolov8s.pt 2D / realistic face
hand_yolov8n.pt 2D / realistic hand
person_yolov8n-seg.pt 2D / realistic person
person_yolov8s-seg.pt 2D / realistic person
mediapipe_face_full realistic face
mediapipe_face_short realistic face
mediapipe_face_mesh realistic face