一, 挂载本地源镜像

1) 下载操作系统镜像

所有服务器操作系统必须统一,本平台只支持 CentOS 7.3 1611,镜像下载地址

2) 上传镜像到服务器 ,假设上传在 root 下

3) 建立挂载点,挂载

mkdir /mnt/cdrom

# 挂载光驱
mount -t /root/CentOS-7-x86_64-DVD-1611.iso /mnt/cdrom # 卸载光驱
umount /dev/hdc 或直接eject #强制卸载命令:
(1) fuser -mk /dev/hdc
(2) eject

4) 配置本地yum 源

1.进入 /etc/yum.repos.d下新建一个目录backup,然后使用 mv *.repo backup/,将之前的yum源剪贴到目录中。

2.新建local.repo 内容如下:
[local]
name=CentOS-$releasever local
baseurl=file:///mnt/cdrom/
gpgcheck=0
enabled=1 3.对yum进行初始化操作
yum clean all //清除缓存
yum makecache //建立新缓存 4.使用yum list | wc -l 统计个数

二,安装nvidia驱动

1,安装前的一系列准备工作

yum -y install kernel-devel
yum -y install epel-release
yum -y install dkms
yum -y install gcc

注:利用uname -a 命令查看系统内核版本,安装kernel-devel,dkms时的版本需与之对应一致。如利用yum安装时版本不一致,就挂载本地源的方式进行安装。

2,禁用nouveau

由于nouveau 这个驱动和 Nvidia 驱动冲突,想要继续安装,则必须禁用此驱动。

  1. 在启动项中禁用

vim /etc/default/grub #在GRUB_CMDLINE_LINUX中添加 rd.driver.blacklist=nouveau nouveau.modeset=0

/etc/default/grub 文本内容如下:

# 设定超时时间,默认为5秒
GRUB_TIMEOUT=5
# 获得发行版名称(比如CentOS Linux)
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
# 该项将使用grub-set-default和grub-reboot命令来配置默认启动项
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
# 将会导入到每个启动项
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet rd.driver.blacklist=nouveau nouveau.modeset=0"
GRUB_DISABLE_RECOVERY="true"

2) 把驱动加入黑名单中

vim /etc/modprobe.d/blacklist.conf 

#打开(新建)文件,加入
blacklist nouveau # 或者执行下面的命令
echo -e "blacklist nouveau\noptions nouveau modeset=0" > /etc/modprobe.d/blacklist.conf
  1. 使用 dracut重新建立 initramfs image file :
* 备份 the initramfs file
$ sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak * 重新建立 the initramfs file
$ sudo dracut -v /boot/initramfs-$(uname -r).img $(uname -r)
  1. 更新完配置后,重启
reboot
# 或者 init 3
  1. 检查nouveau driver确保没有被加载!
lsmod | grep nouveau
#应该返回空

3,安装nvidia驱动

# 先安装编译环境 gcc、kernel-devel、kernel-headers  (已经装过则不需要再次安装)
#"kernel-devel-uname-r == $(uname -r)"可以确保安装与当前运行内核版本一样的kernel-header
yum -y install gcc kernel-devel "kernel-devel-uname-r == $(uname -r)" dkms chmod +x NVIDIA-Linux-x86_64-390.87.run sudo ./NVIDIA-Linux-x86_64-390.87.run
# 全部选择 YES

其中的一些选项可自行百度,至此安装完成。

3.1 ERROR1: 缺少 gcc
  ERROR: Unable to find the development tool `cc` in your path; please make sure that you have the package 'gcc'  installed.  If gcc is installed on your system, then please check that `cc` is in your PATH.

解决方法:

yum install gcc
3.2 ERROR2: 缺少 kernel-devel
  ERROR: Unable to find the kernel source tree for the currently running kernel.  Please make sure you have installed the kernel source files for your kernel and that they are properly configured; on Red Hat Linux systems, for example, be sure you have the 'kernel-source' or 'kernel-devel' RPM installed.  If you know the correct kernel source files are installed, you may specify the kernel source path with the '--kernel-source-path' command line option.

解决方法:

yum install kernel-devel
3.3 ERROR3: 缺少 kernels的
  ERROR: Failed to run `/sbin/dkms build -m nvidia -v 390.87 -k 3.10.0-514.el7.x86_64`: Error! echo Your kernel headers for kernel 3.10.0-514.el7.x86_64 cannot be found at /lib/modules/3.10.0-514.el7.x86_64/build or /lib/modules/3.10.0-514.el7.x86_64/source.

解决方法:

# 检查/usr/src/kernels/有没有kernels的开发包
cd /usr/src/kernels/ && ls -al
# 有值则表示有
# 显示 3.10.0-957.10.1.el7.x86_64 cd /lib/modules/ && ls -al
# 显示 3.10.0-514.el7.x86_64
cd 3.10.0-514.el7.x86_64
# cd /lib/modules/$(uname -r) rm -f build
ln -s /usr/src/kernels/3.10.0-957.10.1.el7.x86_64 build

4,查看状态 nvidia-smi ,正常显示即驱动安装完成。

二,安装cuda9

1, 安装cuda9注意一点,再安装步骤中的第二步,询问是否安装驱动时,选择

NO。因为上面步骤已经安装完成了nvidia驱动。

chmod +x cuda_9.0.103_384.59_linux.run

sudo ./cuda_9.0.103_384.59_linux.run

Do you accept the previously read EULA?
accept/decline/quit: accept Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.59?
(y)es/(n)o/(q)uit: n Do you want to install the OpenGL libraries?
(y)es/(n)o/(q)uit [ default is yes ]: y Do you want to run nvidia-xconfig?
This will update the system X configuration file so that the NVIDIA X driver
is used. The pre-existing X configuration file will be backed up.
This option should not be used on systems that require a custom
X configuration, such as systems with multiple GPU vendors.
(y)es/(n)o/(q)uit [ default is no ]: y Install the CUDA 9.0 Toolkit?
(y)es/(n)o/(q)uit: y Enter Toolkit Location
[ default is /usr/local/cuda-9.0 ]: Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit:
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y Install the CUDA 9.0 Samples?
(y)es/(n)o/(q)uit: y

centos7.3安装nvidia驱动和cuda9的更多相关文章

  1. Linux从入门到适应(四):Ubuntu 16.04环境下,安装Nvidia驱动,cuda9.2和 cudnn

    在安装深度学习框架之前,cuda和cudnn是必须要提前安装的,现在按照流程而nvidia驱动的版本和cuda版本有这一些对应关系,所以需要按照版本进行安装,现在说一下如何安装: 1 安装nvidia ...

  2. CentOS7下安装NVIDIA独立显卡驱动出现X service error问题解决方法

    问题症状: 最近在CentOS7下安装NVIDIA独立显卡驱动的过程中出现X service error问题,如下图所示: 解决方法: 0.到NVIDIA 官网上下载驱动文件(.run 格式) : N ...

  3. Ubuntu16.04下nvidia驱动+nvidia-docker+cuda9+cudnn7安装

    一.宿主机安装nvidia驱动 打开终端,先删除旧的驱动: sudo apt-get purge nvidia* 禁用自带的 nouveau nvidia驱动 sudo gedit /etc/modp ...

  4. # Ubuntu16.04安装nvidia驱动+CUDA+cuDNN

    Ubuntu16.04安装nvidia驱动+CUDA+cuDNN 准备工作 1.查看GPU是否支持CUDA lspci | grep -i nvidia 2.查看Linux版本 uname -m &a ...

  5. Fedora 21 安装 Nvidia 驱动以及失败后的补救方法

    在 Linux 桌面系统下玩了这么久,大部分时间都是使用 Ubuntu,偶尔使用一下 Fedora.我的电脑中安装有多个 Linux 发行版,见这里<在同一个硬盘上安装多个Linux发行版及Fe ...

  6. ubuntu安装nVidia驱动,遇到终端闪砾问题并解决

    安装nvidia的官方驱动之后,比起nouvean来说感觉速度快了不少. 安装该驱动很简单,但选择哪个驱动是要注意的.因为今天我试了nvidia的多个驱动后都在ubuntu下用起来并不好. 我现在的环 ...

  7. Ubuntu16.04安装NVIDIA驱动时的一些坑与解决方案

    这几天在新购置的笔记本上部署工作环境,在安装NVIDIA驱动的时候遇到了不少坑,重装了很多次,在Ubuntu论坛以及其他资料源看了很多大牛的分析,最终终于解决了一个又一个问题,过程比较艰辛,所以决定写 ...

  8. Ubuntu16笔记本双显卡安装NVIDIA驱动

    blockquote { direction: ltr; color: rgb(0, 0, 0) } blockquote.western { font-family: "Liberatio ...

  9. CentOS7.3安装NVIDIA-1080ti驱动、cuda、cudnn、TensorFlow

    本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 Ubuntu非要换centOS...好吧... 看了很多是通过ELRepo源安装驱动,不过我没 ...

随机推荐

  1. React Native小白入门学习路径——四

    上一周一直在弄着老师布置的各种任务,再加上要做的都还没做完.所以上周的总结到现在才写完发出来..真的觉得老师太高估我们这些菜鸡了. 也许是我太着急了,在自己还没有足够储备去完成自己的项目,总觉得先找一 ...

  2. CallContext,ThreadStatic,AsyncLocal<T>,ThreadLocal<T>,学习笔记

    1.CallContext 在当前调用上下文的线程数据槽里存储对象 2.ThreadStatic 是一个特性 3.AsyncLocal<T> 是一个类型,该字段应当为static,保证单例 ...

  3. Qt控制台例子

    功能:实现通过命令行方式保存文件 #include <QCoreApplication> #include <iostream> #include <QString> ...

  4. jquery中遍历

    1.jQuery--Dom遍历 1)jquery遍历---祖先元素 parents() 方法返回被选元素的所有祖先元素,它一路向上直到文档的根元素 (<html>).也可以使用可选参数来过 ...

  5. WebApi升级到2.0以后的XmlDocumentationProvider

    using System; using System.Globalization; using System.Linq; using System.Reflection; using System.W ...

  6. JS_高程3.基本概念(5)语句

    1.if语句 2.do-while语句:后测循环语句,循环体内的代码至少执行一次. 3.while语句:前测循环语句. 4.for语句:前测循环语句. 注意:在ECMAScript中不存在块级作用域, ...

  7. Vue(十六)vue-router路由

    一. vue-router路由   1. 简介 使用Vue.js开发SPA(Single Page Application)单页面应用 根据不同url地址,显示不同的内容,但显示在同一个页面中,称为单 ...

  8. sencha touch 学习汇总(转)

    1.官方网站:http://www.sencha.com/products/touch/ 2.在线文档:http://docs.sencha.com/touch/2.2.1/ 3.在线翻译文档:htt ...

  9. Asp.Net HttpPostedFile和base64两种上传图片(文件)方式

    之前上传图片基本都是用的HttpPostedFile方式获取图片,这次因为需求关系,要对准备上传的图片进行删除,最后提交的时候才去保存图片到服务器, 找了下资料,html5有个新的东西出来,js 里面 ...

  10. python 可迭代对象

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. 可以用for 进行迭代的,一般都是可迭代对象: ...