无人值守网络安装Linux
???? Linux操作系統(tǒng)的安裝方法相信很多人已經(jīng)非常熟悉了,一般多以從網(wǎng)絡(luò)中下載iso文件并刻錄一張DVD光盤后從光驅(qū)安裝比較常見(jiàn),但是,當(dāng)您有大批相同配置的電腦需要安裝Linux,或者您的電腦沒(méi)有光驅(qū),那么采用這種方法安裝就會(huì)十分繁瑣,為此,如果能夠充分利用批量電腦的硬件相似性通過(guò)網(wǎng)絡(luò)安裝Linux就要簡(jiǎn)單的多,本文主要講解如何通過(guò)網(wǎng)絡(luò)來(lái)批量安裝Linux操作系統(tǒng),以滿足一般的網(wǎng)吧機(jī)器或者學(xué)校機(jī)房的系統(tǒng)頻繁安裝維護(hù)更新等工作。
主要內(nèi)容包括下面幾個(gè)部分
?一、網(wǎng)絡(luò)PXE啟動(dòng)功能實(shí)現(xiàn)
?? ? ? ?1、Syslinux編譯安裝
?? ? ? ?2、?配置PXE啟動(dòng)目錄結(jié)構(gòu)、菜單、文件
?? ? ? ?3、配置tftpd
?? ? ? ?4、配置dhcpd
?二、自動(dòng)分區(qū)功能實(shí)現(xiàn)
?? ? ? 1、制作特殊格式的軟盤鏡像方法
?? ? ? 2、img文件下載
?? ? ? 3、修改autocad.exe
?三、自動(dòng)安裝功能實(shí)現(xiàn)
?? ? ? 1、RedHat/CentOS
?? ? ? 2、SUSE
?
網(wǎng)絡(luò)PXE啟動(dòng)功能實(shí)現(xiàn)
1、編譯syslinux
下載syslinux4.0
http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-4.00.tar.gz
參考: http://syslinux.zytor.com/wiki/index.php/PXELINUX
$pwd
/soft
$tar xzvf syslinux-4.00.tar.gz
$cd syslinux-4.0
$make
2、配置安裝目錄及啟動(dòng)菜單和文件
具體的分布操作過(guò)程如下。
$mkdir /tftpboot
$chown nobody /tftpboot
$chmod 755 /tftpboot
?
$cd tftpboot???????????????????????????????----PXE啟動(dòng)的遠(yuǎn)程根目錄
$mkdir linux????????????????????????????????----存放Linux系統(tǒng)PXE安裝時(shí)啟動(dòng)文件和nfs安裝的掛載目錄???????????????????????????
$mkdir pxelinux.cfg???????????????????? ----存放啟動(dòng)菜單文件
$mkdir script?????????????????????????????? ----存放SUSE,RedHat/CentOS系統(tǒng)的自動(dòng)安裝腳本文件
$mkdir boot??????????????????????????????? ----存放啟動(dòng)維護(hù)用的鏡像文件和自動(dòng)分區(qū)的鏡像文件
?
$cd /soft/syslinux-4.0
$cd core/pxelinux.0 /tftpboot
$cd gpx/gpxelinux.0 /tftpboot
$cp gpx/pxelinux.gpxe /tftpboot
$cp com32/menu/*.c32 /tftpboot/pxelinux.cfg
$cp com32/modules/reboot.c32 /tftpboot/pxelinux.cfg
$cp com32/modules/chain.c32 /tftpboot/pxelinux.cfg
原理:
啟動(dòng)文件是gpxelinux.0,gpxelinux.0通過(guò)pxelinux.gpxe文件調(diào)用gpxelinux.0
Gpxelinux是開(kāi)源項(xiàng)目
gPXE (formerly Etherboot) is an open-source Preboot Execution Environment (PXE) implementation and bootloader. It can be used to enable computers without built-in PXE support to boot from the network, or to extend an existing PXE implementation with support for additional protocols. While traditional PXE clients use TFTP to transfer data, gPXE adds the ability to retrieve data through other protocols like HTTP, iSCSI and ATA over Ethernet (AoE), and can work with Wi-Fi rather than requiring a wired connection.
具體參見(jiàn): http://en.wikipedia.org/wiki/GPXE
?
$cd /tftpboot/pxelinux.cfg
?
增加下面幾個(gè)菜單文件,內(nèi)容可從下載文件中獲取。
$vi default???????????????????????????????????? ---------------PXE的啟動(dòng)菜單
$vi linuxsetup.menu????????????????????? ---------------Linux系統(tǒng)的安裝菜單
$vi system.menu?????????????????????????? ---------------系統(tǒng)維護(hù)和自動(dòng)分區(qū)的菜單
$vi windowssetup.menu?????????????? ---------------Windows遠(yuǎn)程安裝或克隆的菜單
3、配置tftpd
參照:http://blog.csdn.net/linfengfeiye/archive/2010/07/03/5710650.aspx
?
4、配置dhcpd
主頁(yè):https://www.isc.org/software/dhcp/
vi /etc/dhcpd.conf
#-------------------------------------------------
option domain-name "xxxx.xxxx.xxxx.xxxx";
option domain-name-servers 192.168.0.9;
option lpr-servers rcac;
ddns-update-style none;
default-lease-time 14400;
#----------------tftp-----------------------------
ignore client-updates;
allow booting;
allow bootp;
#--------------------------------------------------
subnet 192.168.0.0 netmask 255.255.255.0 {
option broadcast-address 192.168.0.255;
option routers 192.168.0.9;
range dynamic-bootp 192.168.0.115 192.168.0.190;
default-lease-time 14400;
max-lease-time 172800;
next-server 192.168.0.9;
filename "/gpxelinux.0";
}
其中,xxxx.xxxx.xxxx.xxxx 是你的域名,allow booting和allow bootp用來(lái)支持啟動(dòng),next-server 192.168.0.9指出tftp下載啟動(dòng)文件的服務(wù)器,filename "/gpxelinux.0";指出pxe啟動(dòng)文件,如果你的tftp用了chroot功能,這個(gè)地址是相對(duì)于tftp啟動(dòng)根目錄的地址,如果沒(méi)有,就需要寫全地址。
二、自動(dòng)分區(qū)功能實(shí)現(xiàn)
??? 如果用KickStart或者AutoYast也是可以實(shí)現(xiàn)硬盤分區(qū)的,但是這樣做不太好,因?yàn)橛脖P其他分區(qū)可能需要安裝Windows,如果下一次Linux損壞的時(shí)候重新安裝Linux的時(shí)候又要重新分區(qū),會(huì)破壞Windows數(shù)據(jù)。因此,采用Ghost方法要比較好,可以只在特定的分區(qū)安裝Linux,下一次更新的時(shí)候也不需要?jiǎng)悠渌謪^(qū)數(shù)據(jù)。
??? Ghost方法實(shí)現(xiàn)自動(dòng)分區(qū)的原理就是利用大批量電腦的硬盤容量基本一致,可以將磁盤分好區(qū),格式化好后制做成硬盤鏡像文件保存,利用PXE啟動(dòng)將該文件全自動(dòng)恢復(fù)到其他未分區(qū)的硬盤上,從而實(shí)現(xiàn)其他硬盤的自動(dòng)分區(qū),為了能夠從網(wǎng)絡(luò)啟動(dòng)恢復(fù)硬盤鏡像,需要制作一個(gè)可啟動(dòng)軟盤鏡像,具體的方法如下。
?
1、制作特殊的軟件鏡像:
????可以用WinImage或者是Ultraiso,WinImage只支持最大2.88M,而Ultraiso 高版本可以支持更大的容量,方法是選擇新建->軟件鏡像->選擇大小和啟動(dòng)系統(tǒng)->將所需要文件拷貝到該盤->從文件菜單查看信息獲得c、s、h參數(shù)->保存鏡像文件。我用該方法制作的ima盤在網(wǎng)絡(luò)啟動(dòng)時(shí)總是出現(xiàn)失敗,主要原因可能是系統(tǒng)啟動(dòng)文件的選取不對(duì),最終只好采用了可以啟動(dòng)的maxdos作為母盤來(lái)改寫。
WinImage下載
http://america.winimage.com/download/winima81.exe
WinImage注冊(cè)機(jī)
http://bbs.wuyou.com/attachment.php?aid=55505
ULTRAISO下載
http://p2s.newhua.com/down/uiso9_cn.exe
2、img文件下載
這是我從maxdos母盤來(lái)制作的自動(dòng)分區(qū)鏡像,里面有g(shù)host 11.0 Dos版和一個(gè)硬盤備份文件。
?
http://www.brsbox.com/filebox/down/fc/65339a9b1647d7ec1466527dcc962875
3、修改autoexec.bat
???? 如果您需要不同的硬盤分區(qū)情況,具體做法是,先從自己的機(jī)器上用分區(qū)工具將硬盤分好區(qū),而且全部格式化好,最好采用fat32格式或者ntfs格式,保證ghost能夠識(shí)別,然后運(yùn)用ghost將整個(gè)磁盤備份為client.gho文件,并替換鏡像文件中的相應(yīng)文件,改磁盤的autoexec.bat內(nèi)容如下,如果你有不同的需要,可以參照ghost.exe的詳細(xì)參數(shù)進(jìn)行改寫并覆蓋autoexec.bat,注意你的鏡像制作和恢復(fù)應(yīng)當(dāng)用一個(gè)版本的ghost,以免出錯(cuò)。
?
Autoexec.bat內(nèi)容
@ECHO off
ghost.exe -clone,mode=load,src=a:/client.gho,dst=1 -sure -rb
?
ghost.exe的詳細(xì)參數(shù)參見(jiàn)
http://hi.baidu.com/zgeee/blog/item/3917643ed3fbc13a70cf6c9e.html
Ghost 11.0下載
http://9.jsdx1.crsky.com/200701/SymantecGhost-v11.0H.rar
?
??? 另一個(gè)種解決方案是用gdisk的Dos分區(qū)工具,可以用gdisk命令在Dos批處理中寫好全自動(dòng)分區(qū)腳本后自動(dòng)執(zhí)行,命令可以參照下面這個(gè)一鍵分區(qū)工具
http://gghost.cn/soft/Gdisk_Onekey.rar
二、自動(dòng)安裝功能實(shí)現(xiàn)
?
1、RedHat/CentOS
???? 該類系統(tǒng)采用KickStart腳本來(lái)實(shí)現(xiàn)自動(dòng)安裝, Kickstart 自動(dòng)安裝配置文件ks.cfg 是一個(gè)普通的文本文件,其中含有安裝Linux所需的各項(xiàng)設(shè)置,例如語(yǔ)系、分區(qū)的配置、root 的密碼、等各項(xiàng)安裝時(shí)所需要的設(shè)置值。Red Hat Linux安裝程序也根據(jù)您在安裝過(guò)程中所選擇的選項(xiàng)建立一個(gè)ks.cfg 的參考范例, 該文件會(huì)存放在/root下,比如/root/anaconda-ks.cfg文件。要自己定制ks.cfg文件,可以在vmware里先裝個(gè)centos然后使用kickstart來(lái)制作,默認(rèn)的centos是沒(méi)有安裝kickstart的,可以使用yum來(lái)安裝, yum install -y system-config-kickstart,這樣便可裝kickstart裝到centos 系統(tǒng)中了,裝好后使system-config-kickstart圖形配置完后,將配置文件保存,比如此處保存為centos54-client-ks.cfg。
??? 完成后,將改文件保存在http協(xié)議或者ftp協(xié)議能夠訪問(wèn)到的位置,例如我存放在/tftpboot/scripts下,而在http根目錄中建議一個(gè)到/tftpboot/scripts的鏈接文件scripts,這樣就可以通過(guò)http://yourip/scripts/centos54-client-ks.cfg來(lái)訪問(wèn)所需要的安裝配置文件了。
??? 最后,需要修改pxelinux的啟動(dòng)菜單為下面的形式。
label install centos linux 5.4 64bit
MENU PASSWD yourpasswd
#menu default
menu label install centos 5.4 64bit
kernel linux/centos/5.4/x86_64/vmlinuz
append ksdevice=eth0 /
ks=http://yourip/scripts/centos54-client-ks.cfg /
initrd=linux/centos/5.4/x86_64/initrd.img
注意上面的append是一行。
?
詳細(xì)信息參照下面
CentOS KickStart
http://wiki.centos.org/TipsAndTricks/KickStart
http://www.centos.org/docs/5/html/5.2/Installation_Guide/s1-kickstart2-howuse.html
2、SUSE
??? SUSE系統(tǒng)是用autoyast.xml文件作為配置文件進(jìn)行全自動(dòng)安裝的,一般情況下,如果你安裝SUSE時(shí)勾選了創(chuàng)建 autoyast的話,在/root目錄下會(huì)生成一個(gè)autoyast.xml文件。
???? 如果要修改位自己的autoyast.xml需要安裝autoyast2軟件包,可以用software management 安裝該工具,安裝完成后,從系統(tǒng)菜單中選擇Yast------>Miscellaneous------->Autoinstallation或者從終端中輸入 /sbin/yast2 autoyast即可打開(kāi)配置界面,在該界面可以配置安裝過(guò)程中的主要參數(shù),然后保存為xml文件,也可以從kickstart文件導(dǎo)入來(lái)生產(chǎn)autoyast文件。
我的SUSE Linux安裝菜單如下。
label install suse linux 11.2 64bit
MENU PASSWD rcac
MENU LABEL Install SUSE Linux 11.2 64bit
KERNEL linux/suse/opensuse/11.2/x86_64/linux
APPEND initrd=linux/suse/opensuse/11.2/x86_64/initrd vga=0 textmode=1 install=nfs://192.168.2.1/tftpboot/linux/suse/opensuse/11.2/x86_64/cdrom splash=silent showopts autoyast=http://192.168.2.1/scripts/suse112-64-client.xml
?
?
?
詳細(xì)教程參照下面
AutoYast
http://www.novell.com/coolsolutions/feature/15376.html
?
更詳細(xì)的AutoYast文檔參見(jiàn)系統(tǒng)目錄
/usr/share/doc/packages/autoyast2/html/
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的无人值守网络安装Linux的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 没了5G的华为折叠屏手机2022年卖爆了
- 下一篇: Linux Rsync 服务配置