实验室服务器安装Ubuntu记录

引言

主要目的

本文主要记录在实验室服务器上安装Ubuntu 16.04 + CUDA 9.1 + CuDnn 7 的全过程

服务器主要配置

CPU:

GPU:5块Titan X (Pascal)

内存:128G(16G*8)

硬盘:240G SSD * 1 + 1T HDD * 2

安装Ubuntu 16.04

目前(2018/04/21)Ubuntu 16.04是最新的Ubuntu LTS版本,所以选择这个作为服务器系统也是坚固了稳定性和易用性两部分需求,Ubuntu 16.04的镜像可以直接在官网上下载。

制作U盘启动盘

为了能够在系统损坏的服务器上安装系统,这里选择了U盘引导安装的方式。下载好对应的镜像文件后,在windows上下载一个UltraISO软件,直接根据一般操作制作启动盘。

安装Ubuntu系统

在服务器上插好U盘后,直接开机,在这个过程中可以选择按ESC进入bios或者按F11进行bios option的快捷选择项,在其中修改好bios启动顺序#1是从U盘启动,然后就会进入到U盘的Ubuntu系统中。

在Grub界面可以选择使用和直接安装,选择Install Ubuntu,这里主要的流程可以参考这里,但是其中为了在安装选择界面可以选择erase disk and install Ubuntu,由于内存也比较大,这里直接按这里默认的分区就可以了。如果需要有特殊的分区要求也可以再百度参考。

Note:这里最好是能够联网安装,这样再安装的时候会下载一些软件,会加快整体的安装进度。

安装显卡驱动

安装显卡驱动这一块,网上的教程非常多,主要就是归结为如下几个途径:

  1. 直接去Nvidia官网下载驱动包安装
  2. 从PPA中安装 (参考:https://blog.csdn.net/qiusuoxiaozi/article/details/70195689)
  3. 通过CUDA内置的驱动安装

使用PPA的安装非常简单,直接类似于sudo apt-get install nvidia-384就可以安装,但是这种方式还需要首先了解应该选择哪种驱动版本,而且还有可能出现重启后卡在登陆界面循环的问题,所以在测试过程中暂时没有采用。

这里首先尝试了第一种方法,碰到的第一个问题是官网上没有Ubuntu 16.04 + Titan X 对应的驱动,所以这里退而求其次下载了 Linux 64bit + Titan X的驱动,版本为390.48。安装的过程需要先进入到F1-F6任意一个非图形化界面,再使用sudo service lightdm stop 关闭 X Server,之后再直接bash对应的.run文件即可。这里碰到的第二个问题是安装完成后还是会卡在登陆界面,通过反复查找后得到结果是首先需要禁止Ubuntu自带的nouveau驱动以及在安装的过程中禁止OpenGL的安装。

首先sudo gedit /etc/modprobe.d/blacklist.conf,在结尾添加下面内容:

blacklist nouveau 
options nouveau modeset=0

完成后再使用sudo update-initramfs -u更新一下。修改后需要重启系统。确认下Nouveau是已经被你干掉,使用命令 lsmod | grep nouveau,如果没有输出就说明运行正常。

接下来再直接运行驱动文件

注意:如果bios或者机箱都无法关掉集显,那就只能在安装的显卡驱动的时候跳过 opengl的安装了, 因为opengl的安装会覆盖掉原集显的opengl,导致无限循环登录界面。 下面是屏蔽opengl的方法

sudo ./NVIDIA-Linux-x86_64-390.48.run –no-x-check –no-nouveau-check –no-opengl-files 
–no-x-check 安装驱动时关闭X服务 
–no-nouveau-check 安装驱动时禁用nouveau 
–no-opengl-files 只安装驱动文件,不安装OpenGL文件

重启,并不会出现循环登录的问题。可以通过nvidia-sminvidia-settings 来检查是否安装成功。

在安装过程中还尝试了第三种方法,即直接安装CUDA,选择安装其中的显卡驱动,但是经过不断的尝试,发现始终会出现unable to locate the kernel source错误,这里参考了Installing Nvidia CUDA 8.0 on Ubuntu 16.04 for Linux GPU Computing (New Troubleshooting Guide)但是还是未能解决。

网上的很多教程中还说可以直接使用Ubuntu系统设置中自带的Additional Drivers那里点选安装Nvidia的驱动,这种方法也是会出现在登陆界面循环的问题的,所以这里没有采用。

安装CUDA 9.1

CUDA的安装其实很简单,如果不安装其中的显卡驱动的话,其余部分唯一需要注意的就是要记住不安装OpenGL。

sudo sh cuda_9.1.xx_384.43_linux.run --override --no-opengl-lib

这里的安装在完成后可能会出现一些.so文件的缺失报错,可以参考cuda:Missing recommended library: libGLU.so,libX11.so,libXi.so,libXmu.so 来安装一些新的dev库。

安装完成后按照提示的在.bashrc中添加路径:

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

最后,参考这里的第五节检测是否成功安装了CUDA。

安装CuDnn 7.1

CuDnn的安装非常简单,直接按照官网的要求下载对应的源文件或者deb文件安装即可。

下载地址:https://developer.nvidia.com/rdp/cudnn-download

安装指导:https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#installlinux

参考

Ubuntu安装N卡驱动的那些坑(多显卡)

深度学习准备之Ubuntu下装显卡驱动

Ubuntu 16.04 + Nvidia 显卡驱动 + Cuda 8.0 (问题总结 + 解决方案)