Centos系統遠程重裝腳本

因公司centos服務器重裝需求較多,且服務器沒有遠控卡,每次重裝系統需要到機房操作,費時費力.特作此腳本.

此腳本適用於Centos6.1-Centos7.3 64系統的遠程安裝.如需其他版本請自行添加!

運行腳本如下:

wKiom1j-D2Kw4ZcOAAAP57Qj6M8577.png-wh_50

wKioL1j-D2LS_qNBAAAjn4hp47U605.png-wh_50

wKioL1j-D2TzeEhXAAAs7xT1qpo491.png-wh_50

wKiom1j-D2WA3LgVAABqHlAL0HA195.png-wh_50

wKioL1j-D2aSM-AqAAHC0S2r5qc267.png-wh_50

使用VNC進行遠程重裝操作!


wKiom1j-D2bSbu8AAAFX7pqiabA807.png-wh_50

wKiom1j-D2eDsCFVAAF4md0XOO8816.png-wh_50

wKioL1j-D2fD4yzTAAFwzIw386Y347.png-wh_50

腳本如下:

#!/bin/bash
 
# Centos AutoInstall 
# VER. 1.1.0 - http://www.fenei.net
# 此腳本主要爲方便遠程重裝centos系統使用,目前因空間問題只做到6.1-7.0的64位版本
# 此腳本需要搭建一套http服務器並啓用目錄瀏覽,將需要遠程安裝的鏡像解壓到http服務器
# 腳本運行完成以後需要使用vnc客戶端連接服務器進行安裝.重裝系統的服務器需和VNC客戶端互通
# 
# 2016年5月20日3

# VER. 2.1.0 - http://www.fenei.net
# 更改自動獲取服務器IP地址.
# 新增鏡像站點網絡連接判斷
# 新增centos7系列grub2的安裝
# 
# 2017年4月24日
# 
#
# Fenei@ Sinpul Network
# http://www.fenei.net
#
#=====================================================================

# 獲取本機IP及版本信息
IPADDRESS=$(ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:")
NETMASK=$(ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $4}'|tr -d "Mask:")
GATEWAY=$(ip route |grep default|awk '{print $3}')
DNS=$(cat /etc/resolv.conf | awk 'NR>1' |awk '{print $2}' | head -n 1)
RELEASE=$(rpm -q centos-release | cut -d '-' -f 3)

stty erase ^h 
stty erase ^H
stty erase ^?
#將shell運行過程中讀取退格鍵 替換爲退格命令,否則會輸出 ^H!^?

host=192.168.1.11
ping -c2 $host >>/dev/null
if [ $? -eq 0 ];then
echo “Mirrors network is ok,wait to install ...” 
ping -c5 $host >>/dev/null

	if [ "$RELEASE" = "6" ];
		then	
			clear
			printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
			printf "             +                                                    +\n"
			printf "             +                  請輸入VNC遠程密碼                 +\n"
			printf "             +                    ■ 必須6-8位 ■                   +\n"
			printf "             +                    eg:    12345678                +\n"
			printf "             +                                                    +\n"
			printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
			read PASSWD
				clear
				printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
				printf "             +              您的服務器IP配置信息爲                           \n"
				printf "             +        IP地址  : $IPADDRESS 									 \n"
				printf "             +        子網掩碼:$NETMASK	       						     \n"
				printf "             +        網關    :$GATEWAY   								     \n"
				printf "             +        DNS     : $DNS	   	         				         \n"
				printf "             +        請確保配置信息正確,否則將無法遠程登錄                 \n"
				printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
				read anykey
					clear                        
					printf "             +++++++++++++++++++++++++++++++++++++++++++++++++++\n"
					printf "             ++++++請選擇需要安裝的Centos系統版本+++++++++++++++\n"
					printf "             +                                                 +\n"
					printf "             +    1.CentOS 6.1-X86_64   2.CentOS 6.2-X86_64    +\n"
					printf "             +    3.CentOS 6.3-X86_64   4.CentOS 6.4-X86_64    +\n"
					printf "             +    5.CentOS 6.5-X86_64   6.CentOS 6.6-X86_64    +\n"
					printf "             +    7.CentOS 6.7-X86_64   8.CentOS 6.8-X86_64    +\n"
					printf "             +    9.CentOS 6.9-X86_64   a.CentOS 7.0-X86_64    +\n"
					printf "             +    b.CentOS 7.1-X86_64   c.CentOS 7.2-X86_64    +\n"
					printf "             +    d.CentOS 7.3-X86_64                          +\n"
					printf "             +                                                 +\n"
					printf "             +++++++++++++++++++++++++++++++++++++++++++++++++++\n"
					printf "             +++++++++++++++++++++++++++++++++++++++++++++++++++\n"
					read selec
					case "$selec" in
							"1")
							##### CentOS 6.1-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.1/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.1/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一項:
							#repo中的url爲安裝centos的源
							sed -i -e "/hiddenmenu/a\title CentOS 6.1-X86_64  Install (PXE)\nroot (hd0,0) \nkernel \/vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http:\/\/192.168.1.11\/linux\/centos\/x86_64\/6.1\/ lang=en_US keymap=us\ninitrd \/initrd.img.cent.pxe" /boot/grub/grub.conf
							;;
						

							"2")
							##### CentOS 6.2-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.2/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.2/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一項:
							#repo中的url爲安裝centos的源
							sed -i -e "/hiddenmenu/a\title CentOS 6.2-X86_64  Install (PXE)\nroot (hd0,0) \nkernel \/vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http:\/\/192.168.1.11\/linux\/centos\/x86_64\/6.2\/ lang=en_US keymap=us\ninitrd \/initrd.img.cent.pxe" /boot/grub/grub.conf
							;;
							

							"3")
							##### CentOS 6.3-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.3/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.3/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一項:
							#repo中的url爲安裝centos的源
							sed -i -e "/hiddenmenu/a\title CentOS 6.3-X86_64  Install (PXE)\nroot (hd0,0) \nkernel \/vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http:\/\/192.168.1.11\/linux\/centos\/x86_64\/6.3\/ lang=en_US keymap=us\ninitrd \/initrd.img.cent.pxe" /boot/grub/grub.conf
							;;
							

							"4")
							##### CentOS 6.4-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.4/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.4/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一項:
							#repo中的url爲安裝centos的源
							sed -i -e "/hiddenmenu/a\title CentOS 6.4-X86_64  Install (PXE)\nroot (hd0,0) \nkernel \/vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http:\/\/192.168.1.11\/linux\/centos\/x86_64\/6.4\/ lang=en_US keymap=us\ninitrd \/initrd.img.cent.pxe" /boot/grub/grub.conf
							;;
							

							"5")
							##### CentOS 6.5-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.5/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.5/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一項:
							#repo中的url爲安裝centos的源
							sed -i -e "/hiddenmenu/a\title CentOS 6.5-X86_64  Install (PXE)\nroot (hd0,0) \nkernel \/vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http:\/\/192.168.1.11\/linux\/centos\/x86_64\/6.5\/ lang=en_US keymap=us\ninitrd \/initrd.img.cent.pxe" /boot/grub/grub.conf
							;;
							

							"6")
							##### CentOS 6.6-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.6/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.6/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一項:
							#repo中的url爲安裝centos的源
							sed -i -e "/hiddenmenu/a\title CentOS 6.6-X86_64  Install (PXE)\nroot (hd0,0) \nkernel \/vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http:\/\/192.168.1.11\/linux\/centos\/x86_64\/6.6\/ lang=en_US keymap=us\ninitrd \/initrd.img.cent.pxe" /boot/grub/grub.conf
							;;

							
							"7")
							##### CentOS 6.7-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.7/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.7/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一項:
							#repo中的url爲安裝centos的源
							sed -i -e "/hiddenmenu/a\title CentOS 6.7-X86_64  Install (PXE)\nroot (hd0,0) \nkernel \/vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http:\/\/192.168.1.11\/linux\/centos\/x86_64\/6.7\/ lang=en_US keymap=us\ninitrd \/initrd.img.cent.pxe" /boot/grub/grub.conf
							;;
							
							"8")
							##### CentOS 6.8-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.8/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.8/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一項:
							#repo中的url爲安裝centos的源
							sed -i -e "/hiddenmenu/a\title CentOS 6.8-X86_64  Install (PXE)\nroot (hd0,0) \nkernel \/vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http:\/\/192.168.1.11\/linux\/centos\/x86_64\/6.8\/ lang=en_US keymap=us\ninitrd \/initrd.img.cent.pxe" /boot/grub/grub.conf
							;;
							
							"9")
							##### CentOS 6.9-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.9/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.9/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一項:
							#repo中的url爲安裝centos的源
							sed -i -e "/hiddenmenu/a\title CentOS 6.9-X86_64  Install (PXE)\nroot (hd0,0) \nkernel \/vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http:\/\/192.168.1.11\/linux\/centos\/x86_64\/6.9\/ lang=en_US keymap=us\ninitrd \/initrd.img.cent.pxe" /boot/grub/grub.conf
							;;

							"a")
							##### CentOS 7.0-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/7.0/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/7.0/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一項:
							#repo中的url爲安裝centos的源
							sed -i -e "/hiddenmenu/a\title CentOS 7.0-X86_64  Install (PXE)\nroot (hd0,0) \nkernel \/vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http:\/\/192.168.1.11\/linux\/centos\/x86_64\/7.0\/ lang=en_US keymap=us\ninitrd \/initrd.img.cent.pxe" /boot/grub/grub.conf
							;;
							
							"b")
							##### CentOS 7.1-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/7.1/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/7.1/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一項:
							#repo中的url爲安裝centos的源
							sed -i -e "/hiddenmenu/a\title CentOS 7.1-X86_64  Install (PXE)\nroot (hd0,0) \nkernel \/vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http:\/\/192.168.1.11\/linux\/centos\/x86_64\/7.1\/ lang=en_US keymap=us\ninitrd \/initrd.img.cent.pxe" /boot/grub/grub.conf
							;;
							
							"c")
							##### CentOS 7.2-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/7.2/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/7.2/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一項:
							#repo中的url爲安裝centos的源
							sed -i -e "/hiddenmenu/a\title CentOS 7.2-X86_64  Install (PXE)\nroot (hd0,0) \nkernel \/vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http:\/\/192.168.1.11\/linux\/centos\/x86_64\/7.2\/ lang=en_US keymap=us\ninitrd \/initrd.img.cent.pxe" /boot/grub/grub.conf
							;;
							
							"d")
							##### CentOS 7.3-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/7.3/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/7.3/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一項:
							#repo中的url爲安裝centos的源
							sed -i -e "/hiddenmenu/a\title CentOS 7.3-X86_64  Install (PXE)\nroot (hd0,0) \nkernel \/vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http:\/\/192.168.1.11\/linux\/centos\/x86_64\/7.3\/ lang=en_US keymap=us\ninitrd \/initrd.img.cent.pxe" /boot/grub/grub.conf
							;;			
							
						esac

	elif [ "$RELEASE" = "7" ];
	then
		clear
		printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
		printf "             +                                                    +\n"
		printf "             +                  請輸入VNC遠程密碼                 +\n"
		printf "             +                    ■ 必須6-8位 ■                   +\n"
		printf "             +                  eg:     12345678                 +\n"
		printf "             +                                                    +\n"
		printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
		read PASSWD
			clear
			printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
			printf "             +              您的服務器IP配置信息爲                           \n"
			printf "             +        IP地址  : $IPADDRESS 									 \n"
			printf "             +        子網掩碼:$NETMASK	       						     \n"
			printf "             +        網關    :$GATEWAY   								     \n"
			printf "             +        DNS     : $DNS	   	         				         \n"
			printf "             +        請確保配置信息正確,否則將無法遠程登錄                 \n"
			printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
			read anykey
				clear                        
				printf "             +++++++++++++++++++++++++++++++++++++++++++++++++++\n"
				printf "             ++++++請選擇需要安裝的Centos系統版本+++++++++++++++\n"
				printf "             +                                                 +\n"
				printf "             +    1.CentOS 6.1-X86_64   2.CentOS 6.2-X86_64    +\n"
				printf "             +    3.CentOS 6.3-X86_64   4.CentOS 6.4-X86_64    +\n"
				printf "             +    5.CentOS 6.5-X86_64   6.CentOS 6.6-X86_64    +\n"
				printf "             +    7.CentOS 6.7-X86_64   8.CentOS 6.8-X86_64    +\n"
				printf "             +    9.CentOS 6.9-X86_64   a.CentOS 7.0-X86_64    +\n"
				printf "             +    b.CentOS 7.1-X86_64   c.CentOS 7.2-X86_64    +\n"
				printf "             +    d.CentOS 7.3-X86_64                          +\n"
				printf "             +                                                 +\n"
				printf "             +++++++++++++++++++++++++++++++++++++++++++++++++++\n"
				printf "             +++++++++++++++++++++++++++++++++++++++++++++++++++\n"
				read selec
				case "$selec" in
					"1")
					##### CentOS 6.1-X86_64 #####
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.1/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.1/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
			
			
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/6.1/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;
				

					"2")
					##### CentOS 6.2-X86_64 #####
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.2/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.2/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/6.2/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;
					

					"3")
					##### CentOS 6.3-X86_64 #####
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.3/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.3/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/6.3/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;
					

					"4")
					##### CentOS 6.4-X86_64 #####
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.4/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.4/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/6.4/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;
					

					"5")
					##### CentOS 6.5-X86_64 #####
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.5/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.5/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/6.5/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;
					

					"6")
					##### CentOS 6.6-X86_64 #####
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.6/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.6/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/6.6/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;

					
					"7")
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.7/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.7/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/6.7/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;
					
					"8")
					##### CentOS 6.8-X86_64 #####
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.8/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.8/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/6.8/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;
					
					"9")
					##### CentOS 6.9-X86_64 #####
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.9/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.9/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/6.9/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;

					"a")
					##### CentOS 7.0-X86_64 #####
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/7.0/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/7.0/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/7.0/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;
					
					"b")
					##### CentOS 7.1-X86_64 #####
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/7.1/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/7.1/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/7.1/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;
					
					"c")
					##### CentOS 7.2-X86_64 #####
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/7.2/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/7.2/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/7.2/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall
					;;
					
					"d")
					##### CentOS 7.3-X86_64 #####
								clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/7.3/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/7.3/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/7.3/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;			
					
				esac
	else
		echo "當前系統不支持此安裝腳本,無法進行安裝"
	fi

	

	printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
	printf "             +              Centos重裝腳本執行成功                 \n"
	printf "             +     請重啓服務器後使用VNC客戶端遠程進行系統安裝	   \n"
	printf "             +             VNC服務器地址:$IPADDRESS:1   	   	   \n"
	printf "             +             VNC服務器密碼:$PASSWD                  \n"
	printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
	read anykey	
		exit
else
echo “network is Unreachable,This script can not run! Now Exit!!!” 
exit
fi	

		


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章