定制CentOS 6.0精简的自动安装版推荐

# BLOG:http://kerry.blog.51cto.com

CentOS 6.0 在大家翘首以盼中姗姗来迟,但官方发布的DVD太过于庞大,很多组件其实在日常的生产环境中并用不上,所以基于此种情况,在这里我们就来对官方发布的DVD进行瘦身,只安装我们需要的组件,并实现自动安装,安装完毕后再对系统做基本的初始化,这样在生产环境中需要批量布署服务器的时候,显的效率非常高

1、定制安装系统,选择常用的组件2、安装制作发行版所需的基本软件包yum y install createrepo mkisofs

3、生成安装系统所需的rpm文件列表awk ‘/Installing/{print $2}’ install.log |sed ‘s/^[0-9]*://g’ /root/packages.list

4、创建定制工作目录mkdir -p /mnt/cdrommkdir -p /data/OSmount /dev/cdrom /mnt/cdromrsync a –exclude=Packages /mnt/cdrom /data/OSmkdir /data/OS/Packages

5、复制精简后的RPM包vi /data/cprmps.sh #创建自动复制RPM包脚本

#!/bin/bash DEBUG=0CentOS_DVD=/mnt/cdrom ALL_RPMS_DIR=/mnt/cdrom/Packages#源光盘RPM包存放的目录 KOS_RPMS_DIR=/data/OS/Packages#精简后RPM包存放的目录 packages_list=/root/packages.list#精简后的RPM包列表 number_of_packages=`cat$packages_list|wc-l` i=1while[$i-le$number_of_packages];do line=`head-n$i$packages_list|tail-n-1` name=`echo$line|awk'{print$1}'` version=`echo$line|awk'{print$3}'|cut-f2-d:` if[$DEBUG-eq 1 ];then echo$i:$line echo$name echo$version fi if[$DEBUG-eq 1 ];then ls$ALL_RPMS_DIR/$name-$version* if[$?-ne0];then echo cp$ALL_RPMS_DIR/$name-$version* fi else echo cp$ALL_RPMS_DIR/$name-$version*$KOS_RPMS_DIR/ cp$ALL_RPMS_DIR/$name-$version*$KOS_RPMS_DIR/ #incasethecopyfailed if[$?-ne0];then echo cp$ALL_RPMS_DIR/$name-$version* cp$ALL_RPMS_DIR/$name*$KOS_RPMS_DIR/ fi fi i=`expr$i+1` done

chmod +x cprpm.sh./cprpm.sh

6、配置kickstart脚本vi /data/OS/isolinux/kerry.cfg

#Kickstartfileautomaticallygeneratedbyanaconda. #InstallOSinsteadofupgrade install #Usetextmodeinstall text #UseCDROMinstallationmedia cdrom langen_US.UTF-8 keyboardus #SkiptheXConfiguration skipx #Networkinformation #network--deviceeth0--onbootyes--bootprotostatic--ip192.168.9.226--netmask255.255.255.0--gateway192.168.9.1--nameserver192.168.9.1--noipv6--hostnamekerry-web-001 network--bootprotodhcp--noipv6--onboot=yes--hostnamekerry-web-001 #root--1q2w3e rootpw--iscrypted$6$ZVQx8trb4JB693IS$tdwYvbnrNLgAv9xyQTMm2/0IV5pmZWwa0dD.GWh69/LK0Ls4aUXUl3xJiPRyzVuRZDUdEzw0h26zRS5KOdbBl1 firewall--disabled #Systemauthorizationinformation authconfig--enableshadow--enablemd5 selinux--disabled timezone--utcAsia/Shanghai #Systembootloaderconfiguration bootloader--location=mbr#CleartheMasterBootRecord zerombryes #Thefollowingisthepartitioninformationyourequested #Notethatanypartitionsyoudeletedarenotexpressed #heresounlessyouclearallpartitionsfirst,thisis #notguaranteedtowork #Partitionclearinginformation clearpart--all--initlabel part/boot--fstypeext4--size=200--asprimary part/--fstypeext4--size=10000partswap--size=4096part/data--fstypeext4--size=1--grow #---Rebootthehostafterinstallationisdone reboot %packages @base @core @development @server-policy sgpio nmap iptraf ntp %post--nochroot #MountCDROM mkdir-p/mnt/cdrom mount-r-tiso9660/tmp/cdrom/mnt/cdrom cp/mnt/cdrom/ipmod.tar.gz/mnt/sysimage/tmp/ipmod.tar.gz /dev/null cd/mnt/sysimage/tmp/ tar-zxvfipmod.tar.gz /dev/null cp-R/mnt/sysimage/tmp/ipmod/*/mnt/sysimage/root/ /dev/null2 /dev/null cp-R/mnt/sysimage/tmp/etc/*/mnt/sysimage/etc/ /dev/null2 /dev/null cp-R/mnt/sysimage/tmp/usr/*/mnt/sysimage/usr/ /dev/null2 /dev/null cp-R/mnt/sysimage/tmp/var/*/mnt/sysimage/var/ /dev/null2 /dev/null cp-R/mnt/sysimage/tmp/boot/*/mnt/sysimage/boot/ /dev/null2 /dev/null cp-R/mnt/sysimage/tmp/sbin/*/mnt/sysimage/sbin/ /dev/null2 /dev/null umount/mnt/cdrom %post #vimsyntaxon sed-i 8s/^/aliasvi='vim'/ /root/.bashrc2 /dev/null echo'syntaxon' /root/.vimrc2 /dev/null #init_ssh ssh_cf= /etc/ssh/sshd_config sed-i-e'74s/^/#/'-i-e'76s/^/#/'$ssh_cf sed-i s/#UseDNSyes/UseDNSno/ $ssh_cf #client sed-i-e'44s/^/#/'-i-e'48s/^/#/'$ssh_cf #RemovetheISOFiletranslationfiles find/-nameTRANS.TBL-execrm{}\;/dev/null2 /dev/null #Removesomeunneededservices #-------------------------------------------------------------------------------- cat EOF+--------------------------------------------------------------+ |===WelcometoTunoffservices===| +--------------------------------------------------------------+ EOF #--------------------------------------------------------------------------------- foriin`ls/etc/rc3.d/S*` do CURSRV=`echo$i|cut-c15-` echo$CURSRV case$CURSRVin crond|irqbalance|microcode_ctl|network|random|sshd|syslog|local) echo Baseservices,Skip! ;; *) echo change$CURSRVtooff chkconfig--level235$CURSRVoff service$CURSRVstop ;; esac done #filedescriptors ulimit-HSn65535 echo-ne *softnofile65536 *hardnofile65536   /etc/security/limits.conf #setsysctl true /etc/sysctl.conf cat /etc/sysctl.conf EOFnet.ipv4.ip_forward=0net.ipv4.conf.default.rp_filter=1net.ipv4.conf.default.accept_source_route=0kernel.sysrq=0kernel.core_uses_pid=1net.ipv4.tcp_syncookies=1kernel.msgmnb=65536kernel.msgmax=65536kernel.shmmax=68719476736kernel.shmall=4294967296net.ipv4.tcp_max_tw_buckets=6000net.ipv4.tcp_sack=1net.ipv4.tcp_window_scaling=1net.ipv4.tcp_rmem=4096873804194304 net.ipv4.tcp_wmem=4096163844194304 net.core.wmem_default=8388608net.core.rmem_default=8388608net.core.rmem_max=16777216net.core.wmem_max=16777216net.core.netdev_max_backlog=262144net.core.somaxconn=262144net.ipv4.tcp_max_orphans=3276800net.ipv4.tcp_max_syn_backlog=262144net.ipv4.tcp_timestamps=0net.ipv4.tcp_synack_retries=1net.ipv4.tcp_syn_retries=1net.ipv4.tcp_tw_recycle=1net.ipv4.tcp_tw_reuse=1net.ipv4.tcp_mem=94500000915000000927000000 net.ipv4.tcp_fin_timeout=1net.ipv4.tcp_keepalive_time=1200net.ipv4.ip_local_port_range=102465535 EOF /sbin/sysctl-p #closectrl+alt+del sed-i s/ca::ctrlaltdel:\/sbin\/shutdown-t3-rnow/#ca::ctrlaltdel:\/sbin\/shutdown-t3-rnow/ /etc/inittab #setpurview chmod600/etc/passwd chmod600/etc/shadow chmod600/etc/group chmod600/etc/gshadow 

7、生成comps.xmlcd /data/OScreaterepo g repodata/*-comps.xml /data/OS/

8、让系统从kickstart配置启动安装vi /data/OS/isolinux/isolinux.cfg

default autolabel auto kernel vmlinuz append ks=cdrom:/isolinux/kerry.cfg initrd=initrd.img

9、生成ISO文件cd /data/OSdeclare -x discinfo=`head -1 .discinfo`createrepo -u media://$discinfo -g repodata/*-comps.xml /data/OS/mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -o /data/KerryOS-1.0-i386.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table /data/OS

10、生成MD5检验码/usr/bin/implantisomd5 /data/KerryOS-1.0-i386.iso

是不是因为心痛的麻木了,我才笑得最美丽。

定制CentOS 6.0精简的自动安装版推荐

相关文章:

你感兴趣的文章:

标签云: