温馨提示×

如何精简centos minimal

小樊
49
2026-09-21 01:45:35
栏目: 智能运维

“精简 CentOS Minimal”通常指进一步减小系统体积、关闭不需要的服务、删除无用包、做轻量定制镜像。下面按「安全可操作」到「深度定制」分层说明,适用于 CentOS 7 / 8 Stream / CentOS 9 Stream(Minimal 版)。


一、基础清理(最安全,必做)

1. 清理 yum/dnf 缓存

yum clean all
dnf clean all
rm -rf /var/cache/yum

2. 删除无用固件与内核调试

yum remove -y \
  iwl*firmware \
  *-firmware \
  kernel-debug \
  kernel-debug-devel

3. 删除文档和语言包

rm -rf /usr/share/doc/*
rm -rf /usr/share/man/*
rm -rf /usr/share/locale/*

二、关闭并移除不需要的服务

常见可禁用服务

systemctl disable --now \
  firewalld \
  postfix \
  kdump \
  tuned

若需要防火墙,可改用 nftables 或 iptables 轻量方案

可卸载的服务包

yum remove -y \
  firewalld \
  postfix \
  kdump \
  tuned \
  rsyslog

若用容器/云环境,rsyslog 可换成 systemd-journald


三、删除非必要软件包(Minimal 仍有多余)

CentOS 7 示例

yum remove -y \
  NetworkManager-team \
  NetworkManager-tui \
  dmidecode \
  biosdevname \
  iwl*-firmware

CentOS 8/9 Stream

dnf remove -y \
  dracut-config-rescue \
  langpacks-* \
  fedora-repos-modular

四、内核与启动精简

1. 只保留一个内核

package-cleanup --oldkernels --count=1

2. 精简 initramfs

dracut --force --hostonly

五、用户与系统配置精简

删除无用用户

userdel games
userdel nobody (谨慎)

关闭 root 登录(推荐)

sed -i 's/^PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config

六、制作最小镜像(进阶)

1. 使用 mkosi / livemedia 构建

  • CentOS 官方:lorax + livemedia-creator
  • 社区:Alma/Rocky 的 image builder

2. 直接做 Docker 基础镜像

FROM centos:stream9-minimal
RUN microdnf remove -y tuned postfix && microdnf clean all

七、极限精简参考(<200MB)

可做到:

  • 无 systemd(用 runit / openrc)
  • 无 NetworkManager
  • 静态编译核心工具
  • 用 busybox 替代部分命令

⚠️ 不建议生产环境使用


八、推荐做法总结

✅ 生产环境:

  • Minimal + 关服务 + 单内核 + 清缓存

✅ 容器/云:

  • 用 microdnf
  • 不装 systemd(容器场景)

✅ 学习/实验:

  • 可直接做 ISO 定制

如果你能说明:

  • CentOS 版本(7 / 8 / 9)
  • 用途(物理机 / 虚拟机 / 容器 / 云)
  • 是否要打包 ISO

我可以给你一套针对性精简脚本。

0 踩