Ubuntu 22.04 Server 机器学习环境安装
Ubuntu 22.04 Server 机器学习环境安装——保姆级教程
1. 安装操作系统
- https://ubuntu.com/download/server 下载,写盘重启,最好备整张固态
- 一路默认,连接主wifi,由于我是双系统不要覆盖已有系统盘
- 直到 [] Set up this disk as an LVM group,因为我就一个盘,这里不勾
- 然后默认,记得选上 Install OpenSSH Server,等装完重启
- 如果是4k显示器第一步就是更改font size
nano /etc/default/console-setup # FONTSIZE="16x32"
sudo update-initramfs -u
sudo apt-get upgrade
sudo reboot
- 用ssh连
sudo apt install net-tools; ifconfig # 查看本地ip
# 局域网远程ssh连, 查看 fdisk -l ; df -h
# 免密登陆
ssh-keygen -t rsa # 本地执行如果有可以直接用
# 找到 id_rsa.pub 追加内容到远程 ~/.ssh/authorized_keys
# 顺带装一波git
sudo apt-get install git
git config --global user.name "username"
git config --global user.email "email"
- 连接旁路由
sudo apt install netctl
ls /etc/netplain/ # 查看配置xxxx
sudo nano /etc/netplain/xxxx.yaml
# dhcp4: false
# addresses:
# - 192.168.50.19/16 # 选自己的
# routes:
# - to: default
# via: 192.168.50.111
# nameservers:
# addresses: [8.8.8.8,8.8.4.4,192.168.50.111]
sudo netplan apply
sudo rm -rf /etc/resolv.conf
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
2. 打通公网ssh
公网server部分参考: https://www.cnblogs.com/xytpai/p/15088218.html
sudo nano /etc/apt/sources.list
--- 增加如下 ---
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
---
sudo apt-get update
wget https://github.com/fatedier/frp/releases/download/v0.37.0/frp_0.37.0_linux_amd64.tar.gz
tar -xzvf frp_0.37.0_linux_amd64.tar.gz; rm -rf frp_0.37.0_linux_amd64.tar.gz
cd frp_0.37.0_linux_amd64/
nano frpc.ini
# [common]
# server_addr = x.x.x.x
# server_port = 7000
# [ssh]
# type = tcp
# local_ip = 127.0.0.1
# local_port = 22
# remote_port = 10022
export FRPPWD=$(pwd)
sudo echo "[Fusion]
Description=Frp Server Daemon
After=syslog.target network.target
Wants=network.target
[Service]
Type=simple
ExecStart=$FRPPWD/frpc -c $FRPPWD/frpc.ini
ExecStop=/usr/bin/killall frpc
RestartSec=1min
KillMode=control-group
Restart=always
[Install]
WantedBy=multi-user.target" >> ./frpc.service
sudo mv ./frpc.service /etc/systemd/frpc.service
sudo systemctl enable /etc/systemd/frpc.service
sudo systemctl start frpc.service
sudo systemctl status frpc.service
3. 安装必要工具及显卡驱动
sudo reboot
!!! 注意这里要进入bios更改安全模式为其他操作系统, 不然driver无法使用 !!!
!!! 这不代表双系统中的windows无法使用显卡, 所以这个改动可以永久存在 !!!
sudo apt-get install build-essential
sudo apt install tmux
sudo apt autoremove nvidia* --purge
# 从 https://developer.nvidia.com/cuda-toolkit 下载包
sudo bash ***.run # 下载下来的runfile
nano ~/.bashrc
--- 加入下面两行 ---
export PATH=/usr/local/cuda/bin${PATH:+:$PATH}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
---
sudo reboot
nvidia-smi # 检查有没有问题
nvcc --version
sudo apt install lm-sensors # 通过 sensors 获取各种温度
4. 安装conda以及pytorch环境
# 下面网址安装最新的, wget拿个sh文件用bash跑
https://docs.conda.io/en/latest/miniconda.html
conda create -n xyt # 创建一个,把启动添加.bashrc里 source activate xyt
# 下面改pip源
mkdir -p ~/.pip; nano ~/.pip/pip.conf
--- 更改如下 ---
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn
---
sudo apt install python3-pip
# 源代码安装 pytorch 具体详见 readme
conda install cmake ninja
# fix 'GLIBCXX_3.4.30' not found
conda install -c conda-forge gcc=12.1.0
pip install scikit-build
conda install -c conda-forge cxx-compiler
pip install -r requirements.txt
conda install mkl mkl-include
conda install -c pytorch magma-cuda121
git clone --recursive https://github.com/pytorch/pytorch
cd pytorch
git submodule sync
git submodule update --init --recursive
export CMAKE_PREFIX_PATH=${CONDA_PREFIX:-"$(dirname $(which conda))/../"}
python setup.py develop