自动化运维(1)-- 定制自动安装CentOS系统

1、安装制作系统镜像所需要的工具

yum -y install anaconda repodata createrepo mkisofs rsync

2、创建光盘挂载目录、资源重构目录、自定义数据库目录

mkdir /mnt/cdrom

mkdir /opt/ISO

mkdir /opt/ISO/mydata

3、挂载CentOS系统光盘或ISO镜像文件,这里挂载ISO镜像

mount -o loop -t iso9660 /you/path/CentOS-6.4-x86_64-bin-DVD1.iso /mnt/cdrom #红色为系统镜像所在位置

4、拷贝重构系统所需的必须数据和文件

rsync -a --exclude=Packages/ /mnt/cdrom /opt/ISO         #--exclude=Packages/排除此目录
mkdir -p /opt/ISO/{Packages,repodata}    #创建yum仓库

5、拷贝定制的的软件包到ISO重构目录(/opt/ISO/Packages)

#此脚本是复制当前系统所用到的软件包,也可自行放入自己需要的软件包
#!/bin/bash cd /root awk '/Installing/{print $2}' install.log | sed 's/^*://g' > package.txt PACKAGES='/mnt/cdrom/Packages' PACKDIR='/root/package.txt' NEW_PACKAGES='/opt/ISO/Packages' while read LINE do cp ${PACKAGES}/${LINE}*.rpm /${NEW_PACKAGES} || echo "$LINE don't cp......." done < package.txt rm -f package.txt

6、系统自响应安装,创建自响应文件 ks.cfg ,把此文件放在/opt/ISO/isolinux/ks.cfg ,文件内容如下

# Kickstart file automatically generated by anaconda.install
cdrom
lang en_US.UTF-8
keyboard us
#network --onboot yes --device eth0 --bootproto=static --ip=192.168.1.1 --netmask=255.255.255.0 --noipv6
network --onboot yes --device eth0 --bootproto=dhcp --noipv6
rootpw worker
firewall --disabled
authconfig --enableshadow --passalgo=sha512
selinux --enforcing
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
reboot
zerombr yes
clearpart --all --initlabel

part /boot --fstype=ext4 --size=300
part swap --recommended
part pv.008003 --grow --size=200
volgroup vg_root --pesize=4096 pv.008003
logvol / --fstype=ext4 --name=LogVol00 --vgname=vg_root  --size=51200
logvol /business --fstype=ext4 --name=logvol01 --vgname=vg_root --grow --size=100
%packages
@core
@server-policy

%pre
echo "Installing MyData"
mkdir /tmp/mydata
cp /mnt/source/mydata/autowebv1.0.tar.gz /tmp/mydata

%post --nochroot
cp /mnt/source/mydata/autowebv1.0.tar.gz /mnt/sysimage/business/autowebv1.0.tar.gz
cd /mnt/sysimage/business/
tar zxvf autowebv1.0.tar.gz

%post
cd autowebv1.0
sh setip.sh

umount /dev/cdrom
eject

%end

7、修改启动安装导向文件/opt/ISO/isolinux/isolinux.cfg,下面为修改后内容,红色为修改位置

default vesamenu.c32 
#prompt 1 
timeout 50             ##等待时间

display boot.msg 

menu background splash.jpg 
menu title Welcome to use CentOS 6.4! 
menu color border 0 #ffffffff #00000000 
menu color sel 7 #ffffffff #ff000000 
menu color title 0 #ffffffff #00000000 
menu color tabmsg 0 #ffffffff #00000000 
menu color unsel 0 #ffffffff #00000000 
menu color hotsel 0 #ff000000 #ffffffff 
menu color hotkey 7 #ffffffff #ff000000 
menu color scrollbar 0 #ffffffff #00000000

label linux      #用ks.cfg自响应方式安装
  menu label ^Auto Install Xlogin Linux System 
  menu default 
  kernel vmlinuz 
  append ks=cdrom:/isolinux/ks.cfg initrd=initrd.img
label vesa 
  menu label Install system with ^basic video driver 
  kernel vmlinuz 
  append initrd=initrd.img xdriver=vesa nomodeset 
label rescue 
  menu label ^Rescue installed system 
  kernel vmlinuz 
  append initrd=initrd.img rescue 
label local
  menu label Boot from ^local drive 
  localboot 0xffff 
label memtest86 
  menu label ^Memory test
  kernel memtest 
  append -

8、创建软件仓库

cd  /opt/ISO
declare -x discinfo=$(head -1 .discinfo)
mv  /opt/ISO/repodata/*x86_64-comps.xml  /opt/ISO/repodata/c6-x86_64-comps.xml
createrepo  -g  /opt/ISO/repodata/c6-x86_64-comps.xml  /opt/ISO

9、重构系统,生成ISO镜像

mkisofs -o CentOS-6.4_64_mini.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T .

 10、用生成的ISO 刻录光盘

posted on 2014-12-08 17:21  R2X  阅读(234)  评论(0)    收藏  举报

导航