1. Linux系统安装全流程解析
作为从业十余年的Linux系统工程师,我见证了无数新手在系统安装环节踩坑。不同于Windows的图形化安装,Linux安装过程中的分区方案、引导加载器配置等关键步骤往往让初学者手足无措。下面以CentOS 8为例,详解专业环境下的标准安装流程。
1.1 安装介质准备
推荐使用Ventoy制作多系统启动盘(比Rufus更灵活):
bash复制# 下载Ventoy
wget https://github.com/ventoy/Ventoy/releases/download/v1.0.88/ventoy-1.0.88-linux.tar.gz
# 解压后执行安装脚本
sudo ./Ventoy2Disk.sh -i /dev/sdX
注意:/dev/sdX需替换为实际U盘设备号,使用lsblk命令确认
将ISO文件直接拷贝到U盘即可,无需反复格式化。实测支持同时存放多个Linux发行版ISO,安装时通过启动菜单选择。
1.2 分区方案设计
生产环境推荐手动分区(关键参数示例):
- /boot:1GB(ext4)
- swap:内存≤8G时取2倍内存,>8G时与内存等大
- /:50GB(xfs)
- /home:剩余空间(xfs)
企业级服务器建议单独划分:
- /var:20GB(日志文件)
- /opt:30GB(第三方软件)
- /tmp:10GB(tmpfs更佳)
避坑提示:UEFI系统必须创建EFI系统分区(300MB FAT32)
1.3 安装后必做配置
首次启动完成后的关键操作:
bash复制# 更新系统及内核
sudo dnf update -y && sudo dnf upgrade -y
# 安装开发工具链
sudo dnf groupinstall "Development Tools" -y
# 配置防火墙(开放SSH)
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
# 设置时区同步
sudo timedatectl set-timezone Asia/Shanghai
sudo systemctl enable chronyd
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Root密码重置全场景方案
2.1 常规单用户模式重置
适用于物理机/本地虚拟机:
- 启动时在GRUB菜单按'e'进入编辑模式
- 找到linux16行,末尾添加
rd.break - 按Ctrl+x启动后执行:
bash复制mount -o remount,rw /sysroot
chroot /sysroot
passwd root
touch /.autorelabel
exit
reboot
2.2 云服务器特殊处理
AWS/Aliyun等云平台的特殊方法:
- 通过控制台连接VNC
- 修改GRUB启动参数为:
code复制init=/bin/bash
- 启动后执行:
bash复制mount -o remount,rw /
passwd root
exec /sbin/init
2.3 企业级安全方案
生产环境更安全的替代方案:
- 使用sudo权限替代直接root登录
bash复制# 添加管理用户
useradd admin -G wheel
passwd admin
- 配置SSH证书登录
bash复制# 生成密钥对
ssh-keygen -t ed25519
# 部署公钥
ssh-copy-id admin@server
- 禁用密码登录(/etc/ssh/sshd_config):
code复制PasswordAuthentication no
ChallengeResponseAuthentication no
3. 深度优化与排错指南
3.1 安装后性能调优
内核参数优化(/etc/sysctl.conf):
conf复制vm.swappiness = 10
net.ipv4.tcp_syncookies = 1
fs.file-max = 65535
SSD优化配置:
bash复制# 调整I/O调度器
echo 'ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline"' > /etc/udev/rules.d/60-ssd.rules
3.2 常见安装故障排查
问题1:安装后无法引导
- 检查项:
- BIOS/UEFI模式是否匹配
- 是否误删EFI分区
- GRUB是否正确安装到/dev/sda
问题2:NVIDIA显卡黑屏
- 解决方案:
- 启动时添加内核参数:
code复制nouveau.modeset=0 - 安装官方驱动:
bash复制sudo dnf install akmod-nvidia
- 启动时添加内核参数:
问题3:网卡未识别
- 诊断步骤:
bash复制lspci | grep -i ethernet
dmesg | grep -i eth
- 解决方案:
bash复制# 安装DKMS驱动
sudo dnf install kmod-xxxx
4. 企业级运维实践
4.1 自动化部署方案
使用Kickstart实现无人值守安装:
bash复制# 生成样例配置
system-config-kickstart > ks.cfg
# 主要配置项:
%packages
@^minimal
@core
vim-enhanced
%end
timezone Asia/Shanghai
rootpw --iscrypted $6$加密密码
4.2 安全加固检查清单
- 立即执行的加固措施:
bash复制# 禁用root SSH登录
sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
# 安装fail2ban
sudo dnf install fail2ban -y
# 配置防火墙默认策略
sudo firewall-cmd --set-default-zone=drop
- 定期检查项:
bash复制# 检查异常登录
lastb | head -20
# 验证关键文件完整性
rpm -Va | grep '^..5'
4.3 监控与维护
基础监控部署:
bash复制# 安装node_exporter
curl -LO https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
tar xvf node_exporter-*.tar.gz
sudo mv node_exporter-*/node_exporter /usr/local/bin/
创建系统健康检查脚本:
bash复制#!/bin/bash
echo "### 内存状态 ###"
free -h
echo "### 磁盘使用 ###"
df -hT / /home
echo "### 负载情况 ###"
uptime
echo "### 最近登录 ###"
last | head -10
建议配置为每日定时任务:
bash复制(crontab -l 2>/dev/null; echo "0 9 * * * /path/to/healthcheck.sh | mail -s 'Daily System Report' admin@example.com") | crontab -
