近期因实验室需求安装Linux系统,安装过程走了不少弯路,在此记录,希望对他人有所帮助。本人使用的是笔记本电脑,前置工作在win10下安装ubuntu20.04双系统可参考b站视频,亲测可用。
(安装pytorch前面的几步可以参考,之后几步是我自己安装某些软件顺便记录一下的)
链接: 如何安装win+linux双系统(ubuntu20.04).
1.首先查看自己电脑是否有gpu
(本人为GeForce GTX 1050显卡)
x@H:~$ lspci | grep NVIDIA
01:00.0 VGA compatible controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Mobile] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GP107GL High Definition Audio Controller (rev a1)
2.删除之前已经安装的NVIDIA驱动
(不删直接装很可能报错,本人就是新装的linux系统,在官网安装驱动失败)
sudo apt-get purge nvidia*
3.更新自己的apt库
(一般都会更新一下,不然很多包下不了)
x@H:~$ sudo apt-get update
x@H:~$ sudo apt-get upgrade
4.查看最新的驱动系统
(就是看一下你现在可以支持的驱动,可以看到470是默认推荐的)
x@H:~$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001C8Dsv0000103Csd0000838Fbc03sc00i00
vendor : NVIDIA Corporation
model : GP107M [GeForce GTX 1050 Mobile]
driver : nvidia-driver-470 - distro non-free recommended
driver : nvidia-driver-418-server - distro non-free
driver : nvidia-driver-470-server - distro non-free
driver : nvidia-driver-390 - distro non-free
driver : nvidia-driver-510 - distro non-free
driver : nvidia-driver-450-server - distro non-free
driver : nvidia-driver-510-server - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin
5.自动安装合适的NVIDIA驱动
(我这儿默认下载的版本号是470.103.01,刚好可以搭配pytorch的CUDA11.3,静静等待自动下载安装即可,很快也就300多M大小)
x@H:~$ sudo ubuntu-drivers autoinstall
6.检查下您的系统是否使用nouveau开源驱动程序:
(这个不关闭阔能会引起系统无法进入,我没试过但最好还是关了)
(进入/etc/modprobe.d文件夹打开终端,开启root模式)
root@H:/etc/modprobe.d# bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
root@H:/etc/modprobe.d# bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
root@H:/etc/modprobe.d# gedit /etc/modprobe.d/blacklist-nvidia-nouveau.conf
在文件里写入这两行,保存退出
blacklist nouveau
options nouveau modeset=0
如何运行这个后无输出那就是关闭成功了
x@H:~$ lsmod | grep nouveau
7.重启一下电脑
(有些配置重启后才能生效)
x@H:~$ Reboot
8.看一下NVIDIA显卡驱动是否安装成功了
x@H:~$ nvidia-smi
Fri Apr 22 21:11:42 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.103.01 Driver Version: 470.103.01 CUDA Version: 11.4 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 Off | N/A |
| N/A 39C P8 N/A / N/A | 6MiB / 2000MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 927 G /usr/lib/xorg/Xorg 4MiB |
+-----------------------------------------------------------------------------+
1.首先进入Anaconda镜像站去下载个安装包下载到本地,网站地址如下:
(我下的是Anaconda3-2020.02-Linux-x86_64.sh)
链接: Anaconda镜像站.
2.进入下载包的那个文件夹打开终端输入以下代码进行安装
(一路点空格或者yes就可以安装成功了)
x@H:~/下载$ bash Anaconda3-2020.02-Linux-x86_64.sh
3.设置默认启动的环境为base环境
(其实上面一步安装好就默认是base环境了,有时候运气不好就需要手动配置,比如我)
(第一个确保默认启动base环境,第二个确保conda可以启动)
x@H:~$ sudo gedit /etc/profile
x@H:~$ sudo gedit /home/x/.bashrc
这俩文件都添加一下,在打开的文件里,上面不要动在最后一行添加下面这行话,配置环境变量
(各填自己的anaconda路径,之后在最前面就可以显示(base)咯)
export PATH=/home/x/anaconda3/bin:$PATH
激活配置好的环境
x@H:~$ source /home/x/.bashrc
运行下conda看可以启动不
x@H:~$ conda
4.创建自己的虚拟环境
(这里一路yes就可以了,xch是环境名,可以随便取,python=3.8也可以换成别的版本)
(base) x@H:~$ conda create -n xch python=3.8
5.看一下现在都有啥环境
(base) x@H:~$ conda info -e
激活xch环境, 可见开头变为(xch)
(base) x@H:~$ conda activate xch
(xch) x@H:~$
1.配置下清华镜像源,下载速度更快些
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
2.查看驱动版本,并比较自己可以安装的CUDA版本,我的版本是470打算下载对应11.3 pytorch。
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.103.01 Driver Version: 470.103.01 CUDA Version: 11.4 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 Off | N/A |
| N/A 39C P8 N/A / N/A | 6MiB / 2000MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
首先启动终端进入base环境,再输入自己创建的xch环境,升级一下conda,在xch环境下输入命令即可下载
(后面的 -c pytorch 记得去掉)
(base) x@H:~$ conda activate xch
(xch) x@H:~$ conda update -n base -c defaults conda
(xch) x@H:~$ conda install pytorch torchvision torchaudio cudatoolkit=11.3
4.查看是否安装成功
(xch) x@H:~$ python
Python 3.8.13 (default, Mar 28 2022, 11:38:47)
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.cuda.is_available()
True
1.vscode在国内下载有时候会非常非常慢,所以推荐直接镜像下载,链接如下:
链接: vscode镜像 点击即可下载(.deb).
2.转到文件所在目录,dpkg下载
(base) x@H:~/下载$ sudo dpkg -i code_1.66.2-1649664567_amd64.deb
3.安装相应插件
在左侧第五个小方块的图标里(extension),搜索python, vscode-icons, Bracket Pair Colorizer, Path Intellisense , Chinese(需要重启), Code Runner等插件,增加使用体验。
4.配置环境
创建一个文件夹,使用vscode打开
在左侧第四个小甲虫加三角形的图标里(Run and debug),有个create launch.json的字样,点击并选择创建python格式,即可成功创建。
在上方的 查看->命令面板 里输入 >python select interpreter 里选择 python3.8.13(“xch”) , 这是我自己创建的conda环境。
这里很多小伙伴会发现,运行
print(hello world)
这种代码是肯定不问题的,但是只要导入包就会报错
import torch
ones = torch.ones((3, 4))
print(ones)
输出
Traceback (most recent call last):
File "/home/x/Code/temp.py", line 1, in
import torch
ModuleNotFoundError: No module named 'torch'
于是我们在设置->扩展->python里找到setting.json并打开
将原来的
"python.pythonPath": "/home/x/anaconda3/envs/xch/bin/python"
注释掉.
在文件最后添加"code-runner.executorMap",还没敲完呢后面一大片就自动生成了
将里面的
"python": "python -u"
改称你自己的conda环境
"python": "/home/x/anaconda3/envs/xch/bin/python"
保存并退出
这时候再运行可以发现运行成功~
import torch
ones = torch.ones((3, 4))
print(ones)
tensor([[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]])
因为我是连接的实验室的服务器,其中是设置了跳板机的。
1.下载相关的插件
打开vscode,安装Remote-SSH插件
安装完成后左边会出现一个显示器图标(远程资源管理器)
点击SSH-TARGETS旁边的齿轮, 选择/home/x/.ssh/config
在其中输入你的远程服务器配置信息,我的如下:
( “***“ 替换跳板机的ip地址和自己服务器的ip地址)
Host JumpMachine
HostName 106.***.***.***
port 22
User Administrator
Host 60
HostName 192.***.***.***
port 22
User xch
ProxyCommand ssh -W %h:%p JumpMachine
2.对文件点击右键,选择 connect to host in current window 连接服务器
输入跳板机密码,继续输入用户密码
显示连接到服务器
点击左侧第一个图标(资源管理器),选择打开文件夹(/home/xch)
再次输入跳板机密码,输入用户密码,即可连接并操作服务器内文件
首先在官网下载自己想要的CUDA版本,我下的是11.4版本,直接百度输入CUDA TOOlkit 11.4 即可搜索到相应的版本。
链接: CUDA11.4下载链接.
//wait…
1.首先是docker的配置安装,具体如下:
更新一下apt库
sudo apt-get update
安装一下依赖的软件,不安装可能docker装不了
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
添加密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
开始安装docker
sudo apt-get install docker-ce docker-ce-cli containerd.io
测试一下安装成功了没,出现 hello for docker 就成功了
sudo docker run hello-world
把docker添加进用户组
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
再次运行,这次前面不需要家sudo也可以了。
docker run hello-world
参考链接: https://www.it610.com/article/1281185847399432192.htm.
参考链接: https://blog.csdn.net/u012386311/article/details/103402428.
参考链接: https://blog.csdn.net/qq_38327769/article/details/108701992.