Ubuntu18.04安装机器学习环境(一)

  • 1.前言
  • 2.系统安装
  • 2.1系统选择
  • 2.2系统安装
  • 3.显卡驱动安装
  • 3.1驱动下载
  • 3.2驱动安装环境准备
  • 3.2.1安装gcc、g++、make、build-essential环境
  • 3.2.2驱动安装
  • 附录


1.前言

作为服务器环境,Linux系统要比Windows更适合,但Linux系统环境下对于题主这类计算机小白来说坑点颇多,近期项目要在断网环境下给Linux系统装上机器学习所需的运行环境,在踩了很多坑之后,也算顺利完成了目的。这篇文章主要记录了自己的踩坑记录,一是为了让自己以后不再踩,二是为了让看到这篇文章的人以后少走弯路。有不对的地方欢迎指正。

2.系统安装

2.1系统选择

Linux系统主要分为debian系、redhat系,debian系主要有Debian,Ubuntu,Mint等及其衍生版本;
redhat系主要有RedHat,Fedora,CentOs等;其它有Slackware,Gentoo,Arch linux,LFS,SUSE等。这里题主选择了使用人数较多的Ubuntu系统,选择了较为稳定的18.04版本,这里另外说下,Ubuntu官方的管理是,逢双数年推出长期维护版本,单数年推出的是体验版本,顾名思义,长期维护版更加稳定,体验版懂得都懂,实验品罢了,所以你在官网看到的现在最新的21.04作为服务器来说我个人不太推荐,如果是做着玩体验Ubuntu新功能,那无所谓了。长期维护版的标志是LTS,如18.04LTS。附Ubuntu镜像文件历史版本下载连接。镜像刻录成光盘或者U盘可以使用UltraISO。刻录教程问度娘,一搜一大把,这里就不赘述了。

2.2系统安装

启动盘制作好后,安装系统时,坑就接踵而至了,题主当时是给HP工作站Z240安装的系统,遇到的坑是BIOS设置的虚拟化服务没有开启,所以安装完成后无法进入系统,题主大概只记得是Virtualization Technology的相关的设置给打开就对了,遇到安装完成后重启计算机进入不到系统,显示硬盘没有安装系统的英文字样时搜索一下主板型号 + Virtualization Technology设置。不同型号,不同主板的坑可能不一样,有了经验之后安装不上你就会知道是设置什么了。下面详细说一下Ubuntu的分盘问题,正常安装附带一些没什么用的软件,作为服务器,当然是越纯粹越好,建议最小安装即可。

乌班图下载及配置qemu 安装乌班图18.04_深度学习


如果电脑只有一块硬盘,那么选择清除整个磁盘即可。

乌班图下载及配置qemu 安装乌班图18.04_乌班图下载及配置qemu_02


如果计算机内含有多块硬盘,那么就要设置挂载点了,比如一块500G固态和2T的机械这样的搭配,下面给一下分盘建议,分盘教程网上一搜一大把,此处仅供参考。

挂载点

分区

分配大小

文件系统类型

/

主分区

固态硬盘大小剩余(先分配2、3、4列)

ext4日志文件系统


逻辑分区

32768M

交换文件系统(swap)

/boot

逻辑分区

4096M

ext4日志文件系统


逻辑分区

4096M

efi引导系统

/home

逻辑分区

2T机械硬盘全部

ext4日志文件系统

3.显卡驱动安装

我们知道,深度学习的模型十分庞大,其组成十分契合GPU的并行结构,强大的GPU就像人类拥有一颗强大的大脑一样重要。上文我们提到的HP Z240搭载的是一个NVIDIA Quadro P1000显卡,其实一开始我也以为这是一张什么野卡,后来才知道是一张专业级做算法的卡,所以一切问题来源于无知嘛。

3.1驱动下载

我们继续说驱动的事情,我们去Nvidia官方提供的驱动下载地址搜索与型号匹配的驱动程序(**.run文件)

乌班图下载及配置qemu 安装乌班图18.04_Ubuntu_03


在搜索结果里选择一个你看对眼的驱动就行,题主的P1000只有匹配到一个460.84,所以只能选择他了。将他下载到本地,以供后续使用。因为题主是要在断网环境下安装环境,所以只能到官网下载好,存到移动硬盘,其实联网环境下Ubuntu一条命令就能解决掉这个安装问题,后文会有提到。

3.2驱动安装环境准备

3.2.1安装gcc、g++、make、build-essential环境

为什么要装这些?不装这些装不上驱动。那么先来说如何离线安装,这个可真是坑哭了,因为Ubuntu想安装某个包,要先安装很多很多很多…的依赖包,查找过程中也翻到了一个宝藏网站https://pkgs.org/,你可以用它搜索出很多你想安装的包以及他的依赖包,理论上可以下载我们需要的gcc、g++、make、build-essential环境,但是因为依赖过多,而且有版本问题,题主就放弃了,但是如果遇到依赖包问题就可以在这下载你需要的*.deb文件。后来题主发现了捷径,方法就是你可以在一台联网的电脑,使用如下两条命令:sudo apt-get updatesudo apt-get install build-essential,这样这台联网的电脑就算装好了环境(联网条件的朋友可以看下一节了)。
然后我们到计算机的/var/cache/apt/archives/路径下,把这个路径里所有的*.deb文件拷贝走(前提是你使用前两条命令前保证这个文件夹是空的),拷贝这个文件夹需要权限,可以使用sudo chmod -R 777 文件夹名字 命令赋予权限之后再拷贝,这是个高级权限,有点危险,可以自行百度chmod命令赋予合适的权限。
我们将拷贝好的几十个安装包,在这个存放安装包的路径下使用sudo dpkg -i --force-depends *.deb, 忽略依赖关系安装,将所有deb文件安装到电脑,之后重启电脑,完成断网安装。
如果实在弄不好安装包,贴子最后我会附一个下载链接,把我用的安装包都打包在里边。

3.2.2驱动安装

到这里我们就可以使用在2.1中下载的.run文件了,两条命令解决,在你存放*.run的文件夹内打开命令行输入sudo chmod a+x NVIDIA-Linux-x86_64-460.84.runsudo sh ./NVIDIA-Linux-x86_64-460.84.run,第一次运行后会出现几个选项,全部选择yes,然后重新启动,大概意思就是帮你把你电脑现存的驱动禁用掉,重启之后再次在该文件夹内打开命令行输入sudo sh ./NVIDIA-Linux-x86_64-460.84.run(注意替换.run名字,你用的不一定是460.84),重启计算机,输入nvidia-smi查看是否安装成功。出现如图类似的字样即为安装成功(图是从别的地方借的,实在懒得再重装一台电脑去截图了),你也可以在你电脑的程序内看到Nvidia驱动软件图标,可以打开查看GPU使用情况。

乌班图下载及配置qemu 安装乌班图18.04_乌班图下载及配置qemu_04


下面再说说联网安装驱动,联网就可以不用去NVIDIA官方去下载驱动了,sudo apt updatesudo ubuntu-drivers devices列出可使用版本号、sudo apt install nvidia-xxxxxx为你要安装的版本号。

附录

下载连接:
1.build-essential离线包下载