(1) 安装流程参考以下博客:
https://www.cnblogs.com/masbay/p/11627727.html
该博客安装的是18.04版,但对于其他版本的ubuntu,该流程也具有参考性。
(2) 以中文安装的系统,建议安装成功后切换语言为英文以使各个系统文件夹名称为英文(键入命令好敲,也防止有些库路径不兼容中文),之后可以再将系统设置回中文,能够在保留系统文件夹名称为英文不变的情况下,系统以中文显示。
(3) 系统提示更新要取消,不要更新,否则系统容易莫名坏掉。
(4) 如果安装的是20.04版本:
a) 如果启动盘没有install ubuntu。
选择 ubuntu(safe graphics),其在扫描完u盘文件确认无误后会出现install ubuntu的选项。
b) 如果启动花屏或安装花屏或启动后桌面卡到没反映。
重启,使用advanced options for ubuntu 选项 ,按e进入编辑模式,在quite splash 和 $vt_handoff 之间加上 nomodeset,ctrl+X保存退出。
正常进入ubuntu系统后,参考第2步设置grub引导,在grub引导文件中中将下句改为:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
c)如果系统正常运行时,以一定间隔卡顿,搜索系统监听器(system load indicator),在设置中将各项监听时间改大。
d)如果系统无法检测到分屏的第二屏幕,配置到第10步安装nvidia驱动后就会正常。
(1) 修改Grub引导文件
cd /etc/default/
sudo gedit grub
文档中常设的配置项:
GRUB_DEFAULT=3 #设置为希望默认启动的系统
GRUB_TIMEOUT=20 #设置为默认选择时间
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset" #解决花屏问题
(2)保存退出
sudo update-grub
cd /etc/apt
sudo gedit sources.list
在文件的末尾添加阿里,中科大和清华三个常用源:
## add ali
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
## add ustc
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
## add tuna
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
保存退出
sudo apt-get update
sudo apt-get upgrade
都更新完退出当前terminal,重启一个新的。
(1) 安装fcitx
sudo add-apt-repository ppa:fcitx-team/nightly
sudo apt-get update
sudo apt-get install fcitx fcitx-config-gtk fcitx-sunpinyin
sudo apt-get install fcitx-table-all
sudo apt-get install fcitx-ui-classic
设置(Setting)–>区域和语言(Region&Language)–>管理已安装语言(Manage installed language)–>稍后提醒(Remind me later)–>键盘输入法系统(Keyboard input method system)更改为fcitx。
重启
(2) 安装搜狗拼音
去官网 https://pinyin.sogou.com/linux/ 下载到Downloads
cd Downloads/
sudo dpkg -i sogoupinyin_版本_amd64.deb
重启
重启后搜狗输入法会被自动添加,如果没有,在所有程序中搜索fcitx-configuration(fcitx-配置),+ 添加搜狗输入法,输入法切换默认是ctrl+space。
sudo apt-get install terminator
测试ctrl+alt+t出现的是否为terminator,否则去Setting–>Devices–>Keyboard设置快捷键。
(1) meld 文档对比
sudo apt-get install meld
(2) kazam截图录屏软件 (最近发现有中文不支持的乱码问题)
sudo apt-get install kazam
(3) net-tools
sudo apt-get install net-tools
(1) 下载vscode到Downloads
https://code.visualstudio.com/
cd Downloads/
sudo dpkg -i code_版本号_amd64.deb
(2) 安装插件
常用插件:
1) 通用类
Chinese (Simplified) Language Pack for Visual Studio Code
Bracket Pair Colorizer
2) C++
c/c++
C++ Intellisense
CMake
3)Python
Python
Jupyter
4) 文档类
vscode-pdf
Markdown Preview Enhanced
5) 其他
Git History
Git Graph
(1) 安装c++底层环境
sudo apt-get install build-essential
(2) 安装cmake
https://cmake.org/files/ 选择某一版本后,下载linux-x86_64.bash后缀的。
在希望安装它的位置,把下载好的.bash文件copy进去
bash cmake-版本-linux-x86_64.bash
安装结束后
sudo gedit ~/.bashrc
在文档最后添加cmake的环境, PATH=你的cmake的bin目录路径:$PATH
# add cmake path
export PATH=/home/ryuuru/Software/cmake/cmake-3.20.0-linux-x86_64/bin:$PATH
保存退出
source ~/.bashrc
测试是否安装成功
cmake --version
(1) 安装anaconda
官网国内访问较慢,建议从清华镜像下载 https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
cd Downloads/
bash Anaconda_版本.sh
安装过程ctrl+d快速下翻协议,除了安装vscode,其他都是enter或者yes
安装结束关闭当前terminal,重启一个新的
sudo gedit ~/.bashrc
查看文档最后有没有加入anaconda环境
如果没有的话在文档最后添加:
export PATH="/home/用户名/anaconda3/install/bin:$PATH"
保存退出
source ~/.bashrc
安装结束关闭当前terminal,重启一个新的
conda -V
查看是否出现conda版本,出现则表示安装成功
sudo gedit ~/.condarc
在打开的文档中添加国内源
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
- https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
- defaults
show_channel_urls: true
保存退出,清理缓存
conda clean -i
新建一个conda环境,测试一下
conda create -n 环境名 python==3.9.0(期望的python版本,也可以指定其他库,这里配置一个3.9.0的)
创建结束后,查看环境是否建立成功,并切换环境。
conda env list
conda activate 环境名
(2) 在conda环境里安装python常用库
几乎必备的库:
conda install pip
conda install ipython
其他根据实际应用可选安装:
matplotlib (画图)
numba (python代码加速库)
black (python代码格式校验,自动格式)
mypy (静态类型检查工具)
注:
配置此环境前,建议前面c++和python的都配好,因为深度学习领域c++和python都会涉及。
https://tensorflow.google.cn/install/source 可以查看tensorflow版本和对应cuda,cudnn版本。
如果没有一定要运行某指定版本的需求,最好选择和自己电脑接近的nvidia驱动和cuda版本。
不要安装低版本出现一堆问题后还死磕!
不要随便给gcc和g++降级!(虽然降级后可选版本使用,但实际c++和python和神经网络三方混合编程时,很容易出现问题)
本配置中电脑显卡为RTX3090,因此选择了nvidia-driver-470, cuda11.0, cudnn8.0.5
(1) 安装nvidia显卡驱动
查看电脑里是否已经有nvidia驱动,以后也可以使用该命令查看显卡情况。
nvidia-smi
如果没有,查看显卡硬件型号和推荐驱动:
ubuntu-drivers devices
在显示的里面找一个版本装:(需要bios里安全模式关闭)
如果有特定版本要求
sudo apt-get install nvidia-driver-xxx
如果安装recommend的
sudo ubuntu-drivers autoinstall
重启
再次运行nvidia-smi命令,会发现安装成功。
注:现在ubuntu提供安装驱动的功能很便捷,不建议自行从nvidia官网下载然后离线安装,因为其过程会包含:卸载现有驱动,切换图形界面到命令界面,安装过程中由于是中文系统偶尔会乱码,一旦安装失败需要重装回现有驱动,再切换命令界面到图形界面等一系列繁琐过程,也比较容易出问题。
(2) 安装cuda
nvidia官网如果登录不进去,或者下载时各种页面进不去,可以尝试把developer.nvidia.com改为 developer.nvidia.cn
https://developer.nvidia.cn/cuda-toolkit-archive 下载cuda,这里选择11.0版本。
下载时选择Linux → x86_64 → Ubuntu → 你的ubuntu版本 → runfile
按照下面Base installer的指示运行命令即可
wget http://developer.download.nvidia.cn/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run
下载结束后,在runfile所在文件夹下打开terminal
sudo sh cuda_11.0.2_450.51.05_linux.run
安装过程:
选择continue回车;
输入accept回车;
Cuda Installer页面,在Driver处按空格取消勾选,其余地方正常,选择Install回车。
安装完成后,添加环境。
sudo gedit ~/.bachrc
在文档最下面添加
# add cuda path
export PATH=/usr/local/cuda-你的版本/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-你的版本/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
保存退出。
source ~/.bashrc
关闭当前terminal,重启。
nvcc -V
出现cuda版本输出则安装成功。
(3) 安装cudnn,本质上只是复制文件到指定文件夹
https://developer.nvidia.cn/zh-cn/cudnn 下载cudnn
下载前需要登录/注册nvidia账号,回答一个问卷。
下载后解压,进入解压后cudnn-版本/cuda的文件夹下,可以看到一个include文件夹和一个lib64文件夹,在此处右键打开terminal。
sudo cp ./include/cudnn.h /usr/local/cuda/includ
sudo cp ./lib64/* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
之后cd /usr/local/cuda/ 看一下复制过去的文件都在不在,权限是不是正确。
(4) 运行cuda sample
/usr/local/cuda-你的版本/bin/cuda-install-samples-你的版本.sh 你希望存放sample的路径
进入你存放sample的路径,1_Utilities文件夹下,deviceQuery文件夹
make
./deviceQuery
最后有Result = PASS 就是运行成功,如果有运行失败的情况,可以尝试sudo运行sample。
(5) 安装tensorflow
在第9步配置python环境中已经安装好了Anaconda,这里以python3.7.7,tensorflow1.14为例,新建一个conda环境,并安装tensorflow1.14gpu。
conda create -n tf14 python==3.7.7 # 创建环境
conda activate tf14 # 切换到刚创建的环境
conda install pip
conda install ipython
conda install tensorflow-gpu==1.14.0
都安装好后
ipython #可以看到python版本是我们安装的3.7.7
import tensorflow as tf
hello = tf.constant("hello")
sess = tf.Session()
运行完此行时,能够看到很长的一串输出,最下面可以看到device: GPU 等如下字样则代表安装成功,可以正常使用tensorflow-gpu。
326] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 22247 MB memory) -> physical GPU (device: 0, name: NVIDIA GeForce RTX 3090, pci bus id: 0000:01:00.0, compute capability: 8.6)
print(sess.run(hello))
(1) git
sudo apt-get install git
如果有大文件传输建议安装一个git-lfs
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
登录你的github, Setting,进入SSH and GPG keys页面。
generating ssh keys里面有新建key的方法,同时,我们在新建了key后也要在此页面选择 New ssh key添加我们的key。
新建key。
ssh-keygen -t ed25519 -C "[email protected]"
新建过程中会显示存储key的路径。
cd 到此路径 sudo gedit 打开.pub文件,复制其中内容,粘贴到github上的New ssh key页面, Add SSH key。
添加后,测试ssh连接。
ssh -T [email protected]
输入yes,出现Hi, xxx. You’ve successfully authenticated.字样则表示成功。
(2) docker
安装依赖
sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
添加秘钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
添加源(以下一段一起复制)
sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) \
stable"
更新源
sudo apt-get update
安装docker
sudo apt install docker-ce
测试安装结果,此处一般会新pull一个hello-world的image,之后会删掉
sudo docker run hello-world
设置免sudo运行
sudo usermod -aG docker 用户名
sudo systemctl restart docker
重启
删掉之前pull的hello-world,顺便测试下免sudo是否成功
docker ps -a #查看所有容器,能看到那个hello-world的
docker stop 容器名/容器id #停止hello-world的容器
docker rm $(docker ps -a -q) #删掉所有已经停止运行的容器
docker images #查看所有镜像
docker rmi 镜像名 #删掉该镜像