1. 手动部署Linux系统的核心价值与适用场景
在云计算和自动化工具盛行的今天,手动部署Linux系统仍然是每位运维工程师和开发者的必修课。我经历过上百次从零开始的手动安装,这种看似"原始"的方式能让你真正理解系统启动流程、分区结构和硬件交互的本质。不同于一键安装工具,手动部署就像亲手组装一台精密机械,每个螺丝的松紧都会影响最终性能。
典型应用场景包括:
- 老旧硬件设备的系统迁移(自动安装工具往往缺乏驱动支持)
- 特殊分区需求(如加密/boot分区或自定义RAID配置)
- 最小化安装(某些自动化工具强制安装不必要的软件包)
- 学习操作系统底层原理的最佳实践
最近在国产化替代浪潮中,手动部署麒麟、统信UOS等国产Linux的需求明显增加。这些系统虽然提供了图形化安装器,但在适配国产CPU架构时,手动模式往往能解决很多兼容性问题。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 准备工作:介质与硬件环境
2.1 镜像选择要点
选择安装镜像时需要考虑三个维度:
- 架构兼容性:x86_64、ARM还是LoongArch
- 软件源生态:优先选择有国内镜像站的发行版
- 内核版本:新硬件需要较新内核(建议4.19+)
推荐组合方案:
| 使用场景 | 推荐发行版 | 国内镜像源 |
|---|---|---|
| 生产服务器 | CentOS Stream/Rocky | mirrors.aliyun.com |
| 开发环境 | Ubuntu LTS | mirrors.tuna.tsinghua.edu.cn |
| 国产化环境 | OpenEuler | repo.openeuler.org |
| 嵌入式开发 | Debian | mirrors.163.com |
注意:避免使用过于陈旧的发行版(如CentOS 6),这些系统已停止维护且存在安全风险
2.2 启动介质制作避坑指南
制作USB启动盘时常见的三个陷阱:
- 写入模式错误:不要用普通文件拷贝方式,必须使用dd或Rufus等工具以RAW模式写入
- U盘质量:劣质U盘可能导致安装文件校验失败(建议用金士顿DTSE9)
- Secure Boot:部分国产电脑需要先关闭安全启动
实测有效的命令(Linux环境下):
bash复制# 确认U盘设备路径(重要!勿选错)
lsblk
# 写入镜像(以/dev/sdb为例)
sudo dd if=./linux.iso of=/dev/sdb bs=4M status=progress oflag=sync
3. 安装过程核心步骤解析
3.1 分区方案设计实战
合理的分区方案需要平衡性能、安全性和扩展性。以下是我的生产环境常用方案(以1TB SSD为例):
code复制/boot 1G ext4 (独立分区防止根目录写满导致无法启动)
/ 100G xfs (系统核心文件)
/home 200G ext4 (用户数据可单独备份)
/var 50G xfs (日志等频繁写入数据)
swap 32G (建议为内存的1-1.5倍,休眠需要等量空间)
剩余空间 不分配 (留给LVM后期扩展)
关键技巧:
- 数据库服务器应将/var单独放在高性能NVMe盘
- 使用LUKS加密时,/boot必须保持未加密状态
- 固态硬盘建议用fstrim定时修剪(添加
discard挂载参数)
3.2 软件包选择策略
最小化安装后,通过脚本批量添加必要组件:
bash复制# 基础开发环境
dnf groupinstall "Development Tools" -y
# 网络工具
dnf install -y net-tools tcpdump nmap
# 硬件检测
dnf install -y lshw dmidecode smartmontools
特别注意:
- 避免安装图形界面(除非必要)
- 生产环境不要安装snapd等自动更新工具
- 国内环境建议立即替换软件源
4. 首次启动后的关键配置
4.1 网络优化设置
静态IP配置示例(Rocky Linux 9):
bash复制nmcli con mod eth0 ipv4.addresses 192.168.1.100/24
nmcli con mod eth0 ipv4.gateway 192.168.1.1
nmcli con mod eth0 ipv4.dns "223.5.5.5 180.76.76.76"
nmcli con mod eth0 ipv4.method manual
nmcli con up eth0
禁用IPv6的正确方式(某些金融系统要求):
bash复制echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6 = 1" >> /etc/sysctl.conf
sysctl -p
4.2 安全加固 checklist
-
SSH防护:
- 修改默认端口
- 禁止root登录
- 启用密钥认证
bash复制sed -i 's/#Port 22/Port 56234/' /etc/ssh/sshd_config echo "PermitRootLogin no" >> /etc/ssh/sshd_config systemctl restart sshd -
防火墙策略:
bash复制
firewall-cmd --permanent --add-port=56234/tcp firewall-cmd --reload -
内核参数调优:
bash复制echo "kernel.randomize_va_space=2" >> /etc/sysctl.conf echo "net.ipv4.tcp_syncookies=1" >> /etc/sysctl.conf
5. 常见问题排错手册
5.1 安装阶段典型故障
问题1:安装程序无法识别NVMe硬盘
- 解决方案:添加内核参数
pci=nommconf - 操作步骤:在安装引导界面按Tab键,追加参数后回车
问题2:图形安装界面卡死
- 临时方案:改用文本安装模式(添加参数
linux text) - 根治方案:更新显卡驱动或使用nomodeset参数
5.2 首次启动故障排查
现象:系统启动卡在"Started User Manager for UID 0"
- 可能原因:显卡驱动问题或systemd服务故障
- 排查步骤:
- 按Ctrl+Alt+F2切换到控制台
- 检查日志
journalctl -xb - 常见修复命令:
bash复制
systemctl isolate multi-user.target dnf reinstall gdm
现象:网络接口未激活
- 快速检测:
bash复制ip link show nmcli device status - 恢复方法:
bash复制
nmcli con up eth0 systemctl restart NetworkManager
6. 高级技巧与性能优化
6.1 无显示器安装方案
通过串口控制台安装(适合服务器机房环境):
- 在GRUB菜单追加参数:
code复制console=ttyS0,115200n8 - 使用Putty等工具通过串口连接
- 安装完成后配置持续串口访问:
bash复制systemctl enable serial-getty@ttyS0.service
6.2 磁盘性能压测方法
安装后建议进行基准测试:
bash复制# 测试顺序读写(单位MB/s)
fio --filename=/testfile --direct=1 --rw=read --bs=1M --size=1G --numjobs=1 --runtime=60 --group_reporting --name=seq_read
# 测试随机IOPS
fio --filename=/testfile --direct=1 --rw=randread --bs=4k --size=1G --numjobs=4 --runtime=60 --group_reporting --name=rand_read
优化建议:
- 调度算法:NVMe建议
none,SATA SSD建议kyber - 预读值调整:
blockdev --setra 256 /dev/sda
7. 国产化环境特别注意事项
在龙芯、飞腾等国产CPU平台部署时:
-
固件要求:
- 确保UEFI固件为最新版本
- 部分设备需要特殊启动参数(如loongson架构的
console=tty)
-
驱动兼容性:
bash复制# 检查缺失驱动 dmesg | grep -i error # 龙芯显卡驱动安装 dnf install mesa-dri-drivers -
软件源配置:
bash复制# 麒麟系统示例 sed -i 's|^mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/*.repo sed -i 's|^#baseurl=http://mirror.kylinos.cn|baseurl=http://mirror.kylinos.cn|g' /etc/yum.repos.d/*.repo
手动部署Linux系统就像学习骑自行车 - 初期可能不如汽车快,但掌握后能到达任何自动化工具无法触及的角落。每次我在数据中心亲手完成一台服务器的系统部署,都会在/etc/motd里留下当天的日期和一句"Handcrafted with care"。这种对细节的掌控感,正是工程师的浪漫所在
