本文基于CentOS 7/8和Ubuntu 22.04 LTS系统涵盖系统管理、环境配置、Python安装、深度学习框架部署等实战内容。一、系统基础信息查看1.1 查看操作系统版本在开始任何配置之前首先需要确认操作系统类型和版本# CentOS/RHEL 系统cat/etc/redhat-release# 通用方法适用于所有Linux发行版cat/etc/os-releaseUbuntu 22.04 LTS 输出示例PRETTY_NAMEUbuntu 22.04.5 LTS NAMEUbuntu VERSION_ID22.04 VERSION22.04.5 LTS (Jammy Jellyfish) VERSION_CODENAMEjammy IDubuntu ID_LIKEdebian1.2 查看服务器硬件配置# 查看CPU详细信息lscpu# 查看每插槽核心数线程数lscpu|grepCore(s) per socket# 查看CPU核心总数lscpu|grepCPU(s):# 查看NUMA节点信息多路服务器必备numactl--hardware# 查看特定进程运行在哪个CPU核心ps-opid,psr,comm-p[PID]二、系统初始化配置2.1 防火墙与SELinux配置生产环境建议内网环境可关闭防火墙公网环境建议开放特定端口而非完全关闭。# 关闭防火墙并禁用开机启动systemctl disable firewalld--now# 查看防火墙状态systemctl status firewalld# 配置SELinux为宽容模式Permissivesed-is/SELINUXenforcing/SELINUXpermissive/g/etc/selinux/config setenforce0# 验证SELinux状态getenforce2.2 配置YUM镜像源CentOS备份现有仓库文件sudomkdir-p/etc/yum.repos.d/backupsudomv/etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/配置阿里云基础源cd/etc/yum.repos.d/curl-oCentos_Base.repo https://mirrors.aliyun.com/repo/Centos-7.reposed-i-e/mirrors.cloud.aliyuncs.com/d-e/mirrors.aliyuncs.com/dCentos_Base.repo配置SCLSoftware Collections源用于安装高版本GCCvim/etc/yum.repos.d/CentOS-SCLo-scl.repo[centos_sclo]nameCentos_sclobaseurlhttps://mirrors.tencent.com/centos/7.9.2009/sclo/x86_64/sclo/gpgcheck0enabled1[centos_sclo_rh]nameCentos_sclo_rhbaseurlhttps://mirrors.tencent.com/centos/7.9.2009/sclo/x86_64/rh/gpgcheck0enabled1清理缓存yum clean all三、GCC编译器升级3.1 为什么需要升级GCCCentOS 7默认GCC版本为4.8.5许多现代Python库如gensim、TensorFlow等需要GCC 5才能编译安装。3.2 安装DevToolset高版本GCC# 安装SCL仓库如果尚未安装sudoyuminstallcentos-release-scl# 安装GCC 9或更高版本如devtoolset-11sudoyuminstalldevtoolset-9-gcc devtoolset-9-gcc-c# 临时启用GCC 9当前会话sclenabledevtoolset-9bash# 验证版本gcc-v# 永久启用添加到.bashrcechosource /opt/rh/devtoolset-9/enable~/.bashrc注意如果遇到No package devtoolset-9-gcc available错误请确保已正确配置SCL源见2.2节。四、Python环境搭建4.1 安装系统依赖CentOS/RHELyum update-yyuminstall-ygcc openssl-devel bzip2-devel libffi-devel zlib-develwgetmakeyuminstall-ygcc openssl openssl-develmakeautomake autoconf gcc-c bzip2-devel sqlite-develUbuntu/Debianapt-getupdateapt-getinstall-ybuild-essential libssl-dev libbz2-dev libsqlite3-dev4.2 方案一源码编译安装Python适用于需要特定Python版本或自定义编译选项的场景# 下载Python源码以3.9为例wgethttps://www.python.org/ftp/python/3.9.18/Python-3.9.18.tgztar-xzfPython-3.9.18.tgzcdPython-3.9.18# 配置编译选项./configure--prefix/usr/local/python3.9 --enable-optimizations# 编译安装使用多核加速make-j$(nproc)sudomakealtinstall# 创建软链接ln-s/usr/local/python3.9/bin/python3.9 /usr/bin/python3.9ln-s/usr/local/python3.9/bin/pip3.9 /usr/bin/pip3.94.3 方案二Anaconda安装推荐Anaconda是数据科学场景的最佳选择预装了数百个科学计算包# 下载Anaconda安装脚本2024年最新版wgethttps://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh# 验证文件完整性强烈推荐sha256sum Anaconda3-2024.02-1-Linux-x86_64.sh# 执行安装bashAnaconda3-2024.02-1-Linux-x86_64.sh# 按照提示完成安装最后初始化conda# 安装完成后重启终端或执行source~/.bashrc五、Conda环境管理实战5.1 基础命令# 查看所有环境condaenvlist# 创建新环境指定Python版本conda create--namemyenvpython3.9# 激活环境conda activate myenv# 退出当前环境conda deactivate# 删除环境conda remove--namemyenv--all5.2 配置国内镜像源Conda镜像源配置# 添加清华镜像源conda config--addchannels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ conda config--addchannels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config--addchannels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/# 设置搜索时显示通道地址conda config--setshow_channel_urlsyes# 清除镜像源如需恢复官方源conda config --remove-key channelsPip镜像源使用单次安装# 清华源pipinstallnumpy-ihttps://pypi.tuna.tsinghua.edu.cn/simple/# 阿里云pipinstallpandas-ihttps://mirrors.aliyun.com/pypi/simple/# 华为云pipinstallscikit-learn-ihttps://repo.huaweicloud.com/repository/pypi/simple/国内常用镜像源汇总镜像站地址清华https://pypi.tuna.tsinghua.edu.cn/simple/阿里云https://mirrors.aliyun.com/pypi/simple/中国科技大学https://pypi.mirrors.ustc.edu.cn/simple/豆瓣https://pypi.douban.com/simple/华为云https://repo.huaweicloud.com/repository/pypi/simple/5.3 深度学习环境配置示例# 创建专用环境conda create--namedlpython3.9conda activate dl# 安装PyTorchGPU版根据CUDA版本调整pipinstalltorch2.6.0-ihttps://pypi.tuna.tsinghua.edu.cn/simple/# 安装Transformers等NLP库pipinstalltransformers4.53.0-ihttps://pypi.tuna.tsinghua.edu.cn/simple/# 数据处理库pipinstallpandas1.5.3 scikit-learn1.3.2-ihttps://pypi.tuna.tsinghua.edu.cn/simple/# 中文NLP工具pipinstalljieba-ihttps://pypi.tuna.tsinghua.edu.cn/simple/常见依赖冲突解决方案# 升级conda解决导入问题conda update--all# 安装特定版本numpy避免兼容性问题pipinstallnumpy2.0gensim3.7.3-ihttps://pypi.tuna.tsinghua.edu.cn/simple/六、文件传输与远程操作6.1 SCP跨平台文件传输Windows → Linux# 传输文件夹递归scp-rC:/本地/文件夹 用户名服务器IP:/目标/路径# 传输单个文件scpC:/本地/文件.txt 用户名服务器IP:/目标/路径/# 实际示例scp-rC:/学习/AI/Pytorch版本/roberta_chinese haichao10.4.101.107:/home/haichao/project/dataLinux → Linux# 从远程服务器下载scp-ruserremote_host:/remote/path /local/path# 使用压缩传输-C加速scp-rC/local/path userhost:/remote/path6.2 实用文件操作命令# 查找包含特定字符的文件夹find.-name*关键词*-typed# 查找并删除特定文件谨慎使用find.-maxdepth1-name*temp*-typef-delete# 批量删除使用通配符rm-f*备份文件*# 创建嵌套目录mkdir-p项目/代码/模型/日志# 快速创建空文件touchtrain.py test.py config.yaml# 查看大文件内容morelarge_file.log# 操作d下翻、b上翻、q退出七、进程管理与系统维护7.1 进程管理# 查找特定进程ps-ef|greppython# 精确杀死进程推荐pkill-9-fpython train.py# 组合命令查找并杀死ps-ef|grepMatServer|xargskill-9# 查看GPU进程需安装nvidia-sminvidia-smi7.2 历史命令管理# 查看历史命令history# 清空当前会话历史不写入文件history-c# 删除历史记录文件rm-rf~/.bash_history# 暂停记录历史执行敏感命令前setohistory# 执行敏感命令...# 恢复记录set-ohistory7.3 网络配置# 清除网络接口配置故障排查时使用sudoipaddr flush dev eno2sudoiproute flush dev eno2# 查看网络接口状态ipaddr show八、深度学习训练优化技巧8.1 梯度累积解决显存不足# 保持小批量但累积梯度accumulation_steps4# 累积4个批次的梯度optimizer.zero_grad()fori,(inputs,labels)inenumerate(dataloader):outputsmodel(inputs)losscriterion(outputs,labels)lossloss/accumulation_steps# 归一化损失loss.backward()if(i1)%accumulation_steps0:optimizer.step()optimizer.zero_grad()8.2 混合精度训练提速省显存fromtorch.cuda.ampimportautocast,GradScaler scalerGradScaler()fordata,targetindataloader:optimizer.zero_grad()withautocast():outputmodel(data)losscriterion(output,target)scaler.scale(loss).backward()scaler.step(optimizer)scaler.update()九、软件安装方式汇总安装方式适用场景命令示例apt/dpkgUbuntu离线/在线安装sudo dpkg -i package.deb/sudo apt-get install packageyum/rpmCentOS/RHELsudo yum install package/rpm -ivh package.rpmcondaPython数据科学环境conda install numpypipPython包管理pip install torch源码编译自定义需求./configure make make install十、最佳实践与注意事项10.1 安全建议避免使用root直接操作日常操作使用普通用户必要时用sudo谨慎使用rm -rf尤其注意*通配符的使用定期备份重要配置和代码使用Git管理10.2 性能优化使用NUMA绑定多路服务器将进程绑定到特定CPU和内存节点IO优化大数据集使用SSD或内存盘tmpfs监控资源使用htop、iotop、nvidia-smi监控资源使用10.3 故障排查# 查看系统日志journalctl-xe# 查看最后登录信息last# 查看磁盘空间df-h# 查看目录大小du-sh/path/to/dir# 查看内存使用free-h结语本文涵盖了从Linux系统初始化到Python深度学习环境搭建的完整流程。在实际生产环境中建议文档化将所有配置步骤写成脚本便于复现容器化使用Docker封装环境避免在我机器上能跑的问题自动化使用Ansible等工具批量管理服务器希望这份指南能帮助你高效搭建Linux服务器环境如有问题欢迎在评论区交流。参考文档CentOS官方文档Anaconda官方指南PyTorch安装指南本文基于实际生产环境整理命令均经过验证。系统版本CentOS 7.9 / Ubuntu 22.04 LTS