CentOS 7 Minimal版 从零-配置静态IP-更新yum源-安装CUDA-远程nsight-选定Linux启动时的内核版本
1. 为服务器接上显示器、键盘
2. 为root账户配置密码
- 在cmd_line中输入如下命令:
pssswd root
- 切换到root账户(后面所有的命令都是在root账户下完成,不需要使用sudo):
su
3. 配置静态IP
- 连接网线(连接之前要确保自己用的网线不是坏的)
- 将原先的网络配置文件进行备份
mv /etc/sysconfig/network-scripts/ifcfg-eno1 /etc/sysconfig/network-scripts/ifcfg-eno1.bak
- 打开配置文件:
vi /etc/sysconfig/network-scripts/ifcfg-eno1 #视机器的具体情况而定
- 可能内容显示如下:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eno1
UUID=fcee068f-1c5b-4e40-b3be-71027a100efd
ONBOOT=no
- 要修改的内容包括:
- BOOTPROTO (采用静态IP)
- IPADDR (IP地址,视所在的网络情况而定)
- NETMASK (子网掩码,视所在的网络情况而定)
- GATEWAY (网关,视所在的网络情况而定)
- DNS1 (域名服务器1)
- DNS2 (域名服务器2,有时候可以把网关设为域名服务器)
- ONBOOT (启动时自动加载该网络配置文件,如果没有配置有可能需要手动ifup ifcfg-eno1才能使网络配置成功)
- 具体要修改的如下:
BOOTPROTO=static
IPADDR=192.168.0.2
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
DNS1=114.114.114.114
DNS2=8.8.8.8
ONBOOT=yes
- 重启网络服务,采用新的网络配置:
service network restart
4. 更新yum源
- 更新yum源需要从网上下载yum源的配置文件,所以需要先安装wget,安装wget的命令如下(采用yum命令安装):
yum install -y wget
- 从网上下载yum源的配置文件(这里推荐两个yum源:阿里云的yum源、中科大的yum源,根据自身的网络情况两者选其一):
- 下载阿里云的yum源配置文件(注意命令中的-O是大写的英文字母O):
wget -O Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- 下载中科大的yum源配置文件:
wget -O Centos-7.repo https://lug.ustc.edu.cn/wiki/_export/code/mirrors/help/centos?codeblock=3
- 下载完毕后会在当前文件夹下得到一个Centos-7.repo(这就是阿里云或中科大的yum源配置文件)
- 备份并替换系统的repo文件(注意区分命令中的大小写)
cp Centos-7.repo /etc/yum.repos.d/
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak
mv Centos-7.repo CentOS-Base.repo
- 执行yum源更新命令
yum clean all
yum makecache
yum update
- 通过新配置的yum源来安装vim(CentOS 7 minimal版本没有安装vim)
yum install -y vim
5. 安装CUDA
- 采用Runfile安装方式,其他安装方式请参考CUDA官方文档:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
- 安装必要的基础库:
yum install -y gcc
yum install -y kernel-devel-$(uname -r) kernel-headers-$(uname -r)
- 屏蔽默认带有的nouveau:
- 修改文件
将文件中的内容修改如下:vi /lib/modprobe.d/dist-blacklist.conf
#将nvidiafb注释掉。 #blacklist nvidiafb ... #然后添加以下语句: blacklist nouveau options nouveau modeset=0
- reboot重启
- 重建initramfs image:
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak dracut /boot/initramfs-$(uname -r).img $(uname -r)
- reboot重启
- 查看nouveau是否已经禁用:
lsmod | grep nouveau
- 下载并安装NVIDIA CUDA Toolkits(包含了NVIDIA的显卡驱动):
- 登录网页:http://developer.nvidia.com/cuda-downloads
- 根据自身的机器情况配置CUDA Installer:
- Operating System: Linux
- Architecture: X86_64
- Distribuion: CentOS
- Version: 7
- Installer Type: runfile(local)
- 配置完了CUDA Installer,官网会给出下载和安装命令:
wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run sh cuda_10.2.89_440.33.01_linux.run
- 根据Installer的提示安装CUDA
- 查看CUDA是否安装成功:
nvidia-smi
- 将CUDA添加至系统环境变量中:
- 打开/etc/profile文件:
vi /etc/profile
- 在文件末尾添加如下几行:
export PATH=/usr/local/cuda-10.2/bin:/usr/local/cuda-10.2/NsightCompute-2019.1${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
- 使新的环境变量生效:
source /etc/profile
- 查看环境变量是否生效:
nvcc -V
6. 远程nsight
-
nsight介绍:https://docs.nvidia.com/cuda/nsight-eclipse-edition-getting-started-guide/index.html
-
远程nsight的含义:nsight运行在服务器(CentOS 7)上,客户端(Windows 10)上只需要安装一个带有X11功能的终端软件(MobaXterm、Xshell),就可以直接在客户端上显示nsight界面,这样可以方便地进行CUDA程序的开发。
-
在服务器端配置X11转发功能:
- 打开sshd的配置文件:
vi /etc/ssh/sshd_config
- 修改SSH配置文件如下:
#AllowAgentForwarding yes AllowTcpForwarding yes #GatewayPorts no X11Forwarding yes X11DisplayOffset 10 X11UseLocalhost no #网上很多说明这里保持默认不需要修改 #PermitTTY yes
- 安装X11依赖:
yum install -y xorg-x11-xauth #安装x11组件包 yum -y install wqy-zenhei-fonts* #安装中文字库
- 重启ssh服务:
service sshd restart
-
在服务器端安装Java Runtime Environment(JRE) 1.8
- 在CUDA 10.1之前(包括CUDA 10.1),CUDA Toolkits使包含JRE 1.8的,但是由于Oracle upgrade licensing changes,CUDA 10.2之后(包括CUDA 10.2)就不再包含JRE 1.8,所以CUDA 10.2之后(包括CUDA 10.2)需要自己手动安装JRE 1.8。
- 使用yum命令安装OpenJDK 1.8
yum install java-1.8.0-openjdk
- 查看OpenJDK 1.8是否安装成功
java -version
-
在客户端安装MobaXterm:https://mobaxterm.mobatek.net
-
在客户端的MobaXterm上通过ssh登录服务器
-
在终端上输入:
# The -vm option is only required when JRE is not included in CUDA Toolkit package and JRE 1.8 is not in the default path.
nsight -vm /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
7. 选定Linux启动时的内核版本
- 查看有哪些Linux内核:
cat /boot/grub2/grub.cfg |grep “menuentry”
- 指定开机从哪个Linux内核启动:
grub2-set-default “CentOS Linux (3.10.0-1062.9.1.el7.x86_64) 7 (Core)”
- 查看默认启动内核:
grub2-editenv list
- 重新创建Linux内核配置:
grub2-mkconfig -o /boot/grub2/grub.cfg