本篇博客主要记录Ubuntu深度学习服务器从裸机到配置结束的全过程
首先需要下载Ubuntu系统镜像,这里以Ubuntu18.04系统镜像为例。Ubuntu官网地址如下:Ubuntu官网
如下图所示Ubuntu官网下载已经更新到22.04了,因此需要找到历史版本网址:Ubuntu历史版本官网,可根据自己需要进行选择,在此选择Ubuntu18.04,同时建议在Ubuntu18.04和Ubuntu16.04中进行选择。
对于网速较慢情况,大家可以利用阿里云镜像进行下载,网址如下:阿里云Ubuntu镜像
接下找到一个支持UEFI的U盘,下载软碟通软件,这个百度即可。下载安装之后,提示要注册,这个可以不必管它,直接使用即可。打开软碟通软件并插入U盘之后,点击“文件”–>“打开”,打开你电脑上Ubuntu18.https://main.ns189.com/link/T4vw3LyH9kVVXE6e?sub=104镜像,之后点击“启动”–>“写入硬盘镜像”。
之后会出现如下界面,点击写入即可,之后等待刻录镜像文件完成。
百度自身机型进入Bios的快捷键,在机器启动时按住快捷键进入Bios,之后关闭安全模式,并把UEFI改成优先启动,即第一位。由于自身主机配置时这些已经关闭,因此无法截图。
之后重启电脑,进入UEFI就能进入Ubuntu16.04安装程序。之后进入之后一系列傻瓜式下一步。接下来博客中的图片借用博客:【手把手AI项目】一、安装win10+linux-Ubuntu16.04的双系统(超细致)中的图,同时也感谢这位朋友在装系统时为我答疑解惑。在这里我们默认使用英文,中文会有很多问题。
接下来要做的是分区。在概要中我们就提到我们首先将磁盘全部初始化,说明一下,当前图站服务器是512G固态加上1T机械,运行内存32G,显卡为RTX3090。分区主要分以下这些:
选中指定空闲磁盘,然后点击+ 号,开始分配,特别说明的是系统盘和数据盘建议分开,因此将/home放在机械盘上,其余放在固态上,在选择分区是需要特别注意这一点:
然后重启,并在启动前拔掉U盘。
为了下载更方便,速度更快,往往在使用Linux系列系统时修改apt源为国内的源,一般选择有阿里云,豆瓣之类的,下面简单说下如何更改为阿里云源。
首先是复制源文件备份,以防万一。我们要修改的文件是sources.list,它在目录/etc/apt/下,sources.list是包管理工具apt所用的记录软件包仓库位置的配置文件,同样类型的还有位于 同目录下sources.list.d文件下的各种.list后缀的各文件。命令如下:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
之后在/etc/apt/sources.list
添加阿里源镜像网址,命令如下:
sudo vim /etc/apt/sources.list
由于镜像源地址因系统版本而异,在此列出常见Ubuntu版本的镜像源网址,根据自身安装ubuntu版本进行复制:
# ubuntu16.04 阿里源
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
# ubuntu18.04 阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
# ubuntu22.04 清华源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# ubuntu22.04 阿里源
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
# ubuntu22.04 中科大源
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# ubuntu22.04 网易163源
deb http://mirrors.163.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ jammy-backports main restricted universe multiverse
之后依次运行如下命令更新软件列表和软件包
sudo apt-get update
sudo apt-get upgrade
如果网速不够快,这两条命令会运行比较长的时间,请耐心等待即可。等更新之后,在命令行安装软件的速度将会大幅度提升。
接下来是安装NVIDIA驱动,这也是安装CUDA10.0及其对应版本的CuDNN和tensorflow、keras等深度学习框架之前最重要的一步。首先进入英伟达中国驱动官网输入显卡型号查看支持显卡驱动的版本,这个过程可能会有一定的延迟,请耐心等待。
接下来我们点击下载,将英伟达驱动的run文件放到Downloads文件夹下。在安装驱动之前我们必须进行相关准备工作。ubuntu默认安装了第三方开源的驱动程序nouveau,安装nvidia显卡驱动首先需要禁用nouveau,不然会碰到冲突的问题,导致无法安装nvidia显卡驱动。首先打开配置文件,禁用nouveau,命令如下:
sudo vim /etc/modprobe.d/blacklist.conf
在配置文件末尾添加如下代码:
blacklist nouveau
options nouveau modeset
blacklist rivafb
blacklist vga16fb
blacklist nvidiafb
blacklist rivatv
然后点击保存,可能会出现如下图中不支持设置属性的警告,不要紧,无视就可。后面我们也有类似的情况,依旧是无视即可。然后然配置文件生效,代码如下:
sudo update-initramfs -u
之后我们必须重启系统,这是可会出现屏幕分辨率变低的情况乱,不要惊讶,正常打开命令行然后验证nouveau是否已禁用,代码如下:
lsmod | grep nouveau
若命令行出现如下图所示状态,则说明nouveau成功被禁用。
在图形界面中安装英伟达驱动可能出现无限循环,因此我们必须进入命令行模式。接下来在ubuntu下按ctrl+alt+f1,输入用户名与密码,进入命令行模式。然后在命令行界面下输入如下代码关闭图形界面:
sudo service lightdm stop //这个是关闭图形界面,不执行会出错。
然后卸载掉原有驱动,代码如下:
sudo apt-get remove nvidia-* //(若安装过其他版本或其他方式安装过驱动执行此项)
建议更新下ubuntu版本内核,安装需要的依赖
sudo apt update
sudo apt install dkms build-essential linux-headers-generic
进入Downloads文件夹,首先赋予驱动run文件赋予执行权限,然后执行run文件,代码如下:
cd Downloads
ls //显示Downloads文件夹中所有文件名称,方便下面输入执行驱动安装程序的文件
sudo chmod 777 NVIDIA-Linux-x86_64-430.50.run //将最后的英伟达驱动run文件名换成自己下载的驱动名称
sudo ./NVIDIA-Linux-x86_64-430.50.run
安装过程中的选项:(这是copy别人的,自己的没记住,我也是尝试选择了好多遍才安装好)
The distribution-provided pre-install script failed! Are you sure you want to continue? 选择 yes 继续。
Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later? 选择 No 继续。
问题没记住,选项是:install without signing
问题大概是:Nvidia’s 32-bit compatibility libraries? 选择 No 继续。
Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 选择 Yes 继续
这些选项如果选择错误可能会导致安装失败,没关系,只要前面不出错,多尝试几次就好。接下来是挂载Nvidia驱动,代码如下:
modprobe nvidia
建议再次重启之后,打开命令行检查驱动是否安装成功,代码如下:
nvidia-smi
在进行安装Cuda之前,我们首先进行相关准备工作。首先确认自己电脑的GPU兼容CUDA,只要电脑是N卡应该就支持,A卡应该是不支持的。在终端中输入以下命令即可查看自己的显卡是否兼容。
lspci | grep -i nvidia
图站服务器显示 compatible兼容
之后要做的是确定Ubuntu18.04是否支持CUDA。输入命令如下:
uname -m && cat /etc/*release
接着确定自己的Ubuntu系统安装了gcc,基本上是安装Ubuntu成功的基本都带有gcc,但是为了确保gcc是否安装,我们利用如下命令进行确认:
gcc --version
接下来确定系统是否已经安装了正确的Kernel Headers和开发包。首先查看系统正在运行的kernel版本:
uname -r
如果不是最新版本,先更新对应的kernels header和开发包:
sudo apt-get install linux-headers-$(uname -r)
接下来进入cuda历史官网下载cuda11.1的安装包。按照下图红框依次点击。
进入如下界面后按照红框依次点击即可,可以根据需要进行选择不同系统和安装方式,在这里使用runfile文件进行安装。
根据官网提供的安装命令依次进行安装:
cd Downloads/
wget https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux.run
sudo chmod 777 cuda_11.1.1_455.32.00_linux.run
sudo sh cuda_11.1.1_455.32.00_linux.run
执行上述命令后会出现如下界面,输入accept
后点击回车。
接着出现如下界面,将Driver
及其下属选项全部不选中,然后点击Install
进行安装,安装过程有点长,请耐心等待。需要注意的是在如下界面中X
代表选中,而中括号中什么都没有代表未选中。
接下是配置相关环境变量。首先打开~/.bashrc文件,代码如下:
sudo vim ~/.bashrc
将以下内容写入到~/.bashrc尾部,并保存成功。
export PATH=/usr/local/cuda-11.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
然后让~/.bashrc生效,代码如下:
source ~/.bashrc
之后利用gedit命令打开在/etc/profile文件中,添加CUDA环境变量,代码如下:
sudo vim /etc/profile
打开文档都在文档结尾加上下面两句:
PATH=/usr/local/cuda/bin:$PATH
export PATH
保存后, 执行下列命令, 使环境变量立即生效,代码如下:
source /etc/profile
同时添加lib库路径,在 /etc/ld.so.conf.d/新建文件 cuda.conf,命令如下:
sudo vim /etc/ld.so.conf.d/cuda.conf
在文中加入下面内容:
/usr/local/cuda/lib64
执行下列命令使之立刻生效,代码如下:
sudo ldconfig
最后我们利用测试CUDA的samples来测试cuda安装是否成功,代码如下:
cd /usr/local/cuda-11.1/samples/1_Utilities/deviceQuery
sudo make
sudo ./deviceQuery
如果显示如下一些关于GPU的信息为PASS
,则说明安装成功。
最后如下命令来查看驱动版本,代码如下:
nvcc -V
之后进入cudnn官网进行下载cudnn,如下图所示。
点击红框按钮进入下载页面,如果你未登录账号,跳转页面如下。
有英伟达账号点击上图中红框的登录
按钮进入登录页面即可,按提示完成登录。若没英伟达账号则点击篮框的立即加入
进入注册账号页面,并按提示完成账号注册,然后在进行登录。我自己使用qq进行登录。
之后选择和cuda11.1版本对应的cudnn版本进行下载,在这里选择8.1.1版本。
在安装包下载完成之后,默认放置在Downloads文件中。我们利用cd命令进入安装包所在的文件夹对安装包进行解压,命令如下:
cd Downloads/
sudo chmod 777 cudnn-11.2-linux-x64-v8.1.1.33.tgz
sudo tar -zxvf cudnn-11.2-linux-x64-v8.1.1.33.tgz
之后我们讲图片中的文件依次复制到/usr/local/cuda中对应的文件夹下。
sudo chmod 777 -R ./cuda
sudo mv cuda/include/* /usr/local/cuda/include
sudo mv cuda/lib64/* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
由于开发需要部分程序可能会对cuda版本有特殊要求,更换cuda版本则成为必然选择。因此需要已经安装好的cuda版本卸载后然后安装新版本的cuda。首先进入cuda文件夹,找到卸载程序:
# 下面需要根据自己情况更换cuda版本号
cd /usr/local/cuda-11.0/bin
ls
sudo ./cuda-uninstaller
执行上述命令后会出现如下界面,请一一勾选讲所有文件删除,在该界面中X
代表已勾选,而非代表不选,最后点击Done
正式进入卸载流程,该过程需要等待一段时间。
该流程结束后需要,再次进入cuda文件夹所在父目录,核验带有’cuda’名称文件夹是否全部删除,命令如下:
cd /usr/local
ls
# 根据自身情况跟换cuda版本号
sudo rm -rf cuda-11.0/
首先到Anaconda官网下载Anaconda安装包,如下图所示。
若网速太慢可以考虑国内镜像源下载,例如清华镜像源,根据时间找到最新版本的Linux安装包。
下载完成后建议将安装包放在根目录下,然后在命令行中赋予相应执行权限,之后在执行安装sh文件,代码如下:
cd Downloads/
sudo chmod 777 Anaconda3-2021.11-Linux-x86_64.sh
bash Anaconda3-2021.11-Linux-x86_64.sh
安装过程中看到
Welcome to Anaconda3 5.2.0
In order to continue the installation process, please review the license
agreement. (为了继续安装过程,请审核许可证。协议。)
Please, press ENTER to continue
直接按enter查看协议,然后一直enter下去,然后看到Do you accept the license terms? [yes|no](你接受许可证条款吗?)
直接输入yes 然后按enter,进入下一步
接下来会提示安装地址:Anaconda3 will now be installed into this location:
/home/anaconda3
Press ENTER to confirm the location
Press CTRL-C to abort the installation
Or specify a different location below
强烈建议默认即可,按enter继续下一步,注意这里按ctrl + c 直接会终止安装。接下来先等待安装即可。看到Thank you for installing
Anaconda3! 表示安装成功。
然后是配置环境变量,首先打开配置文件,代码如下:
sudo vim ~/.bashrc
之后下面代码输入带文件末尾:
export PATH=/home/dpw/anaconda3/bin:$PATH
然后更新配置文件,代码如下:
source ~/.bashrc
为了加快pip下载速度,将pip的默认源更换位阿里源,命令如下:
mkdir ~/.pip
sudo vim ~/.pip/pip.conf
# 将以下内容添加到~/.pip/pip.conf
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
进入Pytorch历史版本官网,选择适合自身服务器的pytorch版本进行安装。
在这里假设cuda版本为11.1,那么可以安装pytorch1.8,首先建立pytorch1.8的虚拟环境,并激活环境,命令如下:
conda create -n pytorch1.8 python=3.8
conda activate pytorch1.8
pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
假如网速不够快那么则会导致安装失败,因此建议从Pytorch离线安装包官网上将相应离线安装包下载到本地后再进行安装
安装命令如下:
pip install torch-1.8.0+cu111-cp38-cp38-linux_x86_64.whl
pip install torchvision-0.9.0+cu111-cp38-cp38-linux_x86_64.whl
接着安装常见第三方工具库:
# 常见第三方工具库
pip install scipy numpy pandas matplotlib yacs pyyaml opencv-python opencv-contrib-python scikit-learn Pillow pycuda==2020.1 onnx==1.10.1 onnx-simplifier==0.3.6 onnxruntime==1.9.0 onnxoptimizer==0.2.6 tqdm tensorboardX pascal-voc-writer cython visdom
# COCO-API
git clone https://github.com/cocodataset/cocoapi.git $COCOAPI
cd $COCOAPI/PythonAPI
sudo make install
(or)
python3 setup.py install --user
进入PaddlePaddle官网,找到适合服务器cuda版本的按照包,如下图所示,
安装命令如下:
python -m pip install paddlepaddle-gpu==2.2.2.post111 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html
假如网速不够快那么则会导致安装失败,因此建议从PaddlePaddle离线安装包官网上将相应离线安装包下载到本地后再进行安装
安装命令如下:
pip install paddlepaddle_gpu-2.2.2.post111-cp38-cp38-linux_x86_64.whl
接着安装常见第三方工具库:
# 常见第三方工具库
pip install scipy numpy pandas matplotlib yacs pyyaml opencv-python opencv-contrib-python scikit-learn Pillow pycuda==2020.1 onnx==1.10.1 onnx-simplifier==0.3.6 onnxruntime==1.9.0 onnxoptimizer==0.2.6 tqdm tensorboardX pascal-voc-writer cython paddle2onnx
# COCO-API
git clone https://github.com/cocodataset/cocoapi.git $COCOAPI
cd $COCOAPI/PythonAPI
sudo make install
(or)
python3 setup.py install --user
进入TensorRT官网下载安装好对应安装包,TensorRT安装包会根据Linux版本和cuda版本不同而存在不一样的安装包。在这里我们假设Linux系统为Ubuntu18.04,Cuda版本为11.1,以TensorRT7.2.2.3为例,如下图所示。
等待安装包下载完成,然后进行解压,并移动到当前用户目录下,命令如下:
cd Downloads/
sudo chmod 777
sudo tar -zxvf TensorRT-7.2.2.3.Ubuntu-18.04.x86_64-gnu.cuda-11.1.cudnn8.0.tar.gz
sudo chmod 777 -R TensorRT-7.2.2.3/
sudo mv TensorRT-7.2.2.3/ /home/dpw
接着进入指定的虚拟环境,安装相关python工具包,以pytorch1.8虚拟环境为例,命令如下:
conda activate pytorch1.8
cd /home/dpw/TensorRT-7.2.2.3/
cd python
pip install tensorrt-7.2.2.3-cp38-none-linux_x86_64.whl
cd ..
cd graphsurgeon
pip install graphsurgeon-0.4.5-py2.py3-none-any.whl
cd ..
cd onnx_graphsurgeon
pip install onnx_graphsurgeon-0.2.6-py2.py3-none-any.whl
cd ..
cd uff
pip install uff-0.6.9-py2.py3-none-any.whl
然后在配置文件中假如TensorRT的环境变量,命令如下:
sudo vim ~/.bashrc
# 下面命令假假如~/.bashrc文件文件中,需要根据自身需要调整TensorRT文件夹的绝对路径
export TENSORRT_ROOT=/home/dpw/TensorRT-7.2.2.3/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/dpw/TensorRT-7.2.2.3/lib
# 然后使配置文件生效
source ~/.bashrc
在这里介绍的是C++版本OpenCV的安装流程,Python版本的OpenCV安装流程在此不介绍。首先安装OpenCV库相关的所需的CMake,命令如下:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential cmake
接着安装OpenCV相关的依赖库,命令如下:
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libatlas-base-dev gfortran libgtk2.0-dev libjpeg-dev libpng-dev
接着在OpenCV官网下载源码压缩包,在这里我选择的是4.5.5版本,然后完成接源码解压,命令如下:
sudo chmod 777 opencv-4.5.5.zip
unzip opencv-4.5.5.zip
接着利用CMake编译OpenCV,命令如下:
cd opencv4.5.5
sudo mkdir build
cd build
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo sudo make -j12 # 根据服务器硬件自行选择几个线程同时编译
sudo make install
编译成功后,开始配置环境变量。首先在/etc/ld.so.conf.d/opencv.conf
文件中添加相关路径并使文件生效,命令如下:
sudo vim /etc/ld.so.conf.d/opencv.conf
# 添加内容
/usr/local/lib
# 文件生效
sudo ldconfig
接着配置环境变量,命令如下:
sudo vim /etc/bash.bashrc
# 添加内容
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
# 文件生效
source /etc/bash.bashrc
sudo updatedb
在这里默认安装Pycharm专业版,首先从Pycharm官网上下载对应安装包,如下图所示。
安装包下载完成之后,对压缩包进行解压,对文件夹赋予权限,并放置当前用户文件夹下,命令如下:
cd Downloads/
sudo chmod 777 pycharm-professional-2021.2.tar.gz
sudo tar -zxvf pycharm-professional-2021.2.tar.gz
sudo chmod 777 -R pycharm-2021.2/
sudo mv pycharm-2021.2/ /home/dpw
之后为了之后能够快速运行程序,我们必须建立桌面快捷方式。创建快捷方式文件代码如下:
cd /usr/share/applications/
sudo gedit pycharm.desktop
将如下内容粘贴到文件当中,最好在粘贴之后讲注释掉,然后保存即可。之后在上述快捷方式该快捷方式拖到桌面即可
[Desktop Entry]
Type=Application
Name=Pycharm # 快捷方式名称
GenericName=Pycharm3
Comment=Pycharm3:The Python IDE
Exec="/home/gpu06/pycharm-community-2019.2.3/bin/pycharm.sh" # pycharm运行sh文件地址,换成自己的
Icon=/home/gpu06/pycharm-community-2019.2.3/bin/pycharm.png # 快捷方式图标文件文件地址,换成自己的
Terminal=pycharm
Categories=Pycharm;
然后讲该快捷方式拖拽到桌面即可。接下来进行pycharm配置操作,在创建新py脚本时,自动添加作者等信息,启动Pycharm,并按照顺序依次打开File
->Settings
->Editor
->File and Code Templates
->Python Script
,将如下内容复制到窗口后点击Apply
。
##!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time : ${DATE} ${TIME}
# @Author : Dai Pu wei
# @Email : [email protected]
# @File : ${NAME}.py
# @Software: ${PRODUCT_NAME}
def run_main():
"""
这是主函数
"""
if __name__ == '__main__':
run_main()
接着添加常用插件,打开File
->Settings
->Plugins
,然后右侧的文本框中输入想要的查看的插件名称,在下方就罗列已安装的相关插件。
需要安装的插件有:
利用国内镜像源一键安装docker,命令如下:
# 阿里源
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# daocloud
curl -sSL https://get.daocloud.io/docker | sh
接着将当前用户加入到组,并赋予当前用户root权限,命令如下:
sudo groupadd docker
sudo gpasswd -a ${USER} docker
之后重启docker,并测试是否成功,命令如下:
# 重启docker
sudo service docker restart
newgrp - docker
# 设置成开机自启
sudo systemctl enable docker
# 测试赋予权限是否成功
docker ps
docker --version
为了加快docker拉取镜像速度,需要更换docker镜像源,同时将拉取镜像的保存地址更换到数据盘,命令如下:
sudo vim /etc/docker/daemon.json
# 将如下内容复制到/etc/docker/daemon.json
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://xxx.mirror.aliyuncs.com" # 阿里云
],
"graph": "/data/docker", # docker镜像存储地址,自行决定,尽可能放置在数据盘,与系统盘分离
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
}
}
}
然后重启docker,命令如下:
sudo chmod 777 /etc/docker/daemon.json
sudo service docker restart
sudo systemctl daemon-reload
sudo systemctl restart docker
为了顺利在Docker容器中使用英伟达显卡实现,需要安装Nvidia-Docker。首先创建nvidia-docker.sh
文件,然后写入如下内容,命令如下:
sudo vim nvidia-docker.sh
# 写入内容
#!/bin/bash
sudo cat >> /etc/hosts <<EOF
# NVIDIA DOCKER Domain IP
185.199.108.153 nvidia.github.io
185.199.109.153 nvidia.github.io
185.199.110.153 nvidia.github.io
185.199.111.153 nvidia.github.io
EOF
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
&& curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
sudo apt-get install nvidia-container-toolkit --fix-missing
# 重启docker
sudo systemctl restart docker
保存文件后,使用运行脚本进行安装好nvidia-docker,命令如下:
sudo chmod 777 nvidia-docker.sh
bash nvidia-docker.sh
接着拉取镜像进行测试nvidia-docker是否安装成功,命令如下:
docker run --gpus all -it --rm nvidia/cuda:11.0-base nvidia-smi
若出现如下图所示结果则证明nvidia-docer安装成功。
通过Github安装docker-compose,命令如下:
sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
若网速存在问题则换成daocloud进行下载,命令如下:
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
下载完成够添加可执行权限,命令如下:
sudo chmod +x /usr/local/bin/docker-compose
利用如下命令测试安装结果是否成功:
docker-compose --version
接下来我们来给给出相关常用软件的安装说明。目前包含常见Linux命令、git、搜狗输入法、谷歌浏览器、向日葵、filezilla和openssh-server等。
首先,安装Fcitx输入框架,代码如下:
sudo apt install fcitx
# 可能会遇到安装环境依赖问题,使用下面命令解决环境依赖,环境依赖安装可能很费时间,耐心等待。之后重新运行上述命令。
sudo apt-get install -f
sudo apt install fcitx
接下来是安装fcitx的配置工具:
sudo apt-get install fcitx-config-gtk
之后安装fcitx的table-all软件包:
sudo apt-get install fcitx-table-all #遇到”希望继续执行吗“选择Y
最后安装im-switch切换工具:
sudo apt-get install im-switch #遇到”希望继续执行吗“选择Y
接下来到搜狗输入法官网下载好的64位的安装包,如下图所示。
默认安装包放到Downloads文件中,然后进入相应的下载目录,进行安装,命令如下:(安装过程中如果有错,运行sudo apt --fix-broken install)
cd Downloads
sudo dpkg -i sogoupinyin_2.2.0.0108_amd64.deb
# 若提示缺少环境依赖。执行下面命令,然后执行上面命令
sudo apt-get install -f
sudo dpkg -i sogoupinyin_2.2.0.0108_amd64.deb
之后点击系统界面右上角的设置按钮,进入系统设置,进入Region&Lauguage选项,点击最下面的Manage Installed Languages的按钮
之后会提示安装语言依赖,时间也会很久,耐心等待。
之后将键盘输入法系统设置位fcitx,应用到整个系统,如下图所示。
之后重启系统,然后将系统界面右上方会出现一个小键盘按钮,点击这个按钮,配置当前输入法——>添加输入法——>添加搜狗拼音输入法并置顶。完成。借用网上图展示一下。
但是ubuntu18.04在安装过程中若是直接安装的英文而非中文时,在按上述流程安装搜狗输入法之后,可能无法实现搜狗输入法的添加。为了要想把搜狗输入法添加成功,可行的办法就是首先将ubuntu的语言包换成中文重启后,按上述过程添加搜索输入法,最后将语言包换成英文重启即可。
经常碰到安装完搜狗拼音输入法后候选栏是乱码的情况,解决方法如下:
输入如下命令:
cd ~/.config
sudo rm -rf SogouPY* sogou*
sudo apt install libqt5qml5 libqt5quick5 libqt5quickwidgets5 qml-module-qtquick2
sudo apt install libgsettings-qt1
谷歌中文输入发与搜狗输入法的整体安装流程比较相似,前面安装包稍微有些差异,在此只介绍安装包安装流程,之后的就是重启机器进行配置。安装代码如下:
sudo apt-get install language-pack-zh-hans
sudo apt-get install fcitx-googlepinyin
首先在 火狐浏览器中打开 Google Chrome 浏览器官网下载地址 下载安装包,默认安装包在Dowloads文件中。
之后利用进入安装包所在文件夹,进行安装,命令如下:
sudo dpkg -i google-chrome-stable_current_amd64.deb
# 若提示缺少环境依赖。执行下面命令,然后执行上面命令
sudo apt-get install -f
sudo dpkg -i google-chrome-stable_current_amd64.deb
之后在搜索栏可以找到谷歌浏览器的快捷方式,点击运行,为了方便可以讲七固定在系统左边的任务栏里。
进入向日葵官网下载了相应的安装包,默认安装包在Dowloads文件中。
之后利用进入安装包所在文件夹,进行安装,命令如下:
cd Downloads
sudo dpkg -i SunloginClient-10.1.1.38139_amd64.deb
# 若提示缺少环境依赖。执行下面命令,然后执行上面命令
sudo apt-get install -f
sudo dpkg -i SunloginClient-10.1.1.38139_amd64.deb
之后进入系统快捷方式文件夹(/usr/share/applications)将向日葵的快捷方式移动到桌面即可。
FileZilla是一个免费而且开源的FTP客户端软件,共有两种版本:客户端版本、服务器版本。FileZilla有条理的界面和管理多站点的简化方式使得FileZilla Client成为一个方便高效的FTP客户端工具。本文介绍的是Ubuntu下FileZilla的安装。安装命令如下:
sudo apt-get install filezilla
之后在搜索栏可以找到filezilla 的快捷方式,点击运行,为了方便可以讲七固定在系统左边的任务栏里。
使用以下命令安装:
sudo apt-get install openssh-server
然后确认sshserver是否启动了:(或用“netstat -tlp”命令)
ps -e|grep ssh
如果只有ssh-agent那ssh-server还没有启动,需要/etc/init.d/ssh start,如果看到sshd那说明ssh-server已经启动了。 如果没有则可以这样启动:
sudo /etc/init.d/ssh start
接下来我们需要修改ubuntu的默认端口。ubuntu的默认端口为22,我们将其修改成3726端口。修改方法如下。打开在/etc/ssh/sshd_config文件,命令如下:
sudo gedit /etc/ssh/sshd_config
文件中找到Port 22相关内容,默认这一行是注释掉,需要讲前面的"#"去掉,然后子啊下一行加上Port 3726即可,如下图所示。
之后重启ssh,命令如下:
service ssh restart
之后我们在win10上的xshell上进行连接验证可行性,结果如下,成功。
安装shutter安装命令如下:
sudo apt-get install shutter #安装shutter
在Ubuntu 18.04中安装了我最喜欢的截图工具Shutter后,我发现编辑按钮变编程灰色。这个快速提示将向您展示如何重新启用Shutter中的编辑功能。安装libgoocanvas-common、libgoocanvas3、libgoo-canvas-perl
cd Downloads
sudo dpkg -i libgoocanvas-common*.deb
sudo dpkg -i libgoocanvas3*.deb
sudo dpkg -i libgoo-canvas-perl*deb
将上述三个包给安装上,若安装失败,执行下面代码:
sudo apt-get install -f
然后再安装这几个包,重启之后,进行设置shutter的快捷键。首先进入系统设置界面中的键盘,如下图所示,点击如下图所示的红框的添加按钮。
设置如下的快快捷键。
安装解码器:
sudo apt-get install ubuntu-restricted-extras
安装VLC视频播放器
sudo apt-get install vlc browser-plugin-vlc
另一款比较好的播放器SMPlayer也不错
sudo apt-add-repository ppa:rvm/smplayer
sudo apt-get update
sudo apt-get install smplayer smplayer-skins smplayer-themes
安装FFmpeg
sudo add-apt-repository ppa:djcj/hybrid
sudo apt-get update
sudo apt-get install ffmpeg
访问WPS官网,下载linux版本的WPS。安装命令如下:
sudo chmod 777 wps-office_11.1.0.10161_amd64.deb
sudo dpkg -i wps-office_11.1.0.10161_amd64.deb
点击运行可能出现由于缺少字体的提示,因此我们还需下载字体压缩包,字体包下载链接:链接: https://pan.baidu.com/s/1fmk70MoPuC6FSi9e1eqRlQ 提取码: mpwm。
进入字体包保存的路径打开终端
sudo mkdir /usr/share/fonts/wps-office #创建目录
sudo cp -r wps_symbol_fonts.zip /usr/share/fonts/wps-office #将当前位置的字体包复制到创建的目录
sudo unzip wps_symbol_fonts.zip #解压字体包
安装tmux,命令如下:
sudo apt-get install tmux
# 若安装失败,则运行如下命令进行更新源然后进行安装
sudo apt-get update
sudo apt-get install tmux
安装7z,命令如下:
sudo apt-get install p7zip-full
# 若安装失败,则运行如下命令进行更新源然后进行安装
sudo apt-get update
sudo apt-get install p7zip-full
安装vim,命令如下:
sudo apt-get install vim
# 若安装失败,则运行如下命令进行更新源然后进行安装
sudo apt-get update
sudo apt-get install vim
卸载liboffice:
sudo apt-get remove libreoffice*
卸载亚马逊:
sudo apt-get remove unity-webapps-common