一, 挂载本地源镜像

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. mysql中注释的添加修改

    1 创建表的时候写注释,在使用comment关键字语法:create table 表名 (字段名 类型 comment '字段的注释' )comment='表的注释'; 查看一下 2 修改表的注释al ...

  2. HDU5511 : Minimum Cut-Cut

    设$d[x]$表示端点位于$x$子树内部的非树边条数,那么有两种情况: $1.$割去的两条树边$(x,fa[x]),(y,fa[y])$中,$x$是$y$的祖先,那么此时需要割去的非树边数量为$d[x ...

  3. C++程序设计方法3:强制类型转换

    强制类型转换(显示转换) dynamic_cast<Dst_Type>(Src_var) Src_var必须是引用或者指针类型,Dst_Type类中含有虚函数,否则会有编译错误: 若目标类 ...

  4. TFS2017新特性(一)

    自 Team Foundation Server 2015 中引入了基于集成式 Web 的 Release Management 以来,我们在此版本中进行了几处功能增强. 克隆.导出和导入发布定义 我 ...

  5. Codeforces Round #443 (Div. 1) D. Magic Breeding 位运算

    D. Magic Breeding link http://codeforces.com/contest/878/problem/D description Nikita and Sasha play ...

  6. __getitem__函数

    主要是为了探究第三行为什么打印出很多提示信息,然后探究了下为什么有第三行这种写法,是因为 这个类中定义了def __getitem__(self, query),这样就可以类似于list那种用法了.但 ...

  7. db2 runstats和reorg

    当数据库里某张表上有大量插入操作时,需要在表上做 RUNSTATS 命令保证数据库掌握准确的统计信息. 当数据库里某张表中的记录变化很大时(大量插入.删除.更新操作),需要在表上做 REORG 和 R ...

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

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

  9. Deepin 15.4 更改为 阿里云源

    自带的 软件包源 不好用,卡顿严重,准备替换它: 方式一:deepin linux 如何更新或者更换软件源(注意:好像不起作用) 方式二:[推荐]利用 阿里云 提供的镜像快速更换本地的 yum 源 ( ...

  10. CSS魔法堂:display:none与visibility:hidden的恩怨情仇

    前言  还记得面试时被问起"请说说display:none和visibility:hidden的区别"吗?是不是回答完display:none不占用原来的位置,而visibilit ...