准备ks文件:rhel7-minimal.ks
# Minimal Disk Image
#
#sshpw --username=root --plaintext randOmStrinGhERE
# Firewall configuration
firewall --disabled
# Use network installation
url --url=file:///mnt/iso
repo --name=optional --baseurl=file:///mnt/iso
# Root password
rootpw --plaintext 123456
# Network information
#network --bootproto=dhcp --onboot=on --activate
# System authorization information
#auth --useshadow --enablemd5
# System keyboard
keyboard --xlayouts=us --vckeymap=us
# System language
lang en_US.UTF-8
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info
# Shutdown after installation
shutdown
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all
# Disk partitioning information
reqpart
part / --fstype="ext4" --size=2000
part swap --size=512
%post
注意,需要把一个CentOS iso mount到 /mnt/iso 目录。我用的是CentOS-7-x86_64-DVD-2003.iso,见下面执行的操作。
执行如下操作:
mount -o loop /mnt/share/CentOS-7-x86_64-DVD-2003.iso /mnt/iso
mkdir -p /var/tmp/iso1
sudo setenforce 0
livemedia-creator --make-iso --ks=./rhel7-minimal.ks --tmp /var/tmp/iso1 --no-virt
sudo setenforce 1
执行完后查看生成结果:
[root@cent7 build]# ls -al /var/tmp/iso1/tmpE1D7Bf/
total 0
drwx------. 5 root root 50 Jul 17 21:27 .
drwxr-xr-x. 3 root root 23 Jul 17 21:27 ..
drwxr-xr-x. 3 root root 56 Jul 17 21:27 images
drwxr-xr-x. 2 root root 165 Jul 17 21:27 isolinux
drwxr-xr-x. 2 root root 26 Jul 17 21:27 LiveOS
[root@cent7 build]# ls -al /var/tmp/iso1/tmpE1D7Bf/LiveOS/
total 546036
drwxr-xr-x. 2 root root 26 Jul 17 21:27 .
drwx------. 5 root root 50 Jul 17 21:27 ..
-rw-r--r--. 1 root root 559140864 Jul 17 21:26 squashfs.img
可以直接tmpE1D7Bf目录下面的内容打包成一个iso镜像;也可以把squashfs.img拷贝出来单独使用。这个镜像文件只有500多M,基本上是一个最小的系统了。
我尝试了用这个squashfs.img替换 CentOS-7-x86_64-LiveGNOME-2003.iso 中的squashfs.img文件,重新生成一个LiveCD iso,是可以正常工作的。
需要安装的软件包:yum isntall lorax anaconda