ºìÁªLinuxÃÅ»§
Linux°ïÖú

CentOS 6.5 Linuxϵͳ¶¨ÖÆÓë·â×°¿ìËÙʵʩ½Å±¾

·¢²¼Ê±¼ä:2014-06-05 16:01:42À´Ô´:ºìÁª×÷Õß:velcbo
ÔÚ´óÐÍÆóÒµ»òÕßÊÇIDC×öÔËάµÄÅóÓѾ­³£»áÓÐÕâÑù×ÓµÄÐèÇó£¬ÓÐЩÈË¿ÉÄÜ»¹²»ÊǺÜÁ˽âLinuxµÄ¶þ´Î·â×°ÓÐʲôºÃ´¦£¬ÕâÀï¼òµ¥ËµÒ»Ï£¬¾ÍÊǵ±ÄãÒª·´¸´×öÒ»¸ö²Ù×÷µÄʱºò£¬±ÈÈç˵Ҫ²¿Êð300̨WEB·þÎñÆ÷£¬ÕâʱºòÄãÈç¹ûһ̨һ̨װ£¬È»ºó×°ÍêϵͳºóÔÙÈ¥ÅäÖÃÕâ¸öWEBÓ¦Óã¬ÄÇÒª»¨¶àÉÙʱ¼ä°¡£¬Êǰɣ¡µ«ÊÇÈç¹ûÄã×°ºÃһ̨·þÎñÆ÷£¬È»ºó½«Õâ¸öϵͳ½øÐжþ´Î·â×°£¬ÕâÑù×ÓÄãÏ´ÎÔÙÒª²¿ÊðÏàͬµÄWEB·þÎñÆ÷µÄʱºò¾ÍÖ»ÐèÒªÄÃÕâ¸ö·â×°µÄϵͳȥ²¿Êð¾ÍOK£¬ÕâÊDz»ÊǼòµ¥¶àÁË£¬ÕâʱºòÓÐÈË¿ÉÄܻỳÒɻ᲻»á´æÔÚÇý¶¯ÎÊÌ⣬µ±È»ÏµÍ³±¾ÉíOKµÄ£¬ËûÊÇûÓÐÎÊÌâµÄ£¬³ý·ÇÄãÊÇÌØÊâµÄÓ²¼þ¡£Æäʵ¼òµ¥µÄÀí½â¾ÍÊÇÒ»¸öwindowsµÄghost·â×°²î²»¶à¡£Èç¹ûÄ㻹ÊDz»ÊǺÜÃ÷°×£¬¿ÉÄÜÄãÐèÒª¶à¶Á¼¸´ÎÕâ¶ÎÎÄ×Ö¡£Ç°ÆÚÓвâÊÔ¹ýÍøÉϵÄһЩ½Ì³Ì£¬·¢ÏÖÔÚCentOS6.0ÒÔÉ϶¼²»Ì«ºÃÓÃÁË£¬ÓÉÓÚʱ¼äµÄÔ­Òò£¬ÎÒÕâÀïÖ»ÊÇÌù³ö·â×°µÄshell£¬ÆäʵÕû¸ö»¹ÐèÒªÓÐÒ»¸ö±È½Ï¸´ÔӵĹý³Ì£¬Äã¿ÉÄÜÐèÒªÓÃÐÄÈ¥Á˽âÒ»ÏÂÏÂÃæÕâ¸öshellµÄÒâ˼£¬ÓÐÐèÒªµÄÅóÓÑ¿ÉÒÔÁªÏµÎÒ¡£µ±È»ÎÒ¾­³£»áÓÃËüÀ´·â×°Ïñ openvpn¡¢vsftpd¡¢webµÈ·þÎñÆ÷£¬ÈÃËüÄܹ»ÊµÏÖÈ«×Ô¶¯»¯¿ìËÙ²¿Êð£¬ÒÔÌá¸ßÎҵŤ×÷ЧÂÊ£¬ºóÆÚÓлú»á½«Éϴη¢²¼µÄvsftpd·þÎñÆ÷µÄ·â×°°ü·¢ÏÖÀ´´ó¼Ò·ÖÏíһϣ¬´óÏÀ²»ÒªÅÄש£¡Í·ÒѾ­ÔÚÁ÷Ѫ¡£[code]#!/bin/bash
#web:www.linux.com
SYSTEM_DIR=/home/linux
SYSTEM_NAME=linux
mount_ISO (){
mkdir -p /home/linux/Packages
mkdir -p /home/source
mkdir -p /mnt/cdrom1
mkdir -p /mnt/cdrom2
echo "ÇëÈ·±£¹âÇýÀïÃæÓÐISOÎļþ£¬ÇÒ¿ÉÒÔ±»¹ÒÔØ"
echo "ÇëÊäÈëY/y¼ÌÐø,ÈÎÒâ¼üÔòÍ˳öÔËÐÐ"
read ret
[ ${ret} != "Y" -a ${ret} != "y" ] && exit 1
echo "echo ĬÈÏÇé¿ö£¬¹ÒÔØµÄÊÇ/dev/cdromµ½/mnt/cdrom1"
mount /dev/cdrom /mnt/cdrom1
mount /dev/cdrom1 /mnt/cdrom2
ls /mnt/cdrom2 |grep Packages
if [ "$?" != 0 ]
then
echo "¹âÅ̹ÒÔØ²»³É¹¦£¬ÇëÊÖ¶¯ÖØÐ¹ÒÔØ£¬»òÕß³¢ÊÔ±¾µØISO¹ÒÔØ"
echo "ÇëÊäÈë±¾µØISOµÄ·¾¶:"
read ret
ls ${ret}
[ "$?" != 0 ] && echo "±¾µØISO²»´æÔÚ»òÕß·¾¶´íÎó£¬Í˳öÔËÐÐ" && exit 1
[ "$?" == 0 ] && mount -o loop ${ret} /mnt/cdcom1
fi
}
copy_ISO_file (){
#awk '/°²×°/{print $2}' install.log | sed -e '/^$/d' -e 's/^ //g' | grep -v FINISHED | grep -v ":" > /home/source/packges.list
mkdir -p /home/source
cp -p /root/packges.list /home/source/packges.list
mkdir -p /home/linux/Packages/conf/
cp -p /root/PS/* /home/linux/Packages/conf/
for packges in $(cat /home/source/packges.list)
do
cp /mnt/cdrom1/Packages/$packges* /home/linux/Packages
[ $? != 0 ] && echo "copy $packges is faied!"&& cp /mnt/cdrom2/Packages/$packges* /home/linux/Packages
done
rsync -a --exclude=Packages --exclude=repodata /mnt/cdrom2/ /home/linux/
cp -p /root/initrd.img /home/linux/isolinux/initrd.img
mv /home/linux/CentOS_BuildTag /home/linux/linux_BuildTag
}
rebuild_repo_xml (){
cd ${SYSTEM_DIR}
rm -fv ${SYSTEM_DIR}/repodata/*
mkdir -p ${SYSTEM_DIR}/repodata/
cp -fv /mnt/cdrom2/repodata/*-c6-x86_64-comps.xml ${SYSTEM_DIR}/repodata/comps.xml
createrepo -u "media://$(head -1 .discinfo)" -g ${SYSTEM_DIR}/repodata/comps.xml ${SYSTEM_DIR}/
find ${SYSTEM_DIR}/repodata/ -type f -name TRANS.TBL | xargs /bin/rm -fv
}
isolinux_cfg (){
cat > ${SYSTEM_DIR}/isolinux/isolinux.cfg <default auto
timeout 600
#default vesamenu.c32
#prompt 1
display boot.msg
menu background splash.jpg
menu title Welcome to linux 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 auto
menu label ^Auto Install system
menu default
kernel vmlinuz
append ks=cdrom:/isolinux/ks.cfg initrd=initrd.img
label linux
menu label ^Install or upgrade an existing system
kernel vmlinuz
append 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 -
EOF
}
ks_file(){
cat > ${SYSTEM_DIR}/isolinux/ks.cfg <# Kickstart file automatically generated by anaconda.
#linux
#date 2013-07-20
#version=V6.4
install
text
cdrom
lang zh_CN.UTF-8
keyboard us
skipx
network --device eth0 --bootproto static --ip 192.168.50.1 --netmask 255.255.255.0 --gateway 192.168.50.254 --hostname linux-FTP
rootpw --iscrypted /gvPu5dZM6eis
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --enforcing
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append=" rhgb crashkernel=auto 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 yes
part /boot --fstype=ext4 --size=100
part swap --size=4000
part / --fstype=ext4 --size=10000
part /opt --fstype=ext4 --grow --size=1000
reboot
#repo --name="linux" --baseurl=cdrom:sr0 --cost=100
%packages --nobase
@base
%packages
@chinese-support
@core
glibc-2.12-1.107.el6.i686
lrzsz
%post --nochroot
cp /mnt/source/Packages/conf/settings.sh /mnt/sysimage/tmp/settings.sh
mv /mnt/sysimage/etc/vsftpd/vsftpd.conf /mnt/sysimage/etc/vsftpd/vsftpd.conf.back
mv /mnt/sysimage/etc/pam.d/vsftpd /mnt/sysimage/etc/pam.d/vsftpd.back
cp /mnt/source/Packages/conf/vsftpd.conf /mnt/sysimage/etc/vsftpd/vsftpd.conf
cp /mnt/source/Packages/conf/ftpmgt.exe /mnt/sysimage/etc/vsftpd/ftpmgt.exe
cp /mnt/source/Packages/conf/vsftpd /mnt/sysimage/etc/pam.d/vsftpd
cp /mnt/source/Packages/conf/moban /mnt/sysimage/etc/vsftpd/moban
cp /mnt/source/Packages/conf/xianzhi /mnt/sysimage/etc/vsftpd/xianzhi
chmod 750 /mnt/sysimage/tmp/settings.sh
%post
/tmp/settings.sh
EOF
}
build_new_ISO (){
cd ${SYSTEM_DIR}
mkisofs -o ${SYSTEM_NAME}.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -V linux -T ${SYSTEM_DIR}
}
main (){
mount_ISO
copy_ISO_file
isolinux_cfg
ks_file
rebuild_repo_xml
build_new_ISO
}
main[/code]×÷Õߣºlidongni
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ