布丁不哭 發表於 2025-10-18 00:00:00

Linux服务器下非root用户安装CUDA的详细流程(多次踩雷经验总结)

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>前言</li><li>一、清楚服务器的版本<ul class="second_class_ul"><li>1.1查看操作系统版</li><li>1.2查看服务器支持的CUDA的最高版本</li><ul class="third_class_ul"><li>2.1 选择版本</li></ul></ul></li><li>二、CUDA的下载与安装<ul class="second_class_ul"><li>2.2 下载安装包</li><ul class="third_class_ul"></ul><li>2.3 安装runfile文件</li><ul class="third_class_ul"></ul></ul></li><li>三、CUDNN安装与下载<ul class="second_class_ul"><li>3.1官网下载cudnn</li><ul class="third_class_ul"></ul><li>3.2本地解压(本地指自己的电脑区别于服务器)</li><ul class="third_class_ul"></ul><li>3.3上传Cudnn文件</li><ul class="third_class_ul"></ul><li>3.4 复制文件:把Cudnn文件夹下的文件复制到CUDA下</li><ul class="third_class_ul"></ul></ul></li></ul></div><p class="maodian"></p><h2>前言</h2>
<p>深度学习免不了需要CUDA加速,但是在诸多的CUDA安装教程中使用的都是sudo命令,服务器只有一个管理员,非管理员用户无法使用sudo命令,更新和安装CUDA通常会出现如下报错</p>
<p>不在 sudoers 文件中。此事将被报告。</p>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q603344S.png" /></p>
<p class="maodian"></p><h2>一、清楚服务器的版本</h2>
<p class="maodian"></p><h3>1.1查看操作系统版</h3>
<p>命令行输入</p>
<div class="dxycode"><pre class="brush:bash;">cat /proc/version</pre></div>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q60334421.png" /></p>
<p>由此确定服务器linux操作系统的版本 可以看出本台服务器为<strong>Ubuntu20.04版本 </strong></p>
<p>后面在官网下载CUDA要用到</p>
<p class="maodian"></p><h3>1.2查看服务器支持的CUDA的最高版本</h3>
<div class="dxycode"><pre class="brush:bash;">nvidia-smi</pre></div>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q603343T.png" /></p>
<p>本台服务器支持的<strong>CUDA的最高版本是12.0</strong></p>
<p>后面在官网下载CUDA也要用到</p>
<p class="maodian"></p><h2>二、CUDA的下载与安装</h2>
<p class="maodian"></p><h4>2.1 选择版本</h4>
<p>转到CUDA官网:https://developer.nvidia.com/cuda-toolkit-archive</p>
<p>我这里根据我的服务器选择的版本是12.0.0</p>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q60335163.png" /></p>
<p>点进去出现更详细的版本选择界面</p>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q60335R0.png" /></p>
<p>根据自己服务器版本选(前面说过如何查看服务器版本了)</p>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q60335C2.png" /></p>
<p>因为没有sudo权限,所以<strong>安装类型选择runfile</strong>(组里的师兄告诉的)其他的安装方式我也没有尝试</p>
<p class="maodian"></p><h3>2.2 下载安装包</h3>
<p>这时候会发现下面出现了安装指令</p>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q6033B11.png" /></p>
<p>一步一步运行</p>
<p>在命令行输入</p>
<div class="dxycode"><pre class="brush:bash;">wget https://developer.download.nvidia.com/compute/cuda/12.0.0/local_installers/cuda_12.0.0_525.60.13_linux.run</pre></div>
<p>过一会发现文件下载到了当前用户的目录下</p>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q6033LF.png" /></p>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q6033U26.png" /></p>
<p class="maodian"></p><h3>2.3 安装runfile文件</h3>
<p>在安装之前要新建一个CUDA的文件夹 用来作为安装路径 否则默认安装路径没有权限也会以报错</p>
<p>如上图,我的路径是<strong>home/XXX/CUDA12.0.0</strong>(后面要考)</p>
<p>接下来就是安装</p>
<p>会发现直接使用官网给出的命令会报错 因为没有sudo权限</p>
<p>很简单 去掉sudo就好</p>
<p>命令行输入</p>
<div class="dxycode"><pre class="brush:bash;">sh cuda_12.0.0_525.60.13_linux.run</pre></div>
<p>(如果下载的和我不是一个版本 要换成自己下载的文件的名称)</p>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q6033W13.png" /></p>
<p>这时候就进去了安装界面</p>
<p>问你accept嘛?就输入accept</p>
<p>后面的流程照着我的改(千万记得修改为自己的路径)</p>
<p>1.取消driver(空格 ENTER可以取消)</p>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q6033X61.png" /></p>
<p>2.下键&darr; 进入Options(ENTER 进入)<br />3.进入Toolkit Options</p>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q6033V08.png" /></p>
<p>4.修改Toolkit路径(修改为新建文件夹路径)</p>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q6033W30.png" /></p>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q6033X19.png" /></p>
<p>5.Done退出</p>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q603392N.png" /></p>
<p>6.同理修改Library路径(也是新建文件夹的路径)<br />7.Done 退出<br />8.Install安装</p>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q6033c44.png" /></p>
<p>9.出现如下字符安装成功</p>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q6033c46.png" /></p>
<p>10.修改bashrc</p>
<p>命令行输入vim ~/.bashrc</p>
<p>按 i 键进入插入模式</p>
<p>修改后三行(对应的地方改成自己的路径)</p>
<div class="dxycode"><pre class="brush:bash;">export CUDA_HOME=$CUDA_HOME:/home/XXX/CUDA12.0.0
export PATH="/home/XXX/CUDA12.0.0/bin:$PATH"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/XXX/CUDA12.0.0/lib64</pre></div>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q6033c59.png" /></p>
<p>编辑好文本后按Esc,退出插入状态</p>
<p>输入冒号,输入wq 回车</p>
<p>11.</p>
<div class="dxycode"><pre class="brush:bash;">source ~/.bashrc</pre></div>
<p class="maodian"></p><h2>三、CUDNN安装与下载</h2>
<p class="maodian"></p><h3>3.1官网下载cudnn</h3>
<p>这里需要注册账号 ,没有什么会踩雷的地方,就跳过,直接进入下载步骤</p>
<p>cuDNN Archive | NVIDIA Developer</p>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q6033b35.png" /></p>
<p>这个下载到自己的电脑 下载到本地就好</p>
<p class="maodian"></p><h3>3.2本地解压(本地指自己的电脑区别于服务器)</h3>
<p>解压两次 直到出现子文件夹</p>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q603394W.png" /></p>
<p class="maodian"></p><h3>3.3上传Cudnn文件</h3>
<p>在服务器新建一个文件夹 例如我的是/home/XXX/Cudnn</p>
<p>把解压后的所有文件上传到所有文件夹里</p>
<p>我用的是Xftp 可以直接传输 如果不能建议搜一下其他博客如何通过命令行的指令传输</p>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q60340D9.png" /></p>
<p class="maodian"></p><h3>3.4 复制文件:把Cudnn文件夹下的文件复制到CUDA下</h3>
<p>首先跳转到Cudnn文件夹下</p>
<div class="dxycode"><pre class="brush:bash;">cd /home/XXX/Cudnn</pre></div>
<p>复制(换成自己的路径)</p>
<div class="dxycode"><pre class="brush:bash;">cp /home/XXX/Cudnn/include/cudnn.h /home/XXX/CUDA12.0.0/include/

cp /home/XXX/Cudnn/lib/libcudnn* /home/XXX/CUDA12.0.0**/lib64/</pre></div>
<p>修改权限</p>
<div class="dxycode"><pre class="brush:bash;">chmod a+r /home/XXX/CUDA12.0.0/include/cudnn*.h

chmod a+r home/XXX/CUDA12.0.0/lib64/libcudnn*</pre></div>
<p>第二条指令可能会报错,</p>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q603403M.png" /></p>
<p>如果报错,修改为:</p>
<div class="dxycode"><pre class="brush:bash;">chmod a+r /home/XXX/CUDA12.0.0/targets/x86_64-linux/lib/libcudnn*</pre></div>
<p>查看是否安装成功</p>
<p>查看版本:</p>
<div class="dxycode"><pre class="brush:bash;">nvcc -V</pre></div>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q60345511.png" /></p>
<p>出现版本信息表示安装成功</p>
<p>查看安装路径:</p>
<div class="dxycode"><pre class="brush:bash;">which nvcc</pre></div>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20251018/2-25101Q60345B9.png" /></p>
<p>至此结束!</p>
<p>以上就是Linux 服务器下非root用户安装CUDA完整流程(多次踩雷经验总结)的详细内容,更多相关资料请阅读琼殿技术社区其它文章!</p>
頁: [1]
查看完整版本: Linux服务器下非root用户安装CUDA的详细流程(多次踩雷经验总结)