如何配置实验室的服务器

实验室的服务器是多用户共享物理机 ,但系统会给每个账号分配「独立的用户目录」(你的目录就是 /home/你的用户名/),所有用户之间互相隔离、互不影响

  • 别人装的 python/conda/pytorch,都在别人的 /home/xxx/ 目录下,你的账号完全访问不到
  • 你自己装的所有软件,也只会存在于你的个人目录,别人看不到、用不了,也不会被别人的操作覆盖 / 搞崩;
  • 没有管理员权限 (没有sudo命令),根本没法把软件装到服务器的「系统公用目录」(比如/usr/bin),只能装在自己目录里,这是服务器的安全规则。

1. nvidia-smi → 属于【NVIDIA 显卡驱动】,是服务器公用的

  • 服务器物理机上,管理员已经装好了NVIDIA 显卡驱动 ,这个驱动是给所有用户共享的,只要显卡硬件在,所有账号都能执行 nvidia-smi 查看显卡信息;
  • 显卡驱动是系统级的底层程序,负责让服务器识别显卡。
  • 显卡驱动版本,决定了你能安装的「CUDA Toolkit 最高版本」

2. nvcc → 属于【CUDA Toolkit 工具包】,一般是没有的,需要自己装

  • nvccCUDA 编译器 ,是 CUDA Toolkit 这个软件包里的核心命令,不是显卡驱动自带的;
  • 当服务器没有装系统级的 CUDA Toolkit ,系统找不到nvcc这个命令,就会报 command not found
  • 解决方案:在个人目录下,装一个「私有版 CUDA Toolkit」,仅自己可用支持在一台服务器上装多个版本 (比如~/applications/cuda-11.8~/applications/cuda-12.8共存)

3. 【PyTorch/k2 内置的 CUDA Runtime】→ 虚拟环境内、库级、和 Toolkit解耦(torch.version.cuda查这个)

  • 命令:python -c "import torch; print(torch.version.cuda)" → 查的是这个
  • 归属:属于每个 Python 虚拟环境的私有依赖 ,装在conda envvenv里,不同环境可以完全不同版本

以安装CUDA Toolkit 12.8为例

从 CUDA 12.x 版本开始,默认不再提供 tar.gz 格式的离线包,仅保留 runfile 和 deb 格式

1. 创建用户安装目录

复制代码
mkdir applications

2. 进入用户安装目录

复制代码
cd applications

3. 下载CUDA Toolkit 12.8

复制代码
wget https://developer.download.nvidia.com/compute/cuda/12.8.0/local_installers/cuda_12.8.0_570.86.10_linux.run

4. 执行安装

复制代码
sudo sh cuda_12.8.0_570.86.10_linux.run

输密码报错

复制代码
xxx is not in the sudoers file.

账号没有服务器管理员权限(sudo 权限 ),完全不能用sudo执行任何命令

用已下载的.run包,无sudo
复制代码
sh cuda_12.8.0_570.86.10_linux.run --silent --toolkit --no-drm --override --installpath=$HOME/applications/cuda-12.8
  • --silent:静默安装,无弹窗、无交互,一路自动安装;
  • --toolkit只装 CUDA Toolkit 工具包(包含 nvcc 编译器、核心库),不装显卡驱动、不装 samples,这是唯一需要的;
  • --no-drm:跳过驱动相关的权限检查,普通用户必加;
  • --override:跳过版本兼容性检查,解决普通用户目录的权限警告;
  • --installpath=xxx:指定安装到个人目录,核心中的核心,无 sudo 的关键!

5. 配置环境变量

编辑~/.bashrc
复制代码
vim ~/.bashrc
在末尾添加以下内容
复制代码
# >>> CUDA >>>
export CUDA_HOME=~/applications/cuda-12.8
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
# <<< CUDA <<<
生效配置
复制代码
source ~/.bashrc
6. 验证 nvcc
复制代码
nvcc --version
还有一种安装方法
提取runfile内容(仅解压,不安装),指定提取路径为你的用户目录
复制代码
./cuda_12.8.0_570.86.10_linux.run --extract=~/applications/cuda-12.8-extract
进入提取后的目录,找到cuda_toolkit目录(包含nvcc等工具)
复制代码
cd ~/applications/cuda-12.8-extract
把toolkit文件复制到~/applications/cuda-12.8(统一路径)
复制代码
mkdir -p ~/applications/cuda-12.8
cp -r ./cuda_toolkit/* ~/applications/cuda-12.8/
配置环境变量,与前面一致
相关推荐
野犬寒鸦19 小时前
从零起步学习并发编程 || 第六章:ReentrantLock与synchronized 的辨析及运用
java·服务器·数据库·后端·学习·算法
HalvmånEver19 小时前
Linux:线程互斥
java·linux·运维
JY.yuyu20 小时前
Docker常用命令——数据卷管理 / 端口映射 / 容器互联
运维·docker·容器
alice--小文子20 小时前
cursor-mcp工具使用
java·服务器·前端
lpruoyu20 小时前
【Docker进阶-06】docker-compose & docker swarm
运维·docker·容器
China_Yanhy21 小时前
入职 Web3 运维日记 · 第 8 日:黑暗森林 —— 对抗 MEV 机器人的“三明治攻击”
运维·机器人·web3
艾莉丝努力练剑21 小时前
hixl vs NCCL:昇腾生态通信库的独特优势分析
运维·c++·人工智能·cann
酉鬼女又兒21 小时前
每天一个Linux命令_printf
linux·运维·服务器
翼龙云_cloud21 小时前
国际云代理商:2026年国际云注册风控升级实战指南 8 大平台无卡解决方案对比
服务器·阿里云·云计算
虾说羊21 小时前
docker容器化部署项目流程
运维·docker·容器