基础环境准备:Linux系统选择与安装、SSH远程连接配置、基础命令行工具
说实话,做机器学习这几年,我踩过最大的坑就是环境问题。模型写得再漂亮,环境配不好,全白搭。今天咱们就把这第一步走稳了。
Linux发行版怎么选?我的建议
我个人习惯用Ubuntu LTS版本。为什么?说白了,社区支持最好,遇到问题一搜就有答案。我刚开始做深度学习那会儿,试过CentOS,结果装个CUDA驱动折腾了两天——嗯,从那以后我就老实了。
如果你问我具体版本:
- Ubuntu 20.04 LTS:最稳妥的选择,PyTorch、TensorFlow官方都测试过
- Ubuntu 22.04 LTS:新一些,内核更新,对RTX 40系显卡支持更好
- Debian 11/12:如果你追求极致稳定,可以考虑,但软件源稍旧
我的小建议:新手别折腾Arch Linux或Gentoo。你想想看,装个系统就要编译半天,哪有精力搞模型训练?
安装流程:三步搞定
安装其实不复杂,我总结成三步:
- 制作启动盘:用Rufus(Windows)或balenaEtcher(macOS)把ISO写入U盘
- 分区规划:至少分三个区——/(根目录)、/home(用户数据)、swap(交换分区)
- 安装系统:跟着向导走,注意勾选“安装第三方驱动”
注意:如果你有NVIDIA显卡,安装时一定要勾选“安装第三方软件和驱动”。我曾经因为没勾这个,装完系统黑屏,折腾了一下午。
SSH远程连接配置
模型训练通常跑在服务器上,你不会每次都跑去机房操作吧?SSH就是你的远程遥控器。
服务端配置(你的Linux机器)
# 安装SSH服务
sudo apt update
sudo apt install openssh-server
# 检查服务状态
sudo systemctl status ssh
# 修改配置(建议)
sudo vim /etc/ssh/sshd_config
# 我习惯改这几个参数:
Port 2222 # 改默认端口,减少被扫描的风险
PermitRootLogin no # 禁止root直接登录
PasswordAuthentication yes # 先用密码登录,后面配密钥
客户端连接(你的笔记本)
# 从Windows/macOS连接
ssh username@服务器IP -p 2222
# 配置密钥登录(推荐)
ssh-keygen -t ed25519 # 生成密钥对
ssh-copy-id -p 2222 username@服务器IP # 把公钥传到服务器
避坑指南:我曾经在公网上暴露了默认22端口的SSH,结果一天被暴力破解了3000多次。从那以后,我必做两件事:改端口、配密钥登录。
基础命令行工具
你想想看,没有图形界面的时候,全靠命令行。我整理了一套“必装清单”:
| 工具 | 用途 | 安装命令 |
|---|---|---|
| htop | 实时监控CPU/内存 | sudo apt install htop |
| nvidia-smi | 查看GPU状态 | 安装NVIDIA驱动后自带 |
| tmux | 终端复用器(断网不丢任务) | sudo apt install tmux |
| git | 代码版本管理 | sudo apt install git |
| curl/wget | 下载文件 | 通常预装 |
| vim/nano | 文本编辑器 | sudo apt install vim |
我个人最常用的是tmux。为什么?训练模型动不动跑十几个小时,万一网络断了,任务就没了。用tmux开个会话,关掉终端都没事,回来还能接着看。
# tmux 常用操作
tmux new -s train # 新建会话,取名train
Ctrl+b d # 脱离会话(detach)
tmux attach -t train # 重新连接会话
知识体系总览
下面这张图,是我自己总结的环境准备流程。你照着走,基本不会出大问题。
验证环境是否就绪
装完这些东西,怎么知道对不对?我一般跑几个命令验证:
# 1. 检查系统版本
lsb_release -a
# 2. 检查SSH连接
ssh -p 2222 localhost # 能连上自己就说明服务正常
# 3. 检查GPU
nvidia-smi # 能看到显卡信息就OK
# 4. 检查网络
ping -c 4 8.8.8.8 # 能通说明网络没问题
我的经验:环境准备这一步,宁可多花半小时验证,也别急着跑模型。我见过太多人装完系统就开搞,结果训练到一半发现GPU没驱动——那才叫欲哭无泪。
好了,基础环境就这些。你照着做,基本不会出大问题。记住:稳扎稳打,后面才能跑得快。