写在最前面:
最近一个月配了仨电脑,感觉实在遭不住了,于是写了这篇文档给自己进行一种流程上的参考。
由于是给自己的一种参考,所以本文档不会细致到每个cd和ls。因此,按照本文档进行配置前,最好了解linux最最最基本的使用操作,不然的话建议完成第1,2,3步后,花费一定时间熟悉下该系统,再进行之后的环境配置。
主要内容如下:
1. 安装Ubuntu (双系统安装方法)
(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驱动后就会正常。
2. 设置Grub引导
(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
3. 添加源
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,重启一个新的。
4. 设置输入法(自带的中文输入法很卡,可以忍受则跳过此步)
(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。
5. 安装terminator (推荐安装)
sudo apt-get install terminator
?测试ctrl+alt+t出现的是否为terminator,否则去Setting–>Devices–>Keyboard设置快捷键。
6. 安装一些有用的工具(可选配置)
(1) meld 文档对比
sudo apt-get install meld
(2) kazam截图录屏软件 (最近发现有中文不支持的乱码问题)
sudo apt-get install kazam
(3) net-tools
sudo apt-get install net-tools
7. 安装IDE
注:这里选择vscode,因为支持多种语言,插件丰富,用起来很方便,当然,你也可以根据喜好安装其他。
(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
8. 配置C++环境
(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
9. 配置Python环境
(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 (静态类型检查工具)
10. 配置深度学习环境
注:
-
?配置此环境前,建议前面c++和python的都配好,因为深度学习领域c++和python都会涉及。 -
?https://tensorflow.google.cn/install/source 可以查看tensorflow版本和对应cuda,cudnn版本。 -
?如果没有一定要运行某指定版本的需求,最好选择和自己电脑接近的nvidia驱动和cuda版本。
-
?本配置中电脑显卡为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
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))
11. 配置其他编程支持环境(推荐安装)
(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 "your_email@example.com"
?新建过程中会显示存储key的路径。
?cd 到此路径 sudo gedit 打开.pub文件,复制其中内容,粘贴到github上的New ssh key页面, Add SSH key。
?添加后,测试ssh连接。
ssh -T git@github.com
?输入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
docker stop 容器名/容器id
docker rm $(docker ps -a -q)
docker images
docker rmi 镜像名
|