Basic Configuration for Ubuntu

Ubuntu18.04几种常见环境的配置

Posted by Kylin on April 3, 2019

[TOC]

Install Ubuntu

有一点值得说明的是,选择安装something else, 自己从free当中选swap和/

Problems in re-install Ubuntu

重启后进入grub显示:gave up waiting for root file system device

原因可能是GRUB启动文件或者启动分区遭到破坏,解决方法就是利用Ubuntu的安装光盘,加载Boot-Repair修复引导程序来解决问题。

  • 制作Ubuntu安装光盘或U盘,然后启动到Ubuntu安装界面,注意这时候要选择“试用Ubuntu”,然后就能进入Ubuntu桌面。

  • 连接上互联网,打开终端,然后下载安装并运行Boot-Repair进行修复。
  • 打开终端
sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update

sudo apt-get install -y boot-repair && boot-repair

然后进入到Boot-Repair修复引导程序,点击“推荐修复”,如果没有错误提示的话,按照指示操作,重启岂可成功修复。

  • 即使没有成功启动,重新安装ubuntu也可以解决问题。

refering to:https://www.cnblogs.com/yibeimingyue/p/15478779.html

Basic Configuration for Device

翻墙配置

这里使用的是:clash on windows

refering to:https://www.cfmem.com/2021/09/linux-clash-for-windows-vpnv2ray.html

显卡驱动更新/拓展屏幕配置

Nvidia显卡驱动更新

sudo apt-get update

sudo ubuntu-drivers autoinstall

reboot

双(多)屏幕配置

xrandr 显示设备设置

  • 了解设备名
xrandr
  • 设置主屏幕

( DP-3为设备接口名指代设备,具体情况由 xrandr 了解 )

xrandr --output DP-3 --auto --primary
  • 设置位置关系

设置 DVI-I-0 在 DP-3 的右边

xrandr --output DVI-I-0 --right-of DP-3 --auto

(位置关系参数:right-of ,left-of , below)

Configuration for Software

Anaconda 配置

(或者在 清华大学开源软件镜像站 下载)

  • 在 Terminal 中进入 Downloads 目录
cd Downloads/
  • 运行 .sh 文件
bash Anaconda3-xxxx.sh
  • 修改环境变量
sudo gedit ~/.bashrc
export PATH="/home/kylin/anaconda3/bin:$PATH"
  • 非reboot生效
source ~/.bashrc

CLion\Pycharm-Anaconda 配置

  • 在 Terminal 中进入安装包解压目录
cd Jet/clion/bin
  • 运行安装程序
sh ./clion.sh
  • 同理可以安装pycharm
cd Jet/clion/bin
sh ./clion.sh
  • 配置 Pycharm-Anaconda

点击初始界面 config 选择 Project Interpreter

点击 Add 在 Add Python Interpreter 界面下勾选Existing environment(Make available to all project)添加 python 路径

/home/kylin/anaconda3/bin/python

Pycharm-Anaconda 的配置可以使得之后配置的gurobi在 pycharm 中运行。

Anaconda-Gurobi 配置

Gurobi 安装

  • 下载安装包与申请密匙

    进入 Gurobi官网 下载安装包

  • Academic 用户可以申请为期一年的密匙 xxxxxxxxxx 字符码用于联网激活

  • 进入Downloads提取文件

tar xvfz gurobi8.1.1_linux64.tar.gz
  • 修改环境变量
sudo gedit ~/.bashrc

文件尾添加

export GUROBI_HOME=/home/kylin/Downloads/gurobi811/linux64
export PATH=${PATH}:${GUROBI_HOME}/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GUROBI_HOME}/lib
  • 在 Downloads 目录下用密匙激活
./gurobi811/linux64/bin/grbgetkey xxxxxxx
  • 环境变量非reboot生效
source ~/.bashrc
  • 进入终端Gurobi
gurobi.sh
  • Anaconda 配置

在 Anaconda 中,只需要安装 gurobipy 包即可完成在 anaconda-python中使用 gurobi

conda config --add channels http://conda.anaconda.org/gurobi

conda install gurobi
  • 测试

terminal内测试 (先配置默认 anaconda-python 运行, 见上文)

python
   >>import gurobipy
   >>

pycharm(.py文件头添加)内测试

import gurobipy

若无报错信息出现,则均证明配置成功

Pytorch(GPU)配置

CUDA 与 CUDNN 安装

  • 查看显卡型号
ubuntu-drivers devices

( model之后的即是显卡型号 )

NAVIDIA官网 核实是否支持GPU运算

  • gcc 降级(确保 CUDA 支持,caffe 需 gcc 5.0+)
sudo apt-get install gcc-4.8

sudo apt-get install g++-4.8

之后进入以下目录修改

cd /usr/bin

ls -l gcc*

修改 gcc 链接

sudo mv gcc gcc.bak 
sudo ln -s gcc-4.8 gcc 

对 g++ 进行同样的操作

ls -l g++*

sudo mv g++ g++.bak
sudo ln -s g++-4.8 g++

查看版本号核实

gcc --version

g++ --version
  • 安装 CUDA

在 Terminal 安装包目录下

sudo sh cuda_9.0.176_384.81_linux.run

按照以下命令执行 (只有 Nvidia 驱动无需更新)

Do you accept the previously read EULA? (accept/decline/quit): accept 
You are attemptingto install on an unsupported configuration. Do you wish to continue? ((y)es/(n)o) [ default is no ]: y 
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 352.39? ((y)es/(n)o/(q)uit): n 
Install the CUDA 8.0 Toolkit? ((y)es/(n)o/(q)uit): y 
Enter Toolkit Location [ default is /usr/local/cuda-8.0 ]: 
Do you want to install a symbolic link at /usr/local/cuda? ((y)es/(n)o/(q)uit): y
Install the CUDA 8.0 Samples? ((y)es/(n)o/(q)uit): y Enter CUDA Samples Location [ default is /home/kyle ]:

配置环境变量

sudo gedit ~/.bashrc

在文件尾插入

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

环境变量非reboot应用

source ~/.bashrc

测试

Terminal 输入

nvcc -V

Terminal 正常返回

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176

主目录下进入 Sample 测试

进入 sample 目录

cd NVIDIA_CUDA-9.0_Samples/0_Simple/vectorAdd

编译

make

编译正常返回

"/usr/local/cuda-9.0"/bin/nvcc -ccbin g++ -I../../common/inc  -m64    -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_70,code=compute_70 -o vectorAdd.o -c vectorAdd.cu
"/usr/local/cuda-9.0"/bin/nvcc -ccbin g++   -m64      -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_70,code=compute_70 -o vectorAdd vectorAdd.o 
mkdir -p ../../bin/x86_64/linux/release
cp vectorAdd ../../bin/x86_64/linux/release

执行

./vectorAdd

执行正常返回

[Vector addition of 50000 elements]
Copy input data from the host memory to the CUDA device
CUDA kernel launch with 196 blocks of 256 threads
Copy output data from the CUDA device to the host memory
Test PASSED
Done
  • 安装 CUDNN

进入 CUDNN 解压包目录 cuda

cd cuda

执行以下命令完成 CUDNN 安装

sudo cp lib64/* /usr/local/cuda/lib64/
sudo cp include/* /usr/local/cuda/include/
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
  • 安装 Pytorch

进入安装包所在目录(未解压)

pip install torch-0.3.0.post4-cp36-cp36m-linux_x86_64.whl 

成功则会返回

Successfully installed torch-0.3.0.post4

再执行

pip install torchvision

成功则会返回

Installing collected packages: torchvision
Successfully installed torchvision-0.2.2.post3
  • Pytorch 测试

Terminal 测试

python
>>import torch
>>

(无报错则成功)

pycharm 测试

新建项目添加 pytorch_test.py 文件加入以下内容

import torch as t
x = t.rand(5,3)
y = t.rand(5,3)
if t.cuda.is_available():
    x = x.cuda()
    y = y.cuda()
    print(x+y)

若返回以下内容则安装成功

/home/kylin/anaconda3/bin/python /home/kylin/PycharmProjects/torch_test/test.py

 0.7126  1.1742  0.6479
 1.1892  0.7152  1.1412
 1.1193  1.2094  1.5306
 1.1129  1.2118  1.1972
 0.9273  1.0505  0.7236
[torch.cuda.FloatTensor of size 5x3 (GPU 0)]

Process finished with exit code 0

测试机型是 Thinkstation-P500,显卡为 Quadro K2200, 可自行在 Nvidia 显卡支持上下载需要的 CUDA 及对应 CUDNN 版本。