因公司有些服務器需要經常重裝系統,每次跑機房比較麻煩,特做此腳本進行遠程安裝
目前因Http服務器空間有限,只左右Centos6.1-7.0 64位系統的遠程安裝
如需增加 只需按照以前的步驟和方法添加即可。
1、http服務器的搭建
我這裏使用IIS作爲http服務器(linux下最好)
啓用IIS目錄瀏覽功能,並在http頭標籤頁的MIME類型 中添加相應的MIME類型,方便下載此目錄下所有文件。
新建MIME類型,在拓展名和MIME類型中都填*
確定保存。
2、解壓鏡像文件到http服務器
3、在需要重裝系統的服務器上運行一下腳本
使用您自己的http服務器地址替換腳本中的IP地址
#!/bin/bash # Centos AutoInstall # VER. 1.1.0 - http://www.fenei.net # 此腳本主要爲方便遠程重裝centos系統使用,目前因空間問題只做到6.1-7.0的64位版本 # 此腳本需要搭建一套http服務器並啓用目錄瀏覽,將需要遠程安裝的鏡像解壓到http服務器 # 腳本運行完成以後需要使用vnc客戶端連接服務器進行安裝.重裝系統的服務器需和VNC客戶端互通 # http://babyfenei.blog.51cto.com/443861/1775441 # 2016年5月20日 # # # Fenei QQ:407603129 Mail:[email protected] # VER. 1.1.0 - http://www.fenei.net # #===================================================================== stty erase ^h stty erase ^H while true do printf " ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" printf " + +\n" printf " + 請輸入服務器IP地址 +\n" printf " + ※注意:此IP地址用作VNC遠程連接使用※ +\n" printf " + ※ 同時,此IP爲重裝後系統默認IP※ +\n" printf " + ※ 建議輸入您將要配置的IP地址 ※ +\n" printf " + eg:192.168.1.10 124.115.146.254 +\n" printf " + +\n" printf " ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" read IPADDRESS clear printf " ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" printf " + +\n" printf " + 請輸入服務器子網掩碼 +\n" printf " + eg:255.255.255.0 255.255.255.248 +\n" printf " + +\n" printf " ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" read NETMASK clear printf " ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" printf " + +\n" printf " + 請輸入服務器網關地址 +\n" printf " + eg:192.168.1.1 255.255.255.248 +\n" printf " + +\n" printf " ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" read GATEWAY clear printf " ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" printf " + +\n" printf " + 請輸入服務器DNS地址 +\n" printf " + eg:180.76.76.76 114.114.114.114 +\n" printf " + +\n" printf " ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" read DNS clear printf " ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" printf " + +\n" printf " + 請輸入VNC遠程密碼 +\n" printf " + eg:admin Admin#@!1234567 +\n" printf " + +\n" printf " ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" read PASSWD clear printf " ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" printf " + 您的服務器IP配置信息爲 +\n" printf " + IP地址: $IPADDRESS 子網掩碼:$NETMASK +\n" printf " + 網關 :$GATEWAY DNS : $DNS +\n" printf " + 請確保配置信息正確,否則將無法遠程登錄 +\n" printf " ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" read anykey clear printf " ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" printf " ++++++++++++請選擇需要安裝的Centos系統版本++++++++++++++++\n" printf " + +\n" printf " + 1.CentOS 6.1-X86_64 +\n" printf " + 2.CentOS 6.2-X86_64 +\n" printf " + 3.CentOS 6.3-X86_64 +\n" printf " + 4.CentOS 6.4-X86_64 +\n" printf " + 5.CentOS 6.5-X86_64 +\n" printf " + 6.CentOS 6.6-X86_64 +\n" printf " + 7.CentOS 6.7-X86_64 +\n" printf " + 8.CentOS 7.0-X86_64 +\n" printf " + +\n" printf " ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" printf " ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" read selec case "$selec" in "1") ##### CentOS 6.1-X86_64 ##### mkdir /centos_install cd /centos_install wget http://服務器IP地址/XP/linux/centos/x86_64/6.1/images/pxeboot/initrd.img wget http://服務器IP地址/XP/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..." 增加一項: #method中的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} headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice=eth0 method=http:\/\/服務器IP地址\/XP\/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 wget http://服務器IP地址/XP/linux/centos/x86_64/6.2/images/pxeboot/initrd.img wget http://服務器IP地址/XP/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..." 增加一項: #method中的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} headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice=eth0 method=http:\/\/服務器IP地址\/XP\/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 wget http://服務器IP地址/XP/linux/centos/x86_64/6.3/images/pxeboot/initrd.img wget http://服務器IP地址/XP/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..." 增加一項: #method中的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} headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice=eth0 method=http:\/\/服務器IP地址\/XP\/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 wget http://服務器IP地址/XP/linux/centos/x86_64/6.4/images/pxeboot/initrd.img wget http://服務器IP地址/XP/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..." 增加一項: #method中的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} headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice=eth0 method=http:\/\/服務器IP地址\/XP\/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 wget http://服務器IP地址/XP/linux/centos/x86_64/6.5/images/pxeboot/initrd.img wget http://服務器IP地址/XP/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..." 增加一項: #method中的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} headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice=eth0 method=http:\/\/服務器IP地址\/XP\/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 wget http://服務器IP地址/XP/linux/centos/x86_64/6.6/images/pxeboot/initrd.img wget http://服務器IP地址/XP/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..." 增加一項: #method中的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} headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice=eth0 method=http:\/\/服務器IP地址\/XP\/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 wget http://服務器IP地址/XP/linux/centos/x86_64/6.7/images/pxeboot/initrd.img wget http://服務器IP地址/XP/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..." 增加一項: #method中的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} headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice=eth0 method=http:\/\/服務器IP地址\/XP\/linux\/centos\/x86_64\/6.7\/ lang=en_US keymap=us\ninitrd \/initrd.img.cent.pxe" /boot/grub/grub.conf ;; "8") ##### CentOS 7.0-X86_64 ##### clear mkdir /centos_install cd /centos_install wget http://服務器IP地址/XP/linux/centos/x86_64/6.8/images/pxeboot/initrd.img wget http://服務器IP地址/XP/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..." 增加一項: #method中的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} headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice=eth0 method=http:\/\/服務器IP地址\/XP\/linux\/centos\/x86_64\/7.0\/ lang=en_US keymap=us\ninitrd \/initrd.img.cent.pxe" /boot/grub/grub.conf ;; esac clear printf " ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" printf " + Centos重裝腳本執行成功 +\n" printf " + 請重啓服務器後使用VNC客戶端遠程進行系統安裝 +\n" printf " + VNC服務器地址:$IPADDRESS:1 +\n" printf " + VNC服務器密碼:$PASSWD +\n" printf " ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" read anykey exit done
4、運行結束後檢查運行結果
less /boot/grub/grub.conf
ll /boot/
驗證成功後重啓服務器進行安裝
至此安裝完成