linux不断安装操作系统,无人值守批量安装linux操作系统
無人值守批量安裝linux操作系統(實驗總結)
每天都看對著電腦的操作系統,有時候出現了什么問題實在解決不了,我們肯定會選擇重做系統的,當然一臺兩臺系統我們還是可以一一搞定,可是我們是否想過要是一次性需要我們安裝10臺,100臺甚至更多臺的操作系統的時候,我們還是會那樣傻乎乎的一臺一臺機械性的重復著這樣的工作嗎?可想而知,答案是否定的,那我們能不能找到很好的方法來解決這個問題呢?答案是肯定的,我們的前輩們肯定都遇到過這種問題他們也使用了很好的方法來解決這個問題.那就是---通過網絡批量安裝操作系統!這樣做的好處就是當你的計算機沒有光驅或者光驅損壞時,或者是沒有安裝介質的時候都是可以安裝上我們的linux操作系統的~超棒O(∩_∩)o 哈哈不過安裝之前我們還是要了解一下相關知識
一.PXE
PXE(Pre-boot Execution Environment)是由Intel設計的協議,它可以使計算機通過網絡啟動。協議分為client和server兩端,PXE client在網卡的ROM中,當計算機引導時,BIOS把PXE client調入內存執行,并顯示出命令菜單,經用戶選擇后,PXE client將放置在遠端的操作系統通過網絡下載到本地運行。
既然是通過網絡傳輸,就需要IP地址;也就是說在其啟動過程中,客戶端請求服務器分配IP地址,之后PXE Client使用TFTP Client 通過TFTP(Trivial File Transfer Protocol)協議下載啟動安裝程序所需的文件。PXE技術與RPL技術不同之處為RPL是靜態路由,PXE是動態路由。RPL是根據網卡上的ID號加上其他記錄組成的一個Frame(幀)向服務器發出請求。而服務器中已有這個ID數據,匹配成功則進行遠程啟動。PXE則是根據服務器端收到的工件站MAC地址,使用DHCP服務為這個MAC地址指定一個IP地址。每次啟動可能同一臺工作站有與上次啟動時不同的IP,即動態分配地址。
二.KickStart
KickStart是一種無人職守安裝的方式。KickStart的工作原理是通過記錄典型的安裝過程中所需人工干預填寫的各種參數,并生成一個名為ks.cfg的文件;在其后的安裝過程中(不只局限于生成KickStart安裝文件的機器)當出現要求填寫參數的情況時,安裝程序會首先去查找KickStart生成的文件,當找到合適的參數時,就采用找到的參數,當沒有找到合適的參數時,才需要安裝者手工干預。這樣,如果KickStart文件涵蓋了安裝過程中出現的所有需要填寫的參數時,安裝者完全可以只告訴安裝程序從何處取ks.cfg文件,然后去忙自己的事情。等安裝完畢,安裝程序會根據ks.cfg中設置的重啟選項來重啟系統,并結束安裝。
三.實驗過程中需要的rpm軟件包
nfs-utils-lib-*
nfs-utils- *
xinetd-*
tftp-server-*
dhcp-*
dhcp-devel-*
pykickstart-*
system-config-kickstart-*
四.實驗過程
配置本機ip地址
圖1
圖2
安裝實驗所需的所有安裝包
圖3
圖4
圖5
圖6
圖7
將本實驗所涉及的所有服務都設置成開機自動啟動
圖8
創建實驗過程中所需要的文件夾
圖9
接下來就是實驗的重點內容了,配置我們所需要的服務
1.dhcp服務
打開/etc/dhcpd.conf文件,由于我們是第一次配置該文件,我們可以將
/usr/share/doc/dhcp*/dhcpd.conf.sample復制成/etc/dhcpd.conf文件.也可以直接在vim編輯器的命令模式下輸入:r /usr/share/doc/dhcp*/dhcpd.conf.sample這樣可以直接進行編輯,這個就需要我們對vim編輯器使用的足夠熟練哈
圖10
圖11
如果是像圖11那樣的配置dhcpd.conf文件,我們在安裝操作系統時是不會成功的,出現的錯誤提示如圖12
圖12
正確的配置方法如圖13:
圖13
2.tftp服務
配置tftp服務,只需要將該文件中的disable一行的yes改成no即可,這個服務的配置文件還算很簡單的啊,呵呵
圖14
3.nfs服務
打開/etc/exports文件
配置內容如圖15
圖15
圖16
4.ks.cfg文件的自動生成
好了,以上服務都配置完成后就是我們的重點角色ks.cfg文件的生成工作了,這個還真有點麻煩,好在我們前面安裝了圖形化配置工具,可以將我們的工作變的簡單一些,不過還有一些技巧性問題我們在后面詳述
在終端輸入:system-config-kickstart
圖17
圖18
圖19
圖20
圖21
圖22
圖23
圖24
圖25
圖26
圖27
圖28
圖29
圖30
圖31是我自己的ks.cfg文件,我已經修改過了
圖31
終于配置完成,記得要將我們的配置文件保存到/kickstart文件夾,這個要與dhcpd.conf文件中定義的文件夾對應,不然肯定還是會出錯的
好了,我們將一些后續工作完成就可以進行測試了,掛載上我們的光盤
使用一下幾條命令來完成
mount /dev/cdrom /mnt/
cp /usr/lib/syslinux/pxelinux.0 /tftpboot
cp /mnt/images/pxeboot/initrd.img /tftpboot
cp /mnt/images/pxeboot/vmlinuz /tftpboot
mkdir /tftpboot/pxelinux.cfg
cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
圖32
編輯我們的/tftpboot/pxelinux.cfg/default文件
將timeout 修改成5(只要小一點就可以了)
然后就是將label linux后面的文件修改成:
kernel vmlinuz
append ksdevice=eth0 load_ramdisk=1 initrd=initrd.img network ks noipv6即可
不過這個文件是只讀文件我們修改完成后要強制保存退出使用命令:wq!
圖33
圖34
我們還要將光盤里面的所有文件都復制到/install文件夾里面
cp –Rv /mnt/* /install
圖35
可是這樣做實在是太耗費時間了,我們可以直接將光盤掛載到/install文件夾里面
圖36
好了,一切配置工作都已經完成了.我們重新啟動所以服務
圖37
五.測試安裝過程
打開我們的測試機器,將其設置成從網絡啟動
圖38
出現這個畫面可想而知我們的實驗成功了
以下是安裝過程中的截圖
圖39
圖40
圖41
圖42
圖43
圖44
圖45
安裝完成自動重啟計算機
圖46
成功進入安裝完成的操作系統
圖47
六.安裝過程及配置文件出錯解決方案
問題一:我們的tftp服務器無法打開,這個錯誤困擾了我n久,就是這一個小小的錯誤導致我來來回回重新做了n次測試,最后終于找到解決方法了,原來是我的服務器的防火墻打開了,我將防火墻關閉,一切問題得以解決,汗….
圖48
圖49
圖50
問題二:tftp服務器無法連接,解決方案就是我們的dhcpd.conf文件中的next-server配置一定要指向我們的tftp服務器
圖51
問題三:無法下載我們的ks.cfg文件,這個錯誤的解決方法就是將我們的ks.cfg文件的權限修改一下,讓它具有讀寫執行的權限
圖52
圖53
問題四:我們5版的光盤是需要填寫序列號的,可是通過圖形界面生成的ks.cfg文件是沒有跳過序列號的,怎么解決呢?我們自己添加一條記錄讓它自動跳過就行了啦
# Skip the key number
key –skip
圖54
問題五:不能自動初始化磁盤,我們可以在ks.cfg文件中添加一條記錄
zerombr yes
圖55
問題四和問題五的解決方案截圖
圖56
七.實驗總結
筆者最大的心得就是,出錯并不可怕,大不了從頭在來,多做幾次從中找出其中的問題.為了測試,我前前后后重啟系統足有四五十次,來來回回從新搭建服務器足有十幾次之多!這樣更能讓我體會到實驗的細節問題,更能加深我以后排錯的能力~由于翻閱查找了n多的blog和文檔,如有雷同,純屬巧合……共同學習!
總結
以上是生活随笔為你收集整理的linux不断安装操作系统,无人值守批量安装linux操作系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 终端 画圆,16个圆桌面Li
- 下一篇: arm-buildroot-linux-