將CentOS從新打包成一個新ISO,能夠自動分區、選擇原件包,快速安裝系統。
1.掛載光驅,建立臨時目錄
mount /dev/cdrom /mnt/cdrom
mkdir -p /root/iso/CentOS
2.使用cp.sh腳本提取須要的RPM包,正常安裝好操做系統在/root目錄下會有install.log文件,這個就是操做系統安裝RPM包的記錄,咱們從這些記錄中,將所需的RPM包從/mnt/cdrom/Packages中複製到/root/iso/CentOS裏面去
#!/bin/bash
cd /root
awk '/Installing/{print $2}' install.log | sed 's/^[0-9]*://g' >package.txt
DVD='/mnt/cdrom/Packages'
PACKDIR='/root/package.txt'
NEW_DVD='/root/iso/CentOS/'
while read LINE
do
cp ${DVD}/${LINE}*.rpm /${NEW_DVD} || echo "$LINE don't cp......."
done < package.txt
3.把原鏡像除了Packages目錄外的文件所有複製至/root/iso目錄下
rsync -a --exclude=Packages /mnt/cdrom/ /root/iso
4.把/root目錄下的anaconda-ks.cfg複製至/root/iso目錄下,並根據本身實際須要修改安裝要求
linux
#version=DEVEL
install
text
cdrom
lang en_US.UTF-8
keyboard us
network --onboot no --device em1 --bootproto dhcp --noipv6
network --onboot no --device em2 --bootproto dhcp --noipv6
rootpw 123456 ----默認密碼
firewall --disabled ----關閉防火牆
authconfig --enableshadow --passalgo=sha512
selinux --disabled ----禁用selinux
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
#clearpart --none
clearpart --all --initlabel
zerombr
part /boot --fstype=ext4 --size=200
part swap --size=32000
part pv.008003 --grow --size=200
ignoredisk --only-use=sda
volgroup volGroup00 --pesize=4096 pv.008003
logvol / --fstype=ext4 --name=LogVol00 --vgname=volGroup00 --size=200000
logvol /data --fstype=ext4 --name=LogVol01 --vgname=volGroup00 --size=1655232
reboot
#repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100
%packages
@chinese-support
@core
@server-policy
%end
5.讓ISO按照anaconda-ks.cfg文件來執行安裝
vi /root/iso/isolinux/isolinux.cfg
Default vesamenu.c32 修改爲 default linux ks=cdrom:/anaconda-ks.cfg
6.使用repo.sh腳本從新生成repo文件
#!/bin/bash
ISO_DIR=/root/iso
cd ${ISO_DIR}
declare -x discinfo=$(head -1 .discinfo)
mv ${ISO_DIR}/repodata/*x86_64-comps.xml ${ISO_DIR}/repodata/c6-x86_64-comps.xml
createrepo -g ${ISO_DIR}/repodata/c6-x86_64-comps.xml ${ISO_DIR}
#createrepo -u "media://$discinfo" -g ${ISO_DIR}/repodata/c6-x86_64-comps.xml ${ISO_DIR}
mv ${ISO_DIR}/repodata/*x86_64-comps.xml ${ISO_DIR}/repodata/c6-x86_64-comps.xml
createrepo -u "media://$discinfo" -g ${ISO_DIR}/repodata/*c6-x86_64-comps.xml ${ISO_DIR}
7.製做ISO
yum -y install mkisofs
mkisofs -o MyCentOS.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T /root/iso/
執行命令後會在當前目錄生成一MyCentOS.iso文件,這樣一個定製版的CentOS就出來了。
**參考界面**
http://kling.blog.51cto.com/3320545/1249962
http://lihuipeng.blog.51cto.com/3064864/759122redis