Ubuntu18.04安装NVIDIA驱动与CUDA、CUDNN,亲测好用,百遍重装经验

本指南详细介绍了在Ubuntu系统中安装CUDA和CUDNN的步骤,包括禁用nouveau驱动、下载安装包、设置环境变量及验证安装是否成功。
部署运行你感兴趣的模型镜像

准备工作

1、开机进ubuntu设计界面按e禁用nouveau驱动操作流程
2、去nvidia官网下载CUDA安装包下载传送门
在这里插入图片描述
3、下载CUDNN我是传送门
在这里插入图片描述
4、安装gcc 6 或者降级降级

sudo apt-get install gcc-6

5、安装make

sudo apt-get install make

安装CUDA

1、给run安装包可执行权限

chmod 777 cudaxxx1.run #有多少个执行多少次
chmod 777 cudaxxx2.run

2、执行

sudo ./cudaxxx1.run #有多少个执行多少次
sudo ./cudaxxx2.run

安装时一般都选accept default y
只需注意若是已经安装高于cuda推荐版本的nvidia驱动时,在选择是否安装驱动是选n,反之y
3、设置环境变量

sudo gedit ~/.bashrc

在最后加入

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda

4、验证cuda是否安装成功
重启终端输入

nvcc -V

出现如下
在这里插入图片描述

安装CUDNN

1、解压

tar -xvf cudnnxxx.tar

2、复制

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

3、验证是否安装成功

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

出现如下,即成功
在这里插入图片描述

永久禁用nouveau

sudo gedit /etc/modprobe.d/blacklist.conf

输入密码后在最后一行加上: blacklist nouveau 是将Ubuntu自带的显卡驱动加入黑名单
Ctrl +S保存后注意此时还需执行以下命令使禁用 nouveau 真正生效终端输入 :

sudo update-initramfs -u

重启电脑

附录

1、查看已装nvidia驱动的版本

sudo dpkg --list | grep nvidia-*

2、卸载nvidia驱动或者cuda

-------------nvidia
sudo apt-get --purge remove nvidia-*
# 也有的说用下面的命令进行卸载,我个人均有尝试,无碍
sudo apt-get --purge remove "*nvidia*"
-------------cuda
sudo apt autoremove cuda
# 若上一步删不干净,接着使用:
sudo apt --purge remove "*cublas*" "cuda*"

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

<think>首先,用户的问题很明确:在Ubuntu18.04安装CUDA11.6时遇到dpkg错误,错误消息是“unknownoption”。另外,用户还提到nvidia-smi显示Windows下的CUDA12.9版本,这需要纠正,因为在Ubuntu环境下应该显示正确的CUDA版本。用户的问题是:"ubuntu18.04dpkgerrorunknownoptioncuda11.6installationnvidia-smishowswindowscuda12.9instead"回想之前的对话历史:-用户最初尝试使用命令`sudodpkg-icuda-repo-ubuntu1804-11-6-local_11.6.0-510.39.01-1_amd64.deb`安装CUDA11.6的deb包。-系统返回错误:dpkg:error:unknownoption-�(可能是一个特殊字符或格式错误)。-我之前给出了一些建议,包括修复命令格式、安装依赖项、处理驱动冲突等。-现在用户参考了站内引用,并想解决dpkg错误,并确保nvidia-smi显示正确的CUDA版本。从之前的回答中,错误的原因可能包括:1.**命令格式错误**:文件名中的连字符可能导致dpkg误认为是选项。2.**依赖项问题**:缺少必要的包如build-essential。3.**驱动冲突**:尤其是nouveau驱动未禁用或旧驱动残留。4.**系统更新导致内核问题**:从引用[2]和[3]中可以看出,系统内核更新可能导致驱动失败。5.**nvidia-smi显示错误CUDA版本**:这很奇怪,因为用户提到nvidia-smi显示Windows的CUDA12.9,可能是在双系统环境下,或者有路径错误。结构化回答:1.**解决dpkg错误**:-推荐使用正确格式安装deb包:使用完整路径和引号。-如之前的建议:`sudodpkg-i"./cuda-repo-ubuntu1804-11-6-local_11.6.0-510.39.01-1_amd64.deb"`-如果仍有问题,先修复依赖:`sudoaptupdate&&sudoaptinstall-f`-或者使用官方Runfile安装作为替代。2.**处理CUDA版本显示错误**:-nvidia-smi通常显示驱动支持的CUDA最高版本,不是当前安装版本。-用户说显示Windows的CUDA12.9,这可能意味着:-用户可能使用双系统(Windows和Ubuntu),启动时选了Windows驱动?这不可能,因为nvidia-smi是在Ubuntu下运行。-可能是环境变量设置错误,PATH或LD_LIBRARY_PATH指向了错误的CUDA路径。-从引用[5]中,用户需要设置正确的环境变量。-解决方案:-验证当前安装CUDA版本:`/usr/local/cuda/bin/nvcc-V`-检查环境变量:echo$PATH,echo$LD_LIBRARY_PATH-修正~/.bashrc或/etc/profile,使用正确的CUDA路径。-在~/.bashrc中设置:`exportPATH=/usr/local/cuda-11.6/bin:$PATH`和`exportLD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64:$LD_LIBRARY_PATH`,然后运行`source~/.bashrc`。3.**驱动安装nvidia-smi失败**:-从引用[2]和[3],内核更新可能导致问题。-解决方案:-禁用nouveau驱动:`sudobash-c"echo'blacklistnouveau'>/etc/modprobe.d/blacklist-nouveau.conf"`然后`sudoupdate-initramfs-u`并重启。-重新安装NVIDIA驱动:`sudoaptpurge*nvidia*&&sudoaptautoremove`,然后从官方下载驱动。-或使用CUDARunfile附带安装驱动。4.**完整安装流程**:-建议使用Runfile以避免dpkg错误。-下载CUDA11.6的Runfile:从NVIDIA官网。-运行:`sudoshcuda_11.6.0_510.39.01_linux.run--silent--driver--toolkit`-安装后,确保路径正确。5.**验证**:-安装后运行:-`nvidia-smi`应显示驱动信息和兼容的CUDA版本(可能高于11.6)。-`nvcc-V`应显示安装CUDA11.6版本。回答结构:-引言:确认问题。-步骤1:解决dpkg错误。-步骤2:正确安装CUDA驱动。-步骤3:设置环境变量。-步骤4:验证安装。-相关问题的生成。确保使用中文,引用站内引用自然添加标识。例如,[^1],[^2],等。生成相关问题:1.如何完全卸载Ubuntu上的CUDANVIDIA驱动?2.如何处理nvidia-smi失败,显示无法NVIDIA驱动通信?3.Ubuntu18.04支持哪些CUDA版本?4.如何修复系统内核更新导致的驱动失败?最后,使回答清晰、可靠。</think> ### 解决 Ubuntu 18.04 安装 CUDA 11.6 时遇到的 dpkg 错误及 nvidia-smi 显示问题 您的问题涉及两个关键方面: 1. **dpkg 未知选项错误 (`dpkg: error: unknown option`)**: 主要原因是命令中包含特殊字符或格式不兼容。 2. **nvidia-smi 显示 Windows CUDA 12.9 版本**: 这通常由环境变量冲突或驱动配置错误引起(尤其在双系统环境下)。参考您提供的引用[^2][^3],NVIDIA驱动系统内核的不兼容也可能导致类似问题。 以下是系统化的解决步骤。**操作前请备份重要数据,并以 root 权限执行命令**。 --- ### 🔧 步骤 1: 解决 dpkg 安装错误 错误源于文件名中的连字符(`-`)被误判为命令选项。使用以下方法修复: 1. **使用引号包裹文件路径**: ```bash sudo dpkg -i "./cuda-repo-ubuntu1804-11-6-local_11.6.0-510.39.01-1_amd64.deb" ``` 2. **如果仍有错误,安装缺失依赖**: ```bash sudo apt update sudo apt install -f # 修复损坏的依赖链 sudo apt install build-essential dkms # 安装基础工具,参考[^3] ``` 3. **替代方案:使用官方 Runfile (推荐)**: 从 NVIDIA 官网下载 Runfile(文件名如 `cuda_11.6.0_510.39.01_linux.run`),然后运行: ```bash sudo sh cuda_11.6.0_510.39.01_linux.run --silent --driver --toolkit ``` 选择不安装驱动(若已有兼容驱动),以规避 dpkg 问题[^1]。 --- ### 🔧 步骤 2: 处理驱动冲突和内核问题 确保 NVIDIA 驱动兼容 CUDA 11.6(建议驱动版本 ≥510.39.01)。系统重启后驱动失败是常见问题,参考[^2][^3]: 1. **禁用 nouveau 开源驱动**: ```bash sudo bash -c "echo 'blacklist nouveau' > /etc/modprobe.d/blacklist-nouveau.conf" sudo bash -c "echo 'options nouveau modeset=0' >> /etc/modprobe.d/blacklist-nouveau.conf" sudo update-initramfs -u reboot ``` 重启后验证:`lsmod | grep nouveau` 应无输出[^4]。 2. **完全卸载旧驱动**(解决 nvidia-smi 显示错误): ```bash sudo apt purge *nvidia* *cuda* # 移除所有残留驱动CUDA sudo /usr/bin/nvidia-uninstall # 如有残留脚本 sudo apt autoremove ``` 3. **重新安装驱动**: - 从 NVIDIA 官网下载驱动(如 `NVIDIA-Linux-x86_64-510.85.02.run`) - 运行: ```bash sudo sh NVIDIA-Linux-x86_64-510.85.02.run --silent ``` 或使用 CUDA Runfile 附带安装驱动。 --- ### 🔧 步骤 3: 设置 CUDA 环境变量并修复版本显示 nvidia-smi 显示 Windows CUDA 12.9 可能是环境变量被污染或路径错误: 1. **检查当前 CUDA 安装**: ```bash /usr/local/cuda/bin/nvcc -V # 应显示 CUDA 11.6 ``` 如果 nvcc 报错,CUDA 可能未正确安装。 2. **修正环境变量**:编辑 `~/.bashrc`: ```bash nano ~/.bashrc ``` 末尾添加(路径匹配 CUDA 11.6): ```bash export PATH=/usr/local/cuda-11.6/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64:$LD_LIBRARY_PATH ``` 保存后运行: ```bash source ~/.bashrc ``` 参考[^5]确保路径正确。 3. **验证版本**: ```bash nvidia-smi # 应显示驱动版本和兼容CUDA (如11.6) nvcc -V # 应显示 "release 11.6" ``` **注意**:nvidia-smi 显示的是驱动支持的最高 CUDA 版本(可能为12.x),但 `nvcc -V` 才是实际安装版本[^1]。 --- ### ✅ 步骤 4: 完整安装 CUDA 11.6 和 cuDNN 1. **安装 cuDNN** (参考[^4]): ```bash sudo cp cuda/include/cudnn.h /usr/local/cuda-11.6/include sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.6/lib64 sudo chmod a+r /usr/local/cuda-11.6/include/cudnn.h sudo chmod a+r /usr/local/cuda-11.6/lib64/libcudnn* ``` 2. **最终验证**: ```bash nvidia-smi # 确保驱动正常运行 nvcc -V # 确认CUDA 11.6 cat /proc/driver/nvidia/version # 显示驱动详情 ``` --- ### 📊 故障排除表 | 问题现象 | 可能原因 | 解决方案 | |----------|----------|----------| | `dpkg: unknown option` | 文件名特殊字符 | 使用引号包裹路径或改用 Runfile | | nvidia-smi 显示 Windows CUDA 12.9 | 环境变量冲突 | 修正 `~/.bashrc` 路径 [^5] | | `nvidia-smi has failed` | 内核更新导致驱动失效 | 禁用 nouveau 并重装驱动 [^2][^3] | | `nvcc -V` 报错 | CUDA 未正确安装 | 使用 Runfile 安装并检查环境变量 | 如果问题持续,建议: - 在 BIOS 中禁用 “Secure Boot” 避免驱动签名冲突。 - 使用单一系统启动(避免双系统干扰环境)。 --- ### 📌 相关问题 1. 如何完全卸载 Ubuntu 上的 CUDANVIDIA 驱动残留? 2. 如何处理系统内核更新后 `nvidia-smi failed` 的错误? 3. Ubuntu 18.04 官方支持的最高 CUDA 版本是多少? 4. 如何在双系统环境下确保 CUDA 环境变量不被污染? 我已基于您的系统环境和引用信息优化方案,实际效果取决于硬件配置。继续执行后如果仍有问题,请提供命令输出细节! 😊
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杰出的小茄子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值