[教程] 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!

相关推荐
AC赳赳老秦20 分钟前
财务报销自动化:用 OpenClaw 自动识别发票信息、填写报销单、校验报销规则,减少手工操作
运维·网络·eclipse·github·visual studio·deepseek·openclaw
05候补工程师38 分钟前
深度解构 ROS 2:如何手动调通 Nav2 A* 路径规划引擎
linux·人工智能·经验分享·算法·机器人
zhangfeng11331 小时前
适合 5人以内小团队的Git 工作流 + Code Review + 自动化部署方案 FastAdmin +linunx服务器宝塔系统 外包项目 —
服务器·git·自动化·php·代码复审
北冥湖畔的燕雀1 小时前
Linux线程编程核心指南
linux·服务器·网络
倔强的石头1061 小时前
【Linux 指南】文件系统系列(一):磁盘底层原理 —— 从物理结构到 CHS与LBA 寻址全解析
linux·运维·服务器
南汁bbj2 小时前
彻底解决!Milvus远程连接报错code=2、gRPC超时问题(Windows访问Linux服务终极方案)
linux·windows·milvus
小金的学习笔记2 小时前
小白打造个人博客的神奇秘诀:WordPress 竟如此简单?
服务器
宁小法2 小时前
Linux上 log日志很大,如何获取部分内容?
linux·日志文件·传输
zhangrelay2 小时前
云课实践速通系列-基础篇汇总-必修-通识基础和专业基础-2026--工科--自动化、电气、机器人、测控等
linux·笔记·单片机·学习·ubuntu·机器人·自动化
陶然同学3 小时前
【Linux及Shell】VMware&Ubuntu&Xshell安装
linux·运维·xshell8·xftp8