Ubuntu深度学习服务器环境搭建

Ubuntu深度学习服务器环境搭建

进入系统后设置一下root账户密码:

sudo passwd root

同时为了避免每次sudo都要输入密码,配置一下visudo:

sudo visudo

文件最后加上一行,$[UserName]改为自己的用户名

$[UserName] All=(ALL) NOPASSWD: ALL

ctrl + O回车保存,ctrl + X退出

下载安装配置

2.1下载vim

sudo apt install vim

2.2 配置国内镜像软件源

  1. 备份原来的源
cp /etc/apt/sources.list /etc/apt/sources.list.bak
  1. 设置阿里云镜像源
sudo vim /etc/apt/sources.list

修改内容为:

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

esc退出编辑, :wq保存

更新软件列表

sudo apt update
sudo apt upgrade

2.3 安装Python和pip

步骤同智辉君.

2.4 ssh远程连接

  1. 安装ssh
sudo apt install ssh
  1. 安装xrdp
sudo apt install xrdp

启动xrdp:

sudo systemctl status xrdp

`将xrdp用户添加到ssl-cert 用户组:

sudo adduser xrdp ssl-cert  
sudo systemctl restart xrdp

使用Windows自带的远程桌面软件连接服务器IP地址或者域名就行

2.5 安装frp进行内网穿透

这一部分需要一个公网ip,可以用网上的各种临时公网ip租用(如花生壳),也可以买一个cvm云服务器(送一个公网ip)

https://github.com/fatedier/frp/releases

本人下载的是frp_0.43.0_linux_amd64.tar

在云服务器端配置frps (frp server)

解压

tar -zxvf frp_0.43.0_linux_amd64.tar.gz

编辑frps.ini 文件

[common]
#frp服务的端口号,可以自己定
bind_port = 7000 
#frp的web界面的端口号
dashboard_port = 7500 
#web界面的登陆账户,自己修改
dashboard_user = user
#web界面的登陆密码,自己修改
dashboard_pwd = pass 
authentication_method = token
#frp客户端连接时的密码,自己修改
token = xxxxx 

/etc/systemd/system/配置自动运行服务脚本frps.service(vim frps.service)

[GLACIER]
Description=Frp Server Daemon
After=syslog.target network.target
Wants=network.target
 
[Service]
Type=simple
#修改为你的frps实际安装目录
ExecStart=/usr/local/bin/frp/frps -c /usr/local/bin/frp/frps.ini 
ExecStop=/usr/bin/killall frps
#启动失败1分钟后再次启动
RestartSec=1min
KillMode=control-group
#重启控制:总是重启
Restart=always
 
[Install]
WantedBy=multi-user.target

启用脚本并查看脚本状态,为running配置成功:

sudo systemctl enable frps.service
sudo systemctl start frps.service
sudo systemctl status frps.service

注意

大部分云服务器都要配置安全组,将对应端口放行

如果云服务器上还配置了nginx服务器如宝塔,要注意防火墙将对应端口放行

在个人服务器端配置frpc (frp client)

解压

tar -zxvf frp_0.43.0_linux_amd64.tar.gz

编辑frpc.ini 文件

[common]
#你的云服务器的公网ip
server_addr = xx.xx.xx.xx 
authentication_method = token
#刚刚配置的frp连接密码 
token = xxxxx 
#刚刚配置的frp服务端口
server_port = 7000
#Frpc login to server failed: i/o deadline reached
tls_enable = true

[GLACIER-ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 20022

[GLACIER-rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 23389

/etc/systemd/system/下配置自动运行服务脚本frpc.service(vim frpc.service)

[GLACIER]
Description=Frp Client Daemon
After=syslog.target network.target
Wants=network.target
 
[Service]
Type=simple
#修改为你的frpc实际安装目录
ExecStart=/usr/local/bin/frp/frpc -c /usr/local/bin/frp/frpc.ini 
ExecStop=/usr/bin/killall frpc
#启动失败1分钟后再次启动
RestartSec=1min
KillMode=control-group
#重启控制:总是重启
Restart=always
 
[Install]
WantedBy=multi-user.target

启用脚本并查看脚本状态,为running配置成功:

sudo systemctl enable frpc.service
sudo systemctl start frpc.service
sudo systemctl status frpc.service

2.6 配置SAMBA,映射网络驱动

个人服务器端

  1. 安装sambasamba-common-bin
sudo apt-get install samba samba-common-bin
  1. 配置/etc/samba/smb.conf文件
sudo vim /etc/samba/smb.conf

在最后一行后面加入:

# 共享文件夹显示的名称
[home]
# 说明信息
comment = GLACIER WorkStation Storage
# 可以访问的用户
valid users = grinder,root
# 共享文件的路径
path = /home/grinder/
# 可被其他人看到资源名称(非内容)
browseable = yes
# 可写
writable = yes
# 新建文件的权限为 664
create mask = 0664
# 新建目录的权限为 775
directory mask = 0775
  1. 添加登陆账户并创建密码
sudo smbpasswd -a grinder

重启服务即可:

sudo /etc/init.d/samba-ad-dc restart

Window端

控制面板 -> 程序 -> 程序和功能 -> 启用或关闭 Windows 功能 -> 勾选SMB 1.0/CIFS 文件共享支持

(Win + R 快捷键打开运行界面 ,输入gpedit.msc 打开本地组策略编辑器)

本地组策略编辑器 -> 计算机配置 -> 管理模板 -> 网络 -> Lanman工作站 -> 启用不安全的来宾登录

(Win + R 快捷键打开运行界面 ,输入secpol.msc 打开本地安全策略编辑器)

本地安全策略编辑器 -> 本地策略 -> 安全选项 -> 网络安全:LAN管理器身份验证级别 -> 仅发送 NTLM2响应

重启Windows

映射网络驱动器 : \\192.168.0.106 => (ip地址是你的ubuntu服务器, 用ifconfig查看)

以上于2022年6月29日 配置完成

做完以上步骤就能方便的使用ssh连接该服务器了

DL环境

3.1 安装NVIDIA驱动

进入系统的图形桌面,打开Software & Updates软件,可以看到标签栏有一个Additional Drivers

选择510版本的驱动安装,不要选择515测试版

安装完后重启电脑,查看显卡驱动:

nvidia-smi

3.2 安装CUDA

这里pythorch 有11.3的支持,因此选择安装11.3update1版本的cuda

登录https://developer.nvidia.com/cuda-toolkit-archive

选择11.3.1版本的runfile版本,下载到/usr/local/bin中,在这个过程中可以先下载liburcu6

然后22.04的ubuntu需要下载liburcu6: https://packages.debian.org/bullseye/amd64/liburcu6/download
解压安装该liburcu6

>sudo dpkg -i  liburcu6_0.12.2-1amd64.deb

下载好cuda11.3后,执行以下命令安装

如果你的gcc版本是11,需要添加--orverride或者降级到gcc9

https://blog.csdn.net/Cris_Hu/article/details/124711093

sudo chmod +x cuda_11.3.1_465.19.01_linux.run
sudo sh cuda_11.3.1_465.19.01_linux.run  (--override)

配置环境变量

sudo vim  ~/.bashrc

在该文件的最后一行加入以下语句:

# CUDA Environment Path
export CUDA_HOME=/usr/local/cuda-11.3
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
export PATH=${CUDA_HOME}/bin:${PATH}

更新环境变量:

source ~/.bashrc

使用命令查看cuda信息,检验是否安装成功:

nvcc -V

3.3安装CuDNN

https://developer.nvidia.com/rdp/cudnn-download

需要登录网址才能下载cudnn

备忘: 这里我用的是QQ邮箱账号和密码政注册的

然后选择cudnn 8.4.1 Linux_x86_64.tar下载

解压:

使用以下两条命令复制这些文件到CUDA目录下:(注意修改)

sudo cp cudann/lib64/* /usr/local/cuda-11.3/lib64/
sudo cp cudann/include/* /usr/local/cuda-11.3/include/

查看CUDNN版本

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

3.4 安装anaconda

浏览器搜索然后安装linux版的就好了

注意安装在/home/{用户名}/Software下,

如果你不想安装Docker,那么可以直接开始建你需要的虚拟环境了

3.5 安装Docker

杂项配置

安装Pycharm

同步ubuntu和window时间

sudo apt install ntpdate

sudo ntpdate time.windows.com

sudo hwclock --localtime --systohc

Unbuntu截图工具flameshot

sudo apt install flameshot

本博客所有文章均采用 CC BY-NC-SA 4.0 协议 ,禁止商用,转载请注明出处!