[教程] Linux 服务器无 Root (Sudo) 权限安装 CUDA Toolkit 终极指南

[教程] Linux 服务器无 Root (Sudo) 权限安装 CUDA Toolkit 终极指南

在实验室或公司的公共服务器上开发深度学习/HPC 程序时,我们经常会遇到这样的尴尬:

服务器明明有很强的显卡(如 RTX 4090),nvidia-smi 也能看到驱动正常,但是一运行编译命令就报错:

bash 复制代码
Error: nvcc not found. Please set CUDA_HOME or add nvcc to PATH.

找管理员装 CUDA 往往流程繁琐,或者服务器自带的 CUDA 版本太老不满足需求。其实,安装 CUDA Toolkit 根本不需要 sudo 权限。只要显卡驱动(Driver)已经装好,我们完全可以在自己的用户目录下安装一套独立的 CUDA。

本文将演示如何将 CUDA 安装到自定义目录(以 ~/Tools 为例),实现开发环境的完全自主可控。


前置说明:关于安装目录

在本文演示中,我将把 CUDA 安装到 ~/Tools 目录下(这是我个人存放工具的习惯)。

  • 请注意~/Tools 只是一个演示路径。
  • 你可以根据自己的习惯修改为任何你有写入权限的目录,比如 ~/software~/cuda~/app 等。在执行后续命令时,请务必将路径替换为你实际使用的目录。

第一步:确认显卡驱动与版本兼容性

首先,确保服务器已经由管理员安装了显卡驱动。

在终端输入:

bash 复制代码
nvidia-smi

重点关注右上角的 CUDA Version (例如 12.4)。

  • 这代表当前驱动最高支持的 CUDA 版本。
  • 你安装的 CUDA Toolkit 版本不能高于这个数字,但可以低于它(向下兼容)。

第二步:下载 CUDA Toolkit 安装包

前往 NVIDIA 官方下载页面,选择 Linux -> x86_64 -> Ubuntu (或其他发行版) -> runfile (local)

不要直接下载,右键复制下载链接 ,然后在服务器上使用 wget 下载。

CUDA 12.4 为例(假设你的驱动支持):

bash 复制代码
# 建议先进入你的安装包存放目录
cd ~/Tools 
wget https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda_12.4.1_550.54.15_linux.run

第三步:执行安装(核心步骤)

这是最关键的一步。直接运行 .run 文件通常会试图安装驱动(这需要 sudo),导致失败。我们需要使用命令行参数来"只安装工具包"并"指定路径"。

运行以下命令(请记得将 path 修改为你自己的目录):

bash 复制代码
# 1. 赋予执行权限
chmod +x cuda_12.4.1_550.54.15_linux.run

# 2. 静默安装到指定目录
# --silent: 不显示交互界面(防止因无权限报错)
# --toolkit: 只安装 CUDA 工具包(不装驱动)
# --toolkitpath: 指定你的安装目标目录(关键!)
# --override: 忽略编译器版本检查(可选,防止gcc版本报错)

./cuda_12.4.1_550.54.15_linux.run --silent --toolkit --toolkitpath=$HOME/Tools/cuda-12.4 --override

等待几十秒到一分钟,如果没有报错信息输出,通常就是安装成功了。

第四步:配置环境变量

安装完成后,你需要告诉系统去哪里找 nvcc。我们需要修改 ~/.bashrc 文件。

  1. 打开配置文件:
bash 复制代码
nano ~/.bashrc
  1. 在文件末尾添加以下内容(注意替换为你实际的安装路径):
bash 复制代码
# User Installed CUDA
export CUDA_HOME=$HOME/Tools/cuda-12.4
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
  1. 保存退出(Ctrl+O -> 回车 -> Ctrl+X),然后刷新环境:
bash 复制代码
source ~/.bashrc

第五步:验证安装

现在,再次检查 nvcc 是否可用:

bash 复制代码
which nvcc
# 输出示例: /home/your_user/Tools/cuda-12.4/bin/nvcc

nvcc --version
# 输出示例: Cuda compilation tools, release 12.4, V12.4.131

如果看到版本号,恭喜你!你已经成功绕过了 root 权限,拥有了自己的 CUDA 开发环境。


扫尾工作(可选)

安装包通常很大(几 GB),安装成功后可以将其删除以节省服务器空间:

bash 复制代码
rm cuda_12.4.1_550.54.15_linux.run

希望这篇教程能帮到同样被权限困扰的你!Happy Coding!

相关推荐
XiaoHu02072 小时前
Linux关于进程(第一弹)
linux·运维·服务器
麒qiqi2 小时前
【Linux 进程间通信】信号通信与共享内存核心解析
java·linux·算法
Studying 开龙wu2 小时前
Linux 系统中apt-get 和 pip命令有什么区别
linux·运维·pip
flying robot2 小时前
ELK单节点集群配置
运维·elk·jenkins
OliverH-yishuihan2 小时前
下载、安装和设置 Linux 工作负载
linux·运维·服务器
沈健_算法小生2 小时前
Ubutun22.04离线部署Jenkins最新版
运维·jenkins
MediaTea2 小时前
思考与练习(第四章 程序组成与输入输出)
java·linux·服务器·前端·javascript
松涛和鸣2 小时前
35、Linux IPC进阶:信号与System V共享内存
linux·运维·服务器·数据库·算法·list
惊鸿一博2 小时前
Linux文件同步/镜像—rsync
linux·运维