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 配置国内镜像软件源
- 备份原来的源
cp /etc/apt/sources.list /etc/apt/sources.list.bak
- 设置阿里云镜像源
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远程连接
- 安装ssh
sudo apt install ssh
- 安装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,映射网络驱动
个人服务器端
- 安装
samba
和samba-common-bin
sudo apt-get install samba samba-common-bin
- 配置/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
- 添加登陆账户并创建密码
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 协议 ,禁止商用,转载请注明出处!