从零开始配置Ubuntu Server 14.04 图形界面、Caffe安装及远程连接

本文从Ubuntu Server14.04的U盘安装开始,之后依次涉及到图形界面的安装,NVIDIA驱动安装,Windows使用远程桌面mstsc连接Ubuntu Server,Cuda及Caffe的安装。

1. U盘安装Ubuntu Server14.04


本文首先使用UltraISO刻启动盘,不过当时报错,于是使用Win32DiskImager来刻盘,成功启动。不过刻录之后U盘容量会变为几M,这个问题可以自行百度/google U盘量产工具即可恢复U盘容量,之后的安装步骤主要参考下面链接:
Ubuntu Server 14.04安装教程之图解
重启服务器后可以进入命令行界面,此时先不要着急安装NVIDIA驱动,因为安装NVIDIA驱动后就是用N卡来驱动显示器了,这样在安装图形界面时会报No Screen Found错误。不过也有人说先装驱动,这个说法本人未尝试成功,可能是由于在server版本上的缘故吧,大家可以试一下desktop版。

下面安装图形界面:
由于安装gnome桌面非常卡顿,且远程登录时也用的是xfce4桌面,因此本文安装xfce4桌面:

sudo apt-get update
sudo apt-get install -y xfce4 xfce4-goodies xubuntu-desktop
startxfce4					#启动xfce4桌面环境

接下来再安装NVIDIA显卡驱动:
驱动及Caffe安装主要参考以下网址:
Caffe官网安装教程
Setting up a Deep Learning Machine from Scratch (Software)

首先安装相关依赖及git工具:

sudo apt-get update  
sudo apt-get upgrade  
sudo apt-get install build-essential  
sudo apt-get install python-dev
sudo apt-get autoremove 
sudo apt-get install git

2. NVIDIA驱动及CUDA安装



lspci | grep -i nvidia 			#检查NVIDIA显卡型号
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-352
sudo shutdown -r now 			#重启
cat /proc/driver/nvidia/version #查看显卡驱动版本

安装显卡驱动之后,开始安装CUDA:
NVIDIA CUDA上下载CUDA(本文使用7.5),然后执行以下命令:

sudo dpkg -i cuda-repo-ubuntu1404*amd64.deb	#解包
sudo apt-get update
sudo apt-get install cuda

#将CUDA加入环境变量:
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

nvcc -V						#检测CUDA版本
sudo shutdown -r now		#重启

安装完CUDA后,检测CUDA安装是否成功(可选):

#在CUDA目录下安装samples并编译:
/usr/local/cuda/bin/cuda-install-samples-7.5.sh ~/cuda-samples

cd ~/cuda-samples/NVIDIA*Samples
make -j $(($(nproc) + 1))
#其中-j $(($(nproc) + 1))指使用机器上所有的核并行执行make命令来使编译更快

#执行deviceQuery来检测显卡并进行相关测试,Result=pass即为通过
bin/x86_64/linux/release/deviceQuery

3. cuDNN及OpenBLAS安装


cuDNN是用于DNN(深度神经网络)的GPU加速库,可加快CUDA的执行速度,需要在cuDNN NVIDIA上注册之后才能下载。本文由于用到了s2vt版本的caffe,使用的是v3版本的cuDNN,最新版本是v5。除此之外,在Windows上下载的文件是后缀为.solita*的文件,可能下载有问题,建议在Linux环境下下载.tgz格式的文件。下面讲如何安装cuDNN:

cd ~/Downloads/
tar xvf cudnn*.tgz	#解包
cd cuda
#将所有的头文件和共享库都拷贝到系统文件中
sudo cp */*.h /usr/local/cuda/include/
sudo cp */libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
nvidia-smi			#查看NVIDIA显卡状态

安装OpenBLAS:

sudo apt-get install gfortran
mkdir ~/git
cd ~/git
git clone https://github.com/xianyi/OpenBLAS.git
cd OpenBLAS
make FC=gfortran -j $(($(nproc) + 1))
sudo make PREFIX=/usr/local install
#将OpenBLAS路径加入环境变量
echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc

4. Pip及caffe相关依赖安装


其他的资料及博客有提到使用 Anaconda 库来安装Caffe相关的依赖库,但后来发现opencv等好像有一点问题,就使用pip按部就班的安装依赖软件了。
pip安装借鉴pip安装使用详解,最初尝试sudo apt-get install python-pip来安装pip,不过后面发现软件安装好像有点问题,不确定是不是pip版本的问题,下面命令安装pip:

#获取pip安装包
wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate
tar -xzvf pip-1.5.4.tar.gz	#解包
cd pip-1.5.4
python setup.py install		#安装
pip list					#查看使用pip安装的软件
#pip uninstall ###			#若安装有误,可使用本命令卸载软件

注意:安装pip时可能出现ImportError: No module named setuptools,这是因为没有安装setuptools,解决方案:ImportError: No module named setuptools 解决方法

安装Caffe相关依赖:

sudo apt-get install -y libfreetype6-dev libpng12-dev
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

5. Caffe的安装


首先从git上clone Caffe到本地:

cd ~/git
git clone https://github.com/BVLC/caffe.git
cd caffe
cp Makefile.config.example Makefile.config

若已安装cuDNN,则需将Makefile.config文件中USE_CUDNN := 1这行解注释;若已安装OpenBLAS,则需将Makefile.config文件中变量BLAS的值改为open,这也可以直接用命令实现:

sed -i 's/# USE_CUDNN := 1/USE_CUDNN := 1/' Makefile.config
sed -i 's/BLAS := atlas/BLAS := open/' Makefile.config

然后安装相关依赖并编译(其中scikit-image开始无法安装,可以等到其他依赖库全部安装完毕后再敲 sudo pip install scikit-image):

sudo pip install -r python/requirements.txt
make all -j $(($(nproc) + 1))
make test -j $(($(nproc) + 1))
make runtest -j $(($(nproc) + 1))
make pycaffe -j $(($(nproc) + 1))	#编译Python接口

编译时出现过python/caffe/_caffe.cpp:10:31:fatal error:numpy/arrayobject.h: No such file or directory的错误,解决方法是安装python-numpy包:

sudo apt-get install python-numpy

之后再make clean, make pycaffe

再将Caffe加入环境变量中:

echo 'export CAFFE_ROOT=$(pwd)' >> ~/.bashrc	#pwd指当前目录,也可直接指定Caffe的目录
echo 'export PYTHONPATH=$CAFFE_ROOT/python:$PYTHONPATH' >> ~/.bashrc
source ~/.bashrc

使用以下命令测试Caffe的Python接口是否可用,若无warnings/errors出现即为可用(不过本文运行时出现matplotlib的一个warning,但Caffe运行正常):

python
>>> import caffe
>>> exit()

Caffe常见错误可见以下链接:
Caffe - GitHub
Caffe 安装错误记录及解决办法
Caffe 工程的一些编译错误以及解决方案

6. Windows使用远程桌面mstsc连接Ubuntu Server


远程桌面登录参考Ubuntu 14.04 + xRDP + Xfce 实现Windows远程桌面连接 .
在Ubuntu Server下安装xfce4桌面环境之后,使用xrdp及vnc工具实现远程桌面登录,命令如下:

sudo apt-get install xrdp
sudo apt-get install vnc4server tightvncserver

echo xfce4-session >~/.xsession
xfce4-session
#设置配置文件
sudo gedit /etc/xrdp/startwm.sh

在. /etc/X11/Xsession 前一行插入

xfce4-session

重启xRDP服务:

sudo service xrdp restart

之后便可以在Windows下的远程桌面连接中连接Ubuntu Server.

7. 远程访问Ubuntu Server服务器文件


Windows系统可使用Samba实现在文件管理器中远程访问Ubuntu Server服务器文件,参考如下链接:
链接:Ubuntu14.04安装Samba实现文件共享
除此之外,Windows下还可使用WinSCP或者psftp软件来进行文件传输。

在其他Linux系统下,与远程Linux服务器的文件传输则简单很多,只需使用scp命令即可实现:

scp /home/francis/test.txt root@192.168.1.100:/root/     #将文件text.txt拷贝到IP为192.168.1.100的主机root文件夹下,登录用户为root

scp -r /home/francis/test/ root@192.168.1.100:/root/     #将test文件夹拷贝到IP为192.168.1.100的主机root文件夹下,登录用户为root

参考链接:Linux scp 远程拷贝文件及文件夹

8. Ubuntu 手动配置网络


sudo gedit /etc/network/interfaces

/etc/network/interfaces 中各项内容如下:

auto em2                  #设置自动启动em2接口
iface em2 inet static     #配置静态IP
address 192.168.11.88      #IP地址
netmask 255.255.255.0      #子网掩码
gateway 192.168.11.1        #默认网关

根据需要配置各项,接下来配置DNS:

sudo gedit /etc/resolvconf/resolv.conf.d/head 

/etc/resolvconf/resolv.conf.d/head 中各项内容如下:

nameserver 127.0.0.1  #默认
nameserver 8.8.8.8      #备用

nameserver 即DNS服务器地址。
PS: (在 /etc/resolv.conf 文件中添加nameserver,服务器重启之后会重置该文件,导致DNS修改失败)。
修改DNS保存后 重启网卡服务
Ubuntu14.04之前的系统版本用下面命令:

sudo /etc/init.d/networking restart

Ubuntu14.04之后的系统版本用如下命令:

sudo ifdown em2  #em2是要使用的网卡名称
sudo ifup em2

若上面命令显示网卡未配置,则使用下面命令:

sudo ifconfig em2 down
sudo ifconfig em2 up

PS:若重启网卡服务显示already running,则直接重启机器,或手动kill掉网络进程,如下:

sudo NetworkManager restart

提示 NetworkManager 已正运行(pid 1082),然后kill进程并重启:

sudo kill 1082
sudo NetworkManager restart

提示 NetworkManager 已正运行(pid 30417)
可以发现进程号已经发现变化,说明重启网络服务成功。

参考链接:
https://blog.csdn.net/qq_23926575/article/details/76862566
https://www.cnblogs.com/linjiqin/p/3148346.html

To be continued!

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值