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