标签:
安装系统为centos6.5 (base server),安装方式为全新安装
使用ext4分区格式
安装前可以交互输入root密码,主机名,swap分区大小,之后安装过程自动化
关闭防火墙,selinux
网络为dhcp方式获取
时区为Asia/Shanghai
分区表类型为mbr
默认设置三个分区,boot分区200M,swap分区由用户指定,其余为根分区
更改软件包安装背景为自定义logo,更改欢迎信息
yum -y install anaconda repodata createrepo mkisofs rsync
mkdir /mnt/cdrom (挂载光盘) mkdir /data/ISO (ISO目录) mkdir /data/ISO/mydata (需要封装的数据)
mount -o loop /data/iso/CentOS-6.4-x86_64-bin-DVD1.iso /mnt/cdrom
rsync -a --exclude=Packages/ /mnt/cdrom/ /data/ISO/ #--exclude=Packages/排除此目录 rm -fr /data/ISO/repodata mkdir -p /data/ISO/{Packages,repodata} #创建yum仓库,软件包存放位置
#!/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=‘/data/ISO/Packages‘ while read LINE do cp ${PACKAGES}/${LINE}.rpm /${NEW_PACKAGES} || echo "$LINE don‘t cp......." done < package.txt rm -f package.txt
#platform=x86, AMD64, or Intel EM64T #version=DEVEL # Firewall configuration firewall --disabled # Install OS instead of upgrade install # Use CDROM installation media cdrom #interactive # Root password #rootpw --plaintext 123456 # System authorization information auth --useshadow --passalgo=sha512 # Use text mode install #text # System keyboard keyboard us # System language lang en_US # SELinux configuration selinux --disabled network --onboot=yes --device=eth0 --bootproto=dhcp --noipv6 # Do not configure the X Window System skipx # Installation logging level logging --level=info # Reboot after installation reboot # System timezone timezone --isUtc Asia/Shanghai # System bootloader configuration bootloader --location=mbr # Clear the Master Boot Record zerombr # Partition clearing information clearpart --all --initlabel # Disk partitioning information #part /boot --fstype="ext4" --size=200 #part swap --fstype="swap" --size=16384 #part / --fstype="ext4" --grow --size=1 %include /tmp/mydata.txt %packages @base @console-internet @core @debugging @directory-client @hardware-monitoring @java-platform @large-systems @network-file-system-client @performance @perl-runtime @server-platform @server-policy @workstation-policy pax oddjob sgpio device-mapper-persistent-data samba-winbind certmonger pam_krb5 krb5-workstation perl-DBD-SQLite %end %pre #!/bin/bash exec < /dev/tty6 > /dev/tty6 chvt 6 clear echo "######################################################################" echo " Welcome to PowerSoft OS , before install, we will set something" echo "######################################################################" echo -n "Please entrer the hostname:" read hostn hostname $hostn echo -e "NETWORKING=yes\nHOSTNAME=$hostn" > /etc/sysconfig/network echo -e "\n" echo -n "Please input the root passwd:" read -s Passwd echo "rootpw --plaintext $Passwd" >> /tmp/mydata.txt echo -e "\n" echo -n "Please input the swap size(M):" read Size echo -e "part /boot --fstype="ext4" --size=200\npart swap --fstype="swap" --size=${Size}\npart / --fstype="ext4" --grow --size=1" >> /tmp/mydata.txt exec < /dev/tty1 > /dev/tty1 chvt 1 %end
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 ^Install PowerSoft OS menu default kernel vmlinuz append ks=cdrom:/isolinux/ks.cfg initrd=initrd.img #加载ks应答文件作为默认配置 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 -
cd /data/ISO declare -x discinfo=$(head -1 .discinfo) cp /mnt/cdrom/repodata/*-c6-x86_64-comps.xml repodata/c6-x86_64-comps.xml createrepo -g repodata/c6-x86_64-comps.xml ./
#进入光盘images目录 cd /data/ISO/images/ #install.img镜像中包含了光盘安装过程中使用到的背景图片,挂载此img文件 mount -o loop -t squashfs install.img /mnt/install mkdir tmp #挂载的install.img不能编辑,需要拷贝一份,修改后替换原install.img文件 rsync -av /mnt/install/ tmp/ #进入背景图片所在目录,选择需要修改的图片,并替换(主机图片尺寸,格式需要与原来的相同),图片位置为:tmp/install/usr/share/anaconda/pixmaps #重新创建新的install.img mksquashfs tmp/ install_v1.img -all-root #替换install.img cp tmp/install_v1.img install.img
mkdir /data/ISO/isolinux/tmp #解压initrd.img镜像 xz -dc ../initrd.img | cpio -id #修改欢迎语.buildstamp文件,把其中的CentOS替换为PowerSoft vim .buildstamp #创建新的initrd.img并替换 find . | cpio -c -o | xz -9 --format=lzma > ../initrd.img
mkisofs -o CentOS-6.5_64.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T ISO/
virt-install -n centos6 -r 1024 -c CentOS-6.6_64.iso --disk path=centos6_v1.qcow2,device=disk,bus=virtio,size=5,format=qcow2 --vnc --vncport=5902 --vnclisten=0.0.0.0 -v
#更多ks.cfg配置选项,参考redhat文档:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s1-kickstart2-options.html
#platform=x86, AMD64, or Intel EM64T #version=DEVEL #关闭防火墙 firewall --disabled #install表示为全新安装系统 install #使用的安装源为光盘 cdrom #打开此选项,使用ks.cfg中的选项作为默认配置,但是允许用户手动修改每一项配置,用户需要手动点击下一步 #interactive #设置root密码 #rootpw --plaintext 123456 #设置系统认证信息 auth --useshadow --passalgo=sha512 #打开此选项,表示安装过程使用纯文本模式,没有此选项为图形安装界面 #text #键盘类型 keyboard us #系统语言 lang en_US #关闭selinux selinux --disabled #配置eth0网卡开机启动,使用dhcp获取IP信息,禁用ipv6 network --onboot=yes --device=eth0 --bootproto=dhcp --noipv6 #不配置x window skipx #设置安装过程中的错误记录等级为info logging --level=info #安装完成之后,重启系统(注:使用kvm虚拟机测试制作的ISO镜像时发现,安装完成之后是关机,不能重启) reboot #系统时区 timezone --isUtc Asia/Shanghai #分区表类型为mbr bootloader --location=mbr #清楚主机原有mbr分区信息 zerombr #初始化系统所有分区,执行全新安装 clearpart --all --initlabel #指定分区方式,boot分区200M,swap分区16G,其余全为主分区 #part /boot --fstype="ext4" --size=200 #part swap --fstype="swap" --size=16384 #part / --fstype="ext4" --grow --size=1 #加载额外的配置信息作为ks项 %include /tmp/mydata.txt #安装软件包(base server) %packages @base @console-internet @core @debugging @directory-client @hardware-monitoring @java-platform @large-systems @network-file-system-client @performance @perl-runtime @server-platform @server-policy @workstation-policy pax oddjob sgpio device-mapper-persistent-data samba-winbind certmonger pam_krb5 krb5-workstation perl-DBD-SQLite %end #安装前执行脚本 %pre #!/bin/bash #切换到终端6执行脚本,然后再切换会原终端1 exec < /dev/tty6 > /dev/tty6 chvt 6 clear echo "######################################################################" echo " Welcome to PowerSoft OS , before install, we will set something" echo "######################################################################" #设置主机名 echo -n "Please entrer the hostname:" read hostn hostname $hostn echo -e "NETWORKING=yes\nHOSTNAME=$hostn" > /etc/sysconfig/network echo -e "\n" #设置root密码 echo -n "Please input the root passwd:" read -s Passwd echo "rootpw --plaintext $Passwd" >> /tmp/mydata.txt echo -e "\n" #设置swap分区大小 echo -n "Please input the swap size(M):" read Size echo -e "part /boot --fstype="ext4" --size=200\npart swap --fstype="swap" --size=${Size}\npart / --fstype="ext4" --grow --size=1" >> /tmp/mydata.txt exec < /dev/tty1 > /dev/tty1 chvt 1 %end
标签:
原文地址:http://www.cnblogs.com/alwayslij/p/4301924.html