DeepSeek-OCR实战(01):基础运行环境搭建-RockyLinux
DeepSeek-OCR实战是一个系列文章,包含了从基础运行环境搭建到应用接入全过程。本章为:基础运行环境搭建, 操作系统采用 Rocky Linux 10

| 环境 | 版本 |
|---|---|
| Rocky Linux | release 10.0 |
| Cuda | 11.8 |
| 显卡 RTX 2080 Ti 22G | 驱动 NVIDIA-Linux-x86_64-580.105.08 |
| conda | 25.9.1 |
| git | 2.47.3 |
1.操作系统基础安装
# 更换镜像源为阿里云镜像源
sed -e 's|^mirrorlist=|#mirrorlist=|g' \-e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \-i.bak \/etc/yum.repos.d/[Rr]ocky*.repo# 安装EPEL 仓库
dnf install -y epel-release# 和yum是一样的
dnf clean all
dnf makecache# 更新系统软件(非必要)
yum -y update# 禁用 SELinux
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
# 获取 SELinux 状态
getenforce # 关闭防火墙(生产环境慎重)
systemctl stop firewalld
systemctl disable firewalld# 设置时区
timedatectl set-timezone Asia/Shanghai# 配置时间同步服务
systemctl status chronyd# 查看时间是否同步 V 大写
chronyc sources -V
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^+ ntp8.flashdance.cx 2 7 377 104 +2245us[+2245us] +/- 104ms
^* 211.68.71.26 3 7 377 105 -8679us[-9888us] +/- 124ms
^- mail.moe.cat 2 8 61 94 -14ms[ -14ms] +/- 101ms
^+ ntp1.flashdance.cx 2 7 377 40 +215us[ +215us] +/- 102ms# 安装常用插件
yum install -y vim wget telnet net-tools lrzsz unzip gcc numactl bind-utils tar tar perl pciutils git
显卡检查时会用到 lspci命令,该命令在 pciutils包中, 源码下载会用到git
2.显卡驱动安装
2.1确认显卡型号
lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti Rev. A] (rev a1)
01:00.1 Audio device: NVIDIA Corporation TU102 High Definition Audio Controller (rev a1)
01:00.2 USB controller: NVIDIA Corporation TU102 USB 3.1 Host Controller (rev a1)
01:00.3 Serial bus controller: NVIDIA Corporation TU102 USB Type-C UCSI Controller (rev a1)# 确认你运行的内核版本,然后安装对应的开发包:
# 查看当前运行的内核版本
uname -r
# 安装对应版本的内核开发包
sudo dnf install kernel-devel-$(uname -r) kernel-headers-$(uname -r)
确认内核版本以及安装对应版本内核开发包很重要,要不然驱动无法安装
2.2检查是否存在开源驱动nouveau
lsmod | grep nouveau
有输出说明存在。 开源驱动会与NVIDA 驱动冲突。我的是有输出的
如果存在,则需要关闭 nouveau 驱动
echo "blacklist nouveau" | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
echo "options nouveau modeset=0" | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf
sudo dracut --force
# 重启
sudo reboot# 重启后确认,如果没有输出则表示已经关闭了
lsmod | grep nouveau
2.3驱动下载


选择一个版本下载

将下载的文件存放到
/usr/local/src目录备用

2.4执行安装
cd /usr/local/src
# 添加可执行权限chmod +x NVIDIA-Linux-x86_64-580.105.08.run
# 执行安装sudo ./NVIDIA-Linux-x86_64-580.105.08.run
安装的时候,会让你选择许可证,我们直接选择 **NVIDIA Proprietary**即可
| 选项 | 许可证 | 特点 | 推荐选择 |
|---|---|---|---|
| NVIDIA Proprietary | 专有许可证 | • 传统的NVIDIA专有驱动 • 经过长期测试,稳定性高 • 与各种NVIDIA功能完全兼容 | 大多数用户 |
| MIT/GPL | 开源许可证 | • 较新的开源内核模块 • 更好的内核兼容性 • 遵循开源协议 | 特定场景用户 |
如果操作系统安装的是字符界面,则会出现一个警告:
WARNING: nvidia-installer was forced to guess the X library path ‘/usr/lib64’ and X module path ‘/usr/lib64/xorg/modules’;
这个警告信息表明NVIDIA安装程序无法自动检测到X Window系统的开发文件位置,解决这个警告你需要安装X.Org的开发包和pkg-config工具,
这个警告不会影响CUDA计算功能,只会影响图形显示,如果你只在字符界面使用Rocky Linux进行计算任务,可以暂时忽略这个警告
2.5 验证
# 若输出显示显卡信息、驱动版本,则安装成功
nvidia-smi

CUDA Version: 13.0 表示支持的 cuda 版本最高到 13.0 版本
3.安装CUDA
CUDA 是 Compute Unified Device Architecture 的缩写,是NVIDIA推出的并行计算平台和编程模型。
**本质:**让GPU不仅能处理图形,还能进行通用计算的平台
**作用:**允许开发者使用C/C++等语言直接在GPU上编写程序
**应用领域:**AI/深度学习、科学计算、数据分析、图形渲染等
前提条件,需要先安装 NVIDIA 驱动
nvidia-smi # 有输出,则确认驱动正常工作
3.1 下载CUDA Toolkit并安装
RTX 2080 Ti 的最优 CUDA 版本为 11.7 或 11.8,我们选择 11.8 版本下载,下载地址:https://developer.nvidia.com/cuda-toolkit-archive ,找到对应的版本,选择合适的环境下载。下载后,文件存放到 /usr/local/src

cd /usr/local/srcwget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.runsudo sh cuda_11.8.0_520.61.05_linux.run
安装的时候,会出现错误:unsupported compiler version: 14.2.1. Use --override to override this check. 此时使用下面命令跳过检查。 原因是当前系统版本的gcc版本过高 ,cuda_11.8.0 不识别这个gcc版本。生产环境可以降低 gcc版本,比如gcc 10 版本。因为现在是测试,直接跳过检查
sudo sh cuda_11.8.0_520.61.05_linux.run --override

因为驱动已经安装了,所以这里需要将 “Driver” 选项去掉
安装完毕后,Toolkit 被安装在了
/usr/local/cuda-11.8, 同时有个链接文件/usr/local/cuda指向了这个目录
3.2环境变量配置
# 编辑bash配置文件
vim ~/.bashrc# 添加以下内容(版本号根据实际安装调整)
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda# 使配置生效
source ~/.bashrc
3.3验证
# 检查CUDA编译器
nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0# 检查CUDA工具包版本
nvidia-smi # 查看右上角的CUDA Version

nvidia-smi 显示的CUDA版本是驱动程序支持的最高 CUDA版本,不是实际安装的CUDA版本,使用
nvcc --version显示的才是实际安装的版本。
4.安装Conda
Conda 是一个开源的包管理和环境管理系统,最初由 Anaconda 公司开发,主要用于 Python 及其他语言(如 R、Ruby、Lua、Perl、Haskell、C/C++)的包管理和环境管理。它可以安装、更新、卸载软件包,并创建隔离的虚拟环境,使得不同项目之间的依赖不会相互干扰。Conda与pip的区别:

cd /usr/local/src
# 下载安装脚本
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh# 执行安装sh Miniconda3-latest-Linux-x86_64.sh# 手动激活 base环境
eval "$(/root/miniconda3/bin/conda shell.bash hook)"# 接收许可
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r# 查看源
conda config --show-sources
==> /root/miniconda3/.condarc <==
channels:- defaultsconda config --set show_channel_urls yesconda config --show channels# 自动激活base环境
conda config --set auto_activate_base true
5.问题和解决
操作系统安装完毕之后,就执行了 yum -y update,这个命令会对内核进行升级。随后机器没有重启的情况下,卸载了默认显卡驱动。机器重启后,默认会使用最新的内核,此时就会因为找不到驱动而启动不了。所以此时要退回到先前的内核。 启动的时候,先选择旧版本内核,然后执行下面命令:
# 1. 确认内核信息
rpm -q kernel
# 下面是输出
kernel-6.12.0-55.12.1.el10_0.x86_64
kernel-6.12.0-55.41.1.el10_0.x86_64# 2. 查看当前默认启动的内核
grubby --default-kernel
# 输出
/boot/vmlinuz-6.12.0-55.41.1.el10_0.x86_64# 3. 查看内核/boot目录下的内核镜像
ls /boot/vmlinuz-*
/boot/vmlinuz-0-rescue-0a05c67023bd4758abf2340064535ff6
/boot/vmlinuz-6.12.0-55.41.1.el10_0.x86_64
/boot/vmlinuz-6.12.0-55.12.1.el10_0.x86_64# 4.使用 grubby --set-default 命令,并指定旧内核的完整路径
# 请将 vmlinuz-6.12.0-55.12.1.el10_0.x86_64 替换成你自己机器上的版本grubby --set-default=/boot/vmlinuz-6.12.0-55.12.1.el10_0.x86_64# 输出The default is /boot/loader/entries/0a05c67023bd4758abf2340064535ff6-6.12.0-55.12.1.el10_0.x86_64.conf with index 1 and kernel /boot/vmlinuz-6.12.0-55.12.1.el10_0.x86_64# 5.验证设置.再次执行 grubby --default-kernel 命令,确认输出的内核路径已更改
grubby --default-kernel
# 输出
/boot/vmlinuz-6.12.0-55.12.1.el10_0.x86_64
经过了上面的步骤之后,就基础环境就算建立好了。
