当前位置: 首页 > news >正文

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

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。

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

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

http://www.lryc.cn/news/615732.html

相关文章:

  • AI绘画:生成唐初秦叔宝全身像提示词
  • 安全运维工具链全解析
  • ELK分布式日志采集系统
  • 【系统分析师】软件需求工程——第11章学习笔记(上)
  • 旅行者1号无线电工作频段
  • 《解锁 C++ 起源与核心:命名空间用法 + 版本演进全知道》
  • 计算机网络:求地址块128.14.35.7/20中的相关信息
  • 《从零构建大语言模型》学习笔记4,注意力机制1
  • Redis如何实现一个分布式锁?
  • Redis主从复制和哨兵模式
  • nginx+lua+redis案例
  • Error: error:0308010C:digital envelope routines::unsupported at new Hash
  • node.js 学习笔记3 HTTP
  • #C语言——刷题攻略:牛客编程入门训练(八):分支控制(二)
  • Linux 虚拟机磁盘空间占满-全面清理方案
  • 【C++详解】红黑树规则讲解与模拟实现(内附红黑树插入操作思维导图)
  • 随机向量正交投影定理(Orthogonal Projection Theorem, OPT)_学习笔记
  • 【Python】常用内置模块
  • 诺基亚就4G/5G相关专利起诉吉利对中国汽车及蜂窝模组企业的影响
  • QT的常用控件说明
  • 【人工智能99问】LLaMA的训练过程和推理过程是怎么样的?(22/99)
  • vuhub Beelzebub靶场攻略
  • 智能体革命:网络安全人的角色重塑与突围指南
  • 医学统计(随机对照研究分类变量结局数据的统计策略2)
  • 用 ES|QL 做搜索从过滤到相关性、再到语义与混合检索
  • WPFC#超市管理系统(5)商品布局、顾客登录、商品下单
  • 机器学习实战·第三章 分类(1)
  • Deep Learning MNIST手写数字识别 Mac
  • 【Elasticsearch入门到落地】16、RestClient查询文档-快速入门
  • Lua的数组、迭代器、table、模块