核心是“只装必需的,不启无用的”,贯穿安装前规划(明确角色、选minimal iso、校验完整性)、安装中锁定(选minimal install、精简分区、禁用kdump/gui)、安装后收敛(立即更新、进程<100、关闭非必要服务)及长期运维(按需安装、定期清理)。

实施服务器最小化服务安装原则,核心是“只装必需的,不启无用的”,从安装源头控制攻击面和资源开销。这不是简单勾选一个选项,而是一套贯穿安装前、安装中、安装后的系统性实践。
安装前:精准规划与介质准备
明确业务边界——这台服务器只承担什么角色?Web服务?数据库?容器宿主?答案决定了哪些软件包真正“必需”。避免按“可能要用”预装。
硬件配置需匹配最小化目标:2核CPU、2GB内存、20GB磁盘是生产环境常见底线;虚拟机建议关闭Secure Boot,启用VT-x/AMD-V;U盘启动介质优先用Minimal ISO(非DVD或Everything镜像),文件大小约1GB,可用sha256sum校验完整性。
安装中:关键配置三步锁定
在安装向导的“软件选择”页,必须手动选中Minimal Install,禁用所有GUI相关选项(如Server with GUI、GNOME Desktop);
分区时采用精简结构:
– /boot:1GB,ext4格式
– /:占剩余空间80%以上,推荐LVM便于后期扩容
– swap:内存<8GB设为1~2倍,≥8GB设4~8GB即可
– 明确禁用KDUMP(除非有内核级调试需求);
网络与主机名页务必开启网卡并设置静态IP或确认DHCP可用,主机名使用语义化命名(如db-prod-01),时区固定为Asia/Shanghai;
安装后:立即收敛与持续验证
首次登录后执行三项强制操作:
– 运行yum update -y(CentOS 7/8)或dnf update -y(CentOS Stream 9),打全安全补丁;
– 检查运行进程:ps aux --no-headers | wc -l,最小化安装应低于100个;
– 关闭非必要服务:systemctl disable --now firewalld tuned kdump(防火墙若由上游设备统一管控可关,SELinux建议保持enforcing模式);
后续仅按需安装:例如只跑Nginx就装nginx,不装httpd;只用Docker就装containerd和docker-ce,不装Podman或buildah。
长期运维:建立最小化守则
每次新增服务前回答三个问题:
– 它是否直接支撑核心业务?
– 是否已有同类服务在运行?
– 能否用更轻量的替代方案(如lighttpd代替httpd)?
定期执行清理:
– yum autoremove清除孤立依赖;
– rpm -qa | grep -E "(libreoffice|gimp|evince|gnome)"确认无GUI残留;
– 使用ss -tuln检查监听端口,关闭未授权开放项。











