温馨提示×

如何制作centos minimal镜像

小樊
42
2026-09-17 22:46:16
栏目: 智能运维

下面给你几种常见且实用的做法,从“官方最小镜像”到“自己定制 CentOS Minimal 镜像”,按使用场景由浅入深说明。


一、直接使用官方 CentOS Minimal 镜像(最简单)

如果你只是用 Minimal 系统,不需要自己制作:

1. 下载官方 Minimal ISO

  • CentOS 7
    https://vault.centos.org/7/isos/x86_64/
  • CentOS Stream
    https://www.centos.org/centos-stream/

选择:

CentOS-7-x86_64-Minimal-xxxx.iso

✅ 官方 Minimal 已裁剪图形界面、文档、开发工具


二、基于官方 Minimal 制作自定义镜像(推荐)

适合:

  • 私有云 / KVM / OpenStack
  • 批量部署
  • 固化基础环境

方法 A:使用 virt-install + 手动安装(最稳妥)

1. 创建虚拟机

virt-install \
  --name centos-minimal \
  --ram 1024 \
  --disk size=10 \
  --cpu 2 \
  --os-variant centos7 \
  --location CentOS-7-x86_64-Minimal.iso \
  --network bridge=br0 \
  --graphics none \
  --console pty,target_type=serial

2. 安装时选择

  • Minimal Install
  • 只装必要包

3. 安装后清理

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

4. 导出为镜像

virsh shutdown centos-minimal
cp /var/lib/libvirt/images/centos-minimal.qcow2 .

✅ 可用于:

  • qcow2(KVM)
  • 转换为 raw / vmdk

三、用 Kickstart 全自动制作 Minimal 镜像

适合:自动化、CI

示例 kickstart(centos7-minimal.ks)

auth --enableshadow --passalgo=sha512
clearpart --all --initlabel
part / --fstype=xfs --grow --size=1
reboot
timezone Asia/Shanghai
lang en_US.UTF-8
keyboard us

network --bootproto=dhcp --device=eth0

rootpw --plaintext centos
firewall --disabled
selinux --disabled

%packages
@core
%end

%post
yum -y update
yum clean all
%end

自动化安装

virt-install \
  --name centos-minimal-auto \
  --ram 1024 \
  --disk size=10 \
  --location CentOS-7-x86_64-Minimal.iso \
  --initrd-inject centos7-minimal.ks \
  --extra-args "inst.ks=file:/centos7-minimal.ks" \
  --graphics none

四、用 Docker 制作「CentOS Minimal 根文件系统」

适合:容器 / chroot

1. 使用官方镜像

docker pull centos:7

2. 导出 rootfs

docker export $(docker create centos:7) > centos-minimal.tar

3. 可用于

  • chroot
  • 制作自定义 ISO
  • LXC

五、从零构建(高级,不推荐新手)

工具:

  • livecd-tools
  • lorax
  • mock

示例(CentOS 7):

yum install lorax
lorax --product CentOS --version 7 --release 1 ./result

⚠️ 复杂度高,通常用于发行版级别定制


六、镜像瘦身建议(Minimal 最佳实践)

# 删除无用包
yum remove -y iwl*firmware
yum autoremove -y

# 清理
yum clean all
rm -rf /var/log/*
rm -rf /tmp/*

七、常见格式转换

# qcow2 → raw
qemu-img convert -f qcow2 -O raw img.qcow2 img.raw

# raw → vmdk
qemu-img convert -f raw -O vmdk img.raw img.vmdk

总结建议

场景 推荐方式
直接用 官方 Minimal ISO
私有云 Minimal + Kickstart
容器 Docker centos:minimal
高度定制 lorax / livecd-tools

如果你能告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 用途(KVM / 云 / 容器 / ISO)
  • 是否要自动化

我可以给你精确到命令的模板

0