解决 Ubuntu 中 /usr/local/cuda 缺失问题及 CUDA Toolkit 12.8 的安装修复过程

目录

🔍 一、问题现象

📌 二、原因分析

🔧 三、解决方案:安装 CUDA Toolkit

✅ 安装命令(Ubuntu 22.04 + CUDA 12.8):

🧪 四、验证安装结果

1. 查看是否生成目标目录:

2. 可选:创建标准软链接

3. 检查 nvcc 是否可用:

🧹 五、总结建议


在使用 NVIDIA GPU 驱动部署 CUDA 程序时,很多开发者会默认系统中存在 /usr/local/cuda 目录。然而,有时在安装 NVIDIA 驱动后发现:

ls: cannot access '/usr/local/cuda': No such file or directory

这并不是驱动损坏,而是因为你只安装了 NVIDIA 驱动,却没有安装 CUDA 工具链(Toolkit)。本文将详细介绍如何排查并修复这个问题。


🔍 一、问题现象

执行以下命令:

ls /usr/local/cuda

输出提示:

ls: cannot access '/usr/local/cuda': No such file or directory

尝试查看 CUDA 版本:

nvcc --version

提示:

Command 'nvcc' not found, but can be installed with: apt install nvidia-cuda-toolkit

📌 二、原因分析

NVIDIA 驱动中自带的 CUDA Runtime 允许你运行已编译的 CUDA 程序(例如 nvidia-smi 会显示 CUDA 版本),但无法编译代码,因为编译器(如 nvcc)和开发头文件并不包括在内。

组件是否包含
NVIDIA 驱动✔️ 仅包含 CUDA Runtime
CUDA Toolkit(如 12.8)✔️ 包含 nvcc、cuda.h、samples、编译工具等

🔧 三、解决方案:安装 CUDA Toolkit

你只需安装对应版本的 CUDA Toolkit 即可:

✅ 安装命令(Ubuntu 22.04 + CUDA 12.8):
sudo apt-get update
sudo apt-get install -y cuda-toolkit-12-8

🧪 四、验证安装结果

1. 查看是否生成目标目录:
ls /usr/local/cuda-12.8
2. 可选:创建标准软链接
sudo ln -s /usr/local/cuda-12.8 /usr/local/cuda
3. 检查 nvcc 是否可用:
nvcc --version

输出示例:

Cuda compilation tools, release 12.8, V12.8.89

🧹 五、总结建议

操作目标需要组件是否自动安装
运行 nvidia-smi / CUDA 程序NVIDIA 驱动 + runtime✔️
编译 CUDA 程序 (nvcc)CUDA Toolkit❌(需手动)

为了避免部署出错,建议在安装完驱动后,始终确认是否存在 /usr/local/cudanvcc 工具,必要时手动安装 cuda-toolkit

 /usr/local/cuda/usr/local/cuda-12.8/ 等目录都存在,nvcc 命令仍然未识别


✅ 原因:环境变量 $PATH$LD_LIBRARY_PATH 没有包含 CUDA 路径

安装 CUDA Toolkit 后,不会自动将 CUDA 的 binlib64 目录加入系统环境变量,所以 nvcc 仍然找不到。


✅ 解决方案:配置环境变量

方法一:添加到当前用户或系统的 ~/.bashrc(推荐)

echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

方法二:针对所有用户(写入 /etc/profile.d/cuda.sh

sudo tee /etc/profile.d/cuda.sh > /dev/null << 'EOF'
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
EOF
sudo chmod +x /etc/profile.d/cuda.sh
source /etc/profile.d/cuda.sh

✅ 验证是否生效

which nvcc
nvcc --version

输出应为:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Fri_Feb_21_20:23:50_PST_2025
Cuda compilation tools, release 12.8, V12.8.93
Build cuda_12.8.r12.8/compiler.35583870_0

📌 补充说明:/usr/local/cuda 是链接到 /etc/alternatives/cuda/

这是由 update-alternatives 管理的符号链接。安装多个 CUDA 版本时它会自动维护 /usr/local/cuda 的指向。

你可以查看默认版本:

update-alternatives --display cuda

基于CNN+RNN+GCN+BERT的中文文本分类Python实现源码,个人经导师指导并认可通过的高分设计项目,评审分98分,项目中的源码都是经过本地编译过可运行的,都经过严格调试,确保可以运行!主要针对计算机相关专业的正在做大作业、毕业设计的学生和需要项目实战练习的学习者,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 基于CNN+RNN+GCN+BERT的中文文本分类Python实现源码基于CNN+RNN+GCN+BERT的中文文本分类Python实现源码基于CNN+RNN+GCN+BERT的中文文本分类Python实现源码基于CNN+RNN+GCN+BERT的中文文本分类Python实现源码基于CNN+RNN+GCN+BERT的中文文本分类Python实现源码基于CNN+RNN+GCN+BERT的中文文本分类Python实现源码基于CNN+RNN+GCN+BERT的中文文本分类Python实现源码基于CNN+RNN+GCN+BERT的中文文本分类Python实现源码基于CNN+RNN+GCN+BERT的中文文本分类Python实现源码基于CNN+RNN+GCN+BERT的中文文本分类Python实现源码基于CNN+RNN+GCN+BERT的中文文本分类Python实现源码基于CNN+RNN+GCN+BERT的中文文本分类Python实现源码基于CNN+RNN+GCN+BERT的中文文本分类Python实现源码基于CNN+RNN+GCN+BERT的中文文本分类Python实现源码基于CNN+RNN+GCN+BERT的中文文本分类Python实现源码基于CNN+RNN+GCN+BERT的中文文本分类Python实现源码基于CNN+RNN+GCN+BERT的中文文本分类Python实现源码基于CNN+RNN+G
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值