在centos中能够用kickstart进行装机自动化,也能够定制一些软件包,公司的须要的基础系统里面不少软件参数、选项、内核都通过优化,因此用kickstart装起来虽然方便可是后期调整很麻烦,因此打算换种方法,思路以下: linux
把通过优化的系统总体打包,作成一个原始的tar包,因为linux是文件系统,因此只要在新硬盘上划好分区好之后,解压打好的tar系统包就能够了,而后安装grub,这样一个系统就完成了,可是本人有点懒,分区,grub都不想本身动手,因此能够写个脚本自动执行。 shell
1 打包系统 centos
tar czvfp Centos5_x86_64.tgz bin/ boot/ dev/ etc/ home/ lib/ lib64/ lost+found/ media/ mnt/ opt/ \ --exclude=proc/* proc/ root/ sbin/ selinux/ srv/ --exclude=tmp/* tmp/ usr/ var/ --exclude=sys/* sys/
2 制做centos livecd bash
2.1 安装制做环境 工具
yum install livecd-tools syslinux anaconda-runtime
2.2 编写kickstart脚本 oop
lang en_US.UTF-8 keyboard us timezone US/Eastern auth --useshadow --enablemd5 selinux --disabled firewall --disabled repo --name=a-base --baseurl=http://mirrors.163.com/centos/5/os/$basearch/ repo --name=a-addons --baseurl=http://mirrors.163.com/centos/5/addons/$basearch/ repo --name=a-extras --baseurl=http://mirrors.163.com/centos/5/extras/$basearch/ repo --name=a-centosplus --baseurl=http://mirrors.163.com/centos/5/centosplus/$basearch/ repo --name=a-contrib --baseurl=http://mirrors.163.com/centos/5/contrib/$basearch/ repo --name=a-live --baseurl=http://www.nanotechnologies.qc.ca/propos/linux/centos-live/$basearch/live %packages bash kernel syslinux passwd policycoreutils perl chkconfig authconfig rootfiles comps-extras xkeyboard-config grub coreutils parted
2.3 开始制做Livecd 优化
LANG=C livecd-creator --config=centos-livecd-minimal.ks --cache=/home/livecd/cache --tmpdir=/home/livecd/tmp \ --fslabel=CentOS-minimal
这一步完成后会在当前目录生成一个CentOS-minimal.iso文件,centos-livecd-minimal.ks是编写好的kickstart脚本,至此Livecd已经生成,接下来开始修改。 google
3 定制Livecd url
3.1 安装工具 spa
yum install squashfs-tools
或者使用squashfs4版本,下载源码包后,进入squashfs-tools目录,make&&make install 便可安装完成,
默认命令安装在/usr/local/bin,能够copy到/bin中。
3.2 挂载ISO镜像
mkdir -p /home/livecd mount -o loop -t iso9660 CentOS-minimal.iso /home/livecd
3.3 copy镜像
mkdir -p /home/img cp -R /home/livecd/* /home/img
3.4 解压squashfs.img
进入/home/img/LiveOS 目录,会看见squashfs.img文件,
unsquashfs squashfs.img
会产生squashfs-root目录,进入其子目录LiveOS中,会有一个ext3fs.img文件,挂载该文件
mount -o loop,rw ext3fs.img /tmp
在作完各类修改后,卸载该文件,从新回到/home/img/LiveOS目录,生成新的squashfs.img文件
个人需求是:修改rc.local文件,加入一系列划分分区、格式化、挂载、解压命令后,并把前面打的tar包传入/tmp的制定目录下,这样用livecd启动时会执行rc.local中的命令,这样等livecd彻底启动后,宿主机的硬盘上就会有一个咱们刚才打包好的系统了。
mksquashfs squashfs-root squashfs.img
删除squashfs-root目录,回到上级目录,生成新的ISO
mkisofs -R -b isolinux/isolinux.bin -c isolinux/boot.cat -o /tmp/test.iso -V "CentOS-minima" \
-no-emul-boot -boot-load-size 4 -boot-info-table .
这样通过修改的镜像文件就会生成,刻入CD中,就能够自动装机了。
注:这只是适应咱们部分小的需求,也没什么创新,google了几遍文档,糅杂在一块儿的。
相关参照: