CentOS7 裸机服务器安装各种驱动软件(从iso文件安装各种包、NVIDIA驱动、python3等等)


一、安装nvidia驱动:


参考:

基本步骤参考:https://www.jianshu.com/p/c600a89da5da

少数对比学习参考:https://blog.csdn.net/wf19930209/article/details/81877822

1、为了下载正确版本的驱动,使用:

lshw -numeric -C display 

查看GPU具体的品牌型号,执行上述命令后,系统显示lshw是未知命令,安装lshw命令。

我所用的服务器,不可以连接外网,无法正常使用yum,但是各个命令的前置依赖包太多,故准备从系统的iso文件进行安装所有可以安装的包(能从iso安装,就从iso安装)。

2、将everything的iso系统包CentOS-7-x86_64-Everything-1511.iso,mount成一个虚拟文件夹,然后从这个系统iso进行安装所有可以安装的软件:

可以参考:https://blog.csdn.net/weixin_38281964/article/details/87917220

(1)将iso文件mount成虚拟文件夹,如果/root/software不存在,需要新建/root/software,CentOS-7-x86_64-Everything-1511.iso文件在/root目录下:

mount /root/CentOS-7-x86_64-Everything-1511.iso /root/software

(2)将yum的镜像改成 /root/software。进入/etc/yum.repos.d,因为原来有bak文件夹,这里新建bak.bak,然后执行下面两个命令:

mv CentOS-Local.repo bak.bak

mv local.repo local.repo.bak

(3)新建mysel.repo,内容为:

[base]
name=RedHat
baseurl=file:///root/software
enabled=1
gpgcheck=0
gpgkey=file:///root/software/RPM-GPG-KEY-CentOS-7

/root/software 就是 CentOS-7-x86_64-Everything-1511.iso 虚拟出的文件夹,RPM-GPG-KEY-CentOS-7 要自己到 /root/software 目录下看,对应的类似文件名是什么,这里就写什么。

(4)执行命令:

扫描二维码关注公众号,回复: 8755312 查看本文章
yum clean all

(5)再用yum安装所需命令,这里安装:

yum install rpm* rpm-build rpmdev*
yum install lshw

3、查看显卡版本信息:

lshw -numeric -C display

4、下载Nvidia驱动:

下载链接:https://www.nvidia.cn/Download/index.aspx?lang=cn

上面链接下载前,需要选择驱动对应的硬件的类型、产品系列等信息,我得到的信息是“显卡是1080T,GTX系列”,这样的信息并不详尽,故只是大致选成如下对应版本:

然后点击搜索,跳到下一页点击 下载,下载,即可下载下来文件:NVIDIA-Linux-x86_64-440.44.run

然后将文件 NVIDIA-Linux-x86_64-440.44.run 上传到服务器上。

 5、CentOS安装 Nvidia 驱动:

(1)基本参考:https://www.jianshu.com/p/c600a89da5da

(2)安装过程中,遇到的问题:

① 按照上面的链接教程,一直执行到重启后(reboot,因为我使用的是服务器,没有图形用户界面,故也无需关闭),开始执行./NVIDIA-Linux-x86_64-440.44.run 出现,权限不够,参考https://blog.csdn.net/wf19930209/article/details/95237824,修改权限:

chmod +x NVIDIA-Linux-x86_64-440.44.run

② 再次执行 ./NVIDIA-Linux-x86_64-440.44.run,出现没有安装gcc,先再次mount everything iso系统文件,

mount /root/CentOS-7-x86_64-Everything-1511.iso /root/software

然后再执行:yum install gcc g++ make

③ 再次执行 ./NVIDIA-Linux-x86_64-440.44.run,出现没有安装 kernel-devel kernel-source;这里只需要执行如下命令即可:

yum install kernel-devel 

④ 执行

./NVIDIA-Linux-x86_64-440.44.run

可以一路选Yes,我这里只选择了不兼容32bit的,其他都选Yes,完成安装;

执行nvidia-smi,出现信息,完成安装 Nvidia 驱动。

(3)总结安装步骤如下:

① 首先禁用nouveau开源驱动:

vim /etc/modprobe.d/blacklist.conf 
添加:blacklist nouveau,保存退出

vim /usr/lib/modprobe.d/dist-blacklist.conf 
添加下面两行,保存退出:
blacklist nouveau
options nouveau modeset=0

② 重建文件系统:

备份原来的 initramfs nouveau image 镜像

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img

创建新的 initramfs image 镜像:

dracut /boot/initramfs-$(uname -r).img $(uname -r)

③ 重启机器:

reboot

④ 虚拟出everything iso文件夹,安装需要的前置包:

mount /root/CentOS-7-x86_64-Everything-1511.iso /root/software
安装gcc:yum install gcc g++ make
安装 kernel-devel、kernel-source:yum install kernel-devel 

⑤ 修改 ./NVIDIA-Linux-x86_64-440.44.run 权限:

chmod +x NVIDIA-Linux-x86_64-440.44.run

⑥ 执行Nvidia驱动安装:

./NVIDIA-Linux-x86_64-440.44.run

可以一路选Yes,我这里只选择了不兼容32bit的,其他都选Yes,完成安装;

⑦ 执行nvidia-smi,出现信息,完成安装 Nvidia 驱动。


二、安装 Anaconda:


由于服务器无法连接外网,安装anaconda后也无法使用conda进行其他安装配置,故放弃。


三、源码安装 Python3:


参考:https://www.cnblogs.com/linga/p/9442126.html

1、安装依赖包,仍然是从虚拟出的iso文件夹中用yum安装:

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel gcc make

2、下载python3源码:

注意选择linux版本,这里选择Python-3.7.6.tar,地址:https://www.python.org/downloads/source/

3、编译、安装:

① 解压、进入解压后的目录:

tar -xvf Python-3.7.6.tgz
cd Python-3.7.6

② 配置编译路径:

./configure --prefix=/opt/python/python-3.7.6

执行完上一步后会提示执行以下的代码对Python解释器进行优化,执行该代码后,会编译安装到 /usr/local/bin/ 下,且不用添加软连接或环境变量
./configure --enable-optimizations

③ 编译和安装:

make && make install

④ 上述步骤执行完,即可以使用 python3 了,下述软连接可以添加,也可以不添加(因为执行了② 中的第二个命令):

ln -s /usr/local/bin/python3 /usr/bin/python3
ln -s /usr/local/bin/pip3 /usr/bin/pip3

四、安装numpy


参考:https://blog.csdn.net/weixin_34146986/article/details/92680843

1、下载源码,保险起见,下载1.17.4:

https://pypi.org/project/numpy/1.17.4/#files

2、解压,进入解压后的目录:

unzip numpy-1.17.4.zip
cd numpy-1.17.4

总是出现编译错误、估计是系统编译环境配置有问题!

3、直接下载numpy的whl文件安装,简单高效!


五、安装 cudatoolkit、cuDNN


参考链接:https://blog.csdn.net/fanhenghui/article/details/80090864

主要参考上述链接中的5、6两点,但是步骤有很大不同,首先,我先安装了nvidia驱动,后安装cudatoolkit的,但是并没有像链接中说的那样,如果先安装驱动,再安装cuda的话,驱动会实效。然后就是安装的步骤不同,我是通过runfile进行安装的。

1、下载centos对应的cudatoolkit:

下载链接:https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=CentOS&target_version=7&target_type=runfilelocal

下载,如图中所述:wget ...

安装,如图中所述:sudo sh cuda...

安装过程中会提示做一些选择,接受协议等等,阅读后选择install,自动安装完毕。

最后会提示配置PATH和LD_LIBRARY_PATH,在~/.bashrc文件最后加入两行:

export PATH=/usr/local/cuda-10.2/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.2/lib64

至此安装结束。

2、测试cuda安装是否成功:

cd /usr/local/cuda-10.2/samples/1_Utilities/deviceQuery
make

报错:g++: No such file or directory

一开始以为是g++有问题,将Makefile中的g++,改成gcc,后make,报错:

gcc: error trying to exec 'cc1plus': execvp: 没有那个文件或目录

参考链接进行修改:https://blog.csdn.net/junweicn/article/details/80942928

yum install -y gcc-c++

搞定!

./deviceQuery

输出GPU信息。

3、下载cuDNN:

下载cuDNN需要先注册,然后下才能下载,下载地址:https://developer.nvidia.com/rdp/cudnn-download

我的服务器是Centos,下载的cuDNN文件是:cudnn-10.2-linux-x64-v7.6.5.32.tgz

4、安装cuDNN:

参考:https://docs.nvidia.com/deeplearning/sdk/cudnn-install/#verify

按照上面的命令,执行完就结束了。上面的参考链接中2.4节是确认cuDNN是否安装成功的,但是搜索了一下好像是通过deb文件安装才会自动安装samples,用于测试,想我这里用tgz文件的,没有自带测试用例,所以也没测试,后面使用好像也没啥问题,等后面有问题再看吧!(https://askubuntu.com/questions/1021837/cuda-and-cudnn-install-where-is-cudnn-samples-v7)


六、安装Pytorch、Torchvision


安装方法参考连接:https://pytorch.org/get-started/previous-versions/

下载连接:https://download.pytorch.org/whl/torch_stable.html

1、下载whl文件:

本来想秀一下,用源码安装的,但是这次配服务器耗时太久,又担心需要太多的前置依赖包,故直接下载whl文件了事。

下载的包分别为:

torch-1.2.0-cp37-cp37m-manylinux1_x86_64.whl

torchvision-0.4.0-cp37-cp37m-manylinux1_x86_64.whl

2、安装命令:

pip3 install torch-1.2.0-cp37-cp37m-manylinux1_x86_64.whl
pip3 install torchvision-0.4.0-cp37-cp37m-manylinux1_x86_64.whl

安装 torch (torch的前置依赖包已经都安装了)很简单,一次成功,但是安装 torchvision 需要几个前置依赖包:torch、numpy、six、pillow>=4.1.1。

下载six的whl文件,下载链接:https://pypi.org/simple/six/

下载pillow的whl文件,下载链接:https://pypi.org/project/Pillow/6.2.2/#files

这里注意pillow不能下7.0之后(包括7.0)的版本,否在在 import torchvision的时候会出现错误:

ImportError: cannot import name ‘PILLOW_VERSION’

Debug参考:https://blog.csdn.net/ternence_hsu/article/details/103821264

3、测试pytorch、torchvision:

from __future__ import print_function
import torch
x = torch.rand(5, 3)
print(x)
import torch
torch.cuda.is_available()
import torchvision
import PIL

测试参考:https://pytorch.org/get-started/locally/

发布了69 篇原创文章 · 获赞 4 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/wangxiaosu/article/details/104046746