Ubuntu 22.04 离线环境下完整安装 Anaconda、CUDA 12.1、NVIDIA 驱动及 cuDNN 8.9.3 教程

发布于:2025-08-11 ⋅ 阅读:(12) ⋅ 点赞:(0)

Ubuntu 22.04 离线环境下完整安装 Anaconda、CUDA 12.1、NVIDIA 驱动及 cuDNN 8.9.3 教程。
在很多场景下,我们需要在没有网络连接的 Ubuntu 22.04 机器上搭建深度学习环境,这就需要进行离线安装。本文将详细介绍如何在离线环境下依次安装 Anaconda、NVIDIA 驱动、CUDA 12.1、相关依赖以及 cuDNN 8.9.3,帮助你顺利搭建起完整的深度学习开发环境。

一、离线安装 Anaconda

Anaconda 是一个强大的 Python 包管理工具,包含了众多科学计算和数据分析所需的库,离线安装步骤如下:

1. 提前下载 Anaconda 安装包

在有网络的环境中,访问 Anaconda 官网(https://www.anaconda.com/),下载适用于 Linux 的离线安装包(.sh 文件)。例如,可选择 Anaconda3-2023.09-0-Linux-x86_64.sh 版本。

2. 传输安装包到离线机器

使用 USB 驱动器或其他存储设备,将下载好的 .sh 文件复制到 Ubuntu 22.04 离线机器上。

3. 执行安装脚本

打开终端,导航到安装包所在目录,运行以下命令:

# 赋予执行权限
chmod +x Anaconda3-2023.09-0-Linux-x86_64.sh
# 运行安装脚本
./Anaconda3-2023.09-0-Linux-x86_64.sh

4. 按照安装向导操作

阅读许可协议,按 Enter 继续,按 Q 退出阅读。
输入 yes 接受许可协议。
选择安装路径(默认路径即可,一般为 ~/anaconda3)。
选择是否初始化 Anaconda(建议输入 yes)。

5. 激活 Anaconda

安装完成后,关闭终端并重新打开,或运行以下命令使配置生效:

source ~/.bashrc

6. 验证安装

运行以下命令检查 Anaconda 是否安装成功:

conda --version

如果一切顺利,会显示 conda 的版本信息,表明 Anaconda 已成功安装。
如果需要安装特定版本的 Anaconda,可以从清华镜像站或其他镜像站点查找并下载相应的离线安装包。

二、离线安装依赖包

在安装 CUDA 等工具之前,需要确保系统安装了必要的依赖包,离线安装依赖的步骤如下:

1. 在有网络的 Ubuntu 22.04 机器上下载依赖包

先在联网的同版本 Ubuntu 上,创建一个目录用于存放依赖包:

mkdir -p ~/offline_deps && cd ~/offline_deps

下载 build-essential 及相关依赖(会自动下载所有依赖项):

sudo apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests \
--no-conflicts --no-breaks --no-replaces --no-enhances \
--no-pre-depends build-essential gcc g++ make | grep "^\w" | sort -u)

若后续安装中出现依赖缺失,如提示缺少 libc6-dev,则在联网机器上补充下载:

sudo apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests \
--no-conflicts --no-breaks --no-replaces --no-enhances \
--no-pre-depends libc6-dev | grep "^\w" | sort -u)

打包这些 .deb 文件(方便传输):

tar -czvf offline_deps.tar.gz *.deb

2. 解决下载依赖时的 404 错误

在联网机器上下载依赖时出现 404 Not Found 错误,通常是因为软件源配置问题,解决方法如下:
备份原有源列表(可选):

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

替换为 Ubuntu 22.04 官方源(国内用户推荐用阿里云 / 清华源):
编辑源列表文件:

sudo nano /etc/apt/sources.list

清空原有内容,粘贴以下阿里云源(适用于 Ubuntu 22.04,代号 jammy):

deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

保存退出(按 Ctrl+O 保存,Ctrl+X 退出)。
更新软件源缓存:

sudo apt-get update

之后重新下载依赖包。

3. 传输到离线机器并安装依赖

将打包好的 offline_deps.tar.gz 通过 U 盘等设备复制到离线的 Ubuntu 22.04 机器上。
解压包:

mkdir -p ~/offline_deps && tar -xzvf offline_deps.tar.gz -C ~/offline_deps

进入目录并安装所有 .deb 包:

cd ~/offline_deps
sudo dpkg -i *.deb

处理可能的依赖冲突(如果有报错):
如果出现依赖缺失提示,在联网机器上补充下载对应的 .deb 包,再复制到离线机器上用 dpkg -i 安装,之后运行:

sudo dpkg --configure -a

三、离线安装 NVIDIA 驱动 535.247.01

NVIDIA 驱动是 GPU 正常工作的基础,以下是离线安装步骤:

1. 提前下载 NVIDIA 驱动离线包

从 NVIDIA 官网(https://www.nvidia.com/en-us/drivers/unix/)下载适用于 Linux 的驱动.run 文件,选择 NVIDIA-Linux-x86_64-535.247.01.run。

2. 禁用 nouveau 驱动

nouveau 驱动可能与 NVIDIA 驱动冲突,需要禁用:
创建配置文件

sudo nano /etc/modprobe.d/blacklist-nouveau.conf

在文件中添加:

blacklist nouveau
options nouveau modeset=0

保存后更新配置:

sudo update-initramfs -u

重启系统使配置生效:

sudo reboot

3. 进入文本模式并关闭图形界面服务

重启后按 Ctrl+Alt+F3 进入 tty3 文本控制台,登录账号,然后关闭图形界面服务:

sudo systemctl stop gdm3  # Ubuntu 22.04 通常使用 gdm3

若提示服务不存在,尝试:sudo systemctl stop lightdm

4. 安装驱动

进入驱动文件所在目录,执行:
赋予执行权限

chmod +x NVIDIA-Linux-x86_64-535.247.01.run

安装(–no-network 确保离线,–dkms 自动编译内核模块)

sudo ./NVIDIA-Linux-x86_64-535.247.01.run --no-network --dkms --silent

–silent 表示静默安装(默认配置),如需手动选择可去掉此参数。

5. 验证驱动安装

nvidia-smi

若显示显卡信息及驱动版本 535.247.01,则驱动安装成功。

6. 重启图形界面

sudo systemctl start gdm3

按 Ctrl+Alt+F2 或 F7 返回图形界面

四、离线安装 CUDA 12.1.0

CUDA 是 NVIDIA 推出的并行计算平台和编程模型,离线安装步骤如下:

1. 提前下载 CUDA 12.1.0 离线安装包

在有网络的环境中,从 NVIDIA 官网(https://developer.nvidia.com/cuda-12.1.0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type=runfile_local)下载适用于 Linux 的离线安装包,选择 “runfile (local)” 类型,下载得到类似 cuda_12.1.0_530.30.02_linux.run 的文件。

2. 传输安装包到离线机器

使用 USB 驱动器等将下载好的 .run 文件复制到 Ubuntu 22.04 机器上。

3. 运行 CUDA 安装脚本,排除驱动组件

导航到安装包所在目录,执行:
赋予执行权限

chmod +x cuda_12.1.0_530.30.02_linux.run

离线安装,仅安装 CUDA 工具包(不安装驱动)

sudo ./cuda_12.1.0_530.30.02_linux.run --no-network --toolkit --silent

–toolkit:仅安装 CUDA 工具包(不包含驱动、示例等)。–silent:静默安装,如需手动选择组件可去掉此参数(安装时需手动取消勾选 “NVIDIA Driver”)。

4. 配置环境变量

安装完成后,需要配置环境变量:
打开配置文件

nano ~/.bashrc

在文件末尾添加:

export PATH=/usr/local/cuda-12.1/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64:${LD_LIBRARY_PATH} 

使配置生效:

source ~/.bashrc

5. 验证安装

运行以下命令检查 CUDA 是否安装成功:

nvcc --version

若显示 CUDA 版本信息(12.1.0),则表明安装成功。

五、离线安装 cuDNN 8.9.3

cuDNN 是用于深度神经网络的 GPU 加速库,离线安装步骤如下:

1. 提前下载 cuDNN 8.9.3 离线包

访问 NVIDIA 官网的 cuDNN 下载页(https://developer.nvidia.com/rdp/cudnn-archive,需注册登录),选择与 CUDA 12.1 兼容的 cuDNN 8.9.3 版本,下载适用于 Ubuntu 22.04 的 tar 包(如 cudnn-linux-x86_64-8.9.3.28_cuda12-archive.tar.xz),注意需匹配 CUDA 版本,选择标注 “for CUDA 12.x” 的包。

2. 传输并解压 cuDNN 包

将下载的 cudnn-linux-x86_64-8.9.3.28_cuda12-archive.tar.xz 复制到离线机器,然后解压:
解压 tar 包

tar -xvf cudnn-linux-x86_64-8.9.3.28_cuda12-archive.tar.xz

进入解压后的目录(目录名可能略有差异,以实际为准)

cd cudnn-linux-x86_64-8.9.3.28_cuda12-archive

3. 手动复制 cuDNN 文件到 CUDA 目录

cuDNN 需要安装到 CUDA 的安装路径下(默认是 /usr/local/cuda-12.1/),执行以下命令复制文件:
复制头文件

sudo cp include/cudnn.h /usr/local/cuda-12.1/include/
sudo cp include/cudnn_version.h /usr/local/cuda-12.1/include/

复制库文件

sudo cp lib/libcudnn*.so* /usr/local/cuda-12.1/lib64/

复制示例和文档(可选)

sudo cp -r share/doc/cudnn/examples/ /usr/local/cuda-12.1/share/doc/cudnn/

4. 设置文件权限

确保复制的文件具有正确的权限:
为头文件设置权限

sudo chmod 644 /usr/local/cuda-12.1/include/cudnn.h
sudo chmod 644 /usr/local/cuda-12.1/include/cudnn_version.h

为库文件设置权限

sudo chmod 755 /usr/local/cuda-12.1/lib64/libcudnn*.so*

5. 验证 cuDNN 安装

检查 cuDNN 头文件版本:

cat /usr/local/cuda-12.1/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

若输出类似以下内容,说明头文件安装成功:

#define CUDNN_MAJOR 8
#define CUDNN_MINOR 9
#define CUDNN_PATCHLEVEL 3

检查 cuDNN 库文件:

ls -l /usr/local/cuda-12.1/lib64/libcudnn.so*

若显示 libcudnn.so.8.9.3 及相关软链接(libcudnn.so、libcudnn.so.8),说明库文件安装成功。

总结

通过以上步骤,我们在 Ubuntu 22.04 离线环境下成功安装了 Anaconda、NVIDIA 驱动 535.247.01、CUDA 12.1.0 以及 cuDNN 8.9.3。

在安装过程中,需要注意各软件版本的兼容性,提前准备好所需的离线安装包,并按照步骤逐步操作。

遇到问题时,仔细查看错误提示,针对性地解决依赖缺失等问题。搭建好这个环境后,你就可以在离线机器上进行深度学习相关的开发和研究工作了。


网站公告

今日签到

点亮在社区的每一天
去签到