文章原名: Kickstart無人值守安裝linux系統
怎麼說也是 進階版,當然要有進階的價值 添加了部分注釋 點選跳轉
首先準備一台PC(也可以用vmware虛拟機),用于安裝好linux,httpd、tftp-server、dhcp,Kickstart。另外再找一個帶pxe網卡的pc(或者使用一個vmware虛拟機)用于自動化安裝linux。
1、 我們要安裝rhel 5.4系統,準備好DVD安裝盤,這個pxe伺服器ip為192.168.0.3,子網路遮罩為255.255.255.0,以下操作均在這個機器上。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZwpmLql1TCZDO0IzN1QTOyEzXzkzM0ATNx8CX58CXxATMxAjMvwFduVWboNWY0RXYvwVbvNmLvR3YxUjL1M3Lc9CX6MHc0RHaiojIsJye.jpg)
2、 軟體的安裝可以使用rpm工具,不過要自行解決依賴關系,也可以使用yum工具,不過我們要使用yum工具,必須先建立一個yum源,這裡我們建立一個yum本地源。
首先準備一個至少有3GB大小的分區,我們用于存放rhelCD光牒的内容。
這裡我找了一個/opt分區,把安裝盤的檔案拷貝到/opt/www目錄,挂載DVDCD光牒後執行以下指令:
cp –rp /media/RHEL_5.4 i386 DVD/Server/* /opt/www/
編輯/etc/yum.repos.d/ rhel-debuginfo.repo檔案,增加下面的内容即可
- [Server]
- name=Server
- baseurl=file:///opt/www/Server //存放Server軟體的目錄,根據自己的情況修改
- enabled=1
- gpgcheck=1
這樣本地yum就建立好了,可以使用yum工具了,以下軟體我們嘗試了這兩種安裝工具,可以在安裝時體會下他們的差別。
3、 安裝httpd
執行以下指令安裝
yum install httpd
配置/etc/httpd/conf/httpd.conf檔案,找到DocumentRoot選項,修改為/opt/www
然後重新開機httpd
service httpd restart
4、 安裝tftp-server
進入/opt/www/Server目錄,ls一下就可以看到我們要安裝的tftp-server了,然後安裝下就可以了
安裝後會在/etc/xinetd.d目錄下生成tftp檔案
預設tftp是不會啟動的,我們需要修改tftp檔案,disable = yes改成no
然後重新開機xinetd服務,使tftp服務啟動
lsof –i :69看下,tftp服務已經起來了
5、 進入tftpboot檔案夾,沒有就建立一個
cd /tftpboot/
把pxelinux.0複制到/tftpboot中;
cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
把/opt/www/p_w_picpaths/pxeboot/initrd.img和 vmlinux兩個檔案複制到/tftpboot中;
cp initrd.img vmlinuz /tftpboot/
複制/opt/www/isolinux/*.msg到/tftpboot/中;
在tftpboot中建立一個pxelinux.cfg目錄,把/opt/www/isolinux目錄中的isolinux.cfg複制到pxelinux.cfg目錄中,并改名為default,然後修改default檔案,修改如下:
- default linux
- prompt 1
- timeout 6 //逾時時間,預設600,等得太久了,我們改小
- display boot.msg
- F1 boot.msg
- F2 options.msg
- F3 general.msg
- F4 param.msg
- F5 rescue.msg
- label linux
- kernel vmlinuz
- append initrd=initrd.img ks=http://192.168.0.3/ks.cfg
//ks.cfg是kickstart安裝配置檔案,系統就是按照ks.cfg來安裝的。我們将在後面配置他
。。。。。。。以下略。。。。
以上操作後/tftpboot/下的檔案清單為:
6、 安裝dhcp
拷貝dhcp配置檔案到/etc下,如果有的話就覆寫
配置dhcpd.conf檔案
- ddns-update-style interim;
- ignore client-updates;
- next-server 192.168.0.3; //伺服器IP位址。
- filename "/pxelinux.0"; //PXE得到IP以後的引導檔案
- subnet 192.168.0.0 netmask 255.255.255.0 { //所屬網段及掩碼。
- # --- default gateway
- option routers 192.168.0.254; //路由器IP,可以寫網關IP
- option subnet-mask 255.255.255.0;
- # option nis-domain "domain.org"; //登出
- # option domain-name "domain.org"; //登出
- option domain-name-servers 192.168.0.254; //DNS伺服器IP
- option time-offset -18000; # Eastern Standard Time
- # option netbios-node-type 2;
- range dynamic-bootp 192.168.0.129 192.168.0.253; //IP位址池範圍。
- default-lease-time 21600;
......後面省略 //寫配置檔案的時候注意每句後面的分号(;)不要丢了。
啟動dhcp服務
看看dhcp啟動了嗎
7、 安裝kickstart
使用rpm工具安裝kickstart時會提示先安裝pykickstart,那我們就先安裝pykickstart,然後再安裝kickstart
如果使用yum工具時,會自動找到kickstart依賴的軟體,并安裝。
8、 生成ks.cfg檔案,圖形化界面配置(終端中運作system-config-kickstart指令)
在這裡選擇需要安裝的軟體包
點選“File”→“Save File”,儲存ks.cfg檔案,将它拷貝到/opt/www下。
打開ks.cfg檔案,加入
Key –skip //跳過注冊号輸入,這個很重要
9、 檢查下dhcp,httpd,tftp服務是否正常啟動
在浏覽器裡敲入http://192.168.0.3/ks.cfg看是否可以打開這個檔案
10、 将新機器連入pxe伺服器所在的網絡,如果有多台新機器也沒有問題,隻要交換機口夠多,都插上,啟動電源就可以,我是用vmware虛拟機做的實驗,給電後就自動獲得ip,開始安裝了。
11、 一會就自動完成了,出現以下對話框
重新開機後,這樣就安裝成功了。。
本文出自 “世外之寨” 部落格,請務必保留此出處http://yritech.blog.51cto.com/1504393/475353
附加注釋:
總結一下容易出問題的地方.
第一、pxe,tftp傳輸問題。常見的是如下兩張圖檔。
可以看到IP位址已經有了,但tftp就是過不去。
問題原因:凡是pxe、tftp之類的,都是網絡傳輸問題。
能配置設定到IP位址,不一定就說是能ping的通。
解決方案:如果覺得自己哪裡都沒問題,看一下iptables,關掉。
看一下路由、網關。route -n 看一下。即便IP是在同網段,路由不對也不行。
隻要能出現下面一張圖檔,就說明pxe、tftp沒問題了。
然後是引導安裝系統,需要用到的就是/tftpboot裡面的引導檔案和ks.cfg檔案。
隻要這個頁面過去了,基本上就隻剩ks.cfg檔案了。比如哪句話不合适,或者哪個方面沒提到,導緻系統無法自動處理,隻能暫停自動模式,進入手動模式。
再一個就是檔案位置問題。比如說ks.cfg裡面寫的位置和實際位置不一樣,系統找不到相關檔案,讓手動輸入具體位置等等。說起來這都是ks.cfg配置檔案怎麼寫的問題。
如果說位置問題,需要留意的主要就2個方面。http的根目錄是/var/www/html/;tftp的根目錄是/tftpboot./dhcpd.conf裡面那句話:filename "pxelinux.0"; 有的裡面寫成filename "/pxelinux.0"; 都是不影響的。這就好比是在 / 目錄下通路/etc/目錄時,cd /etc/ 和 cd etc 是一樣的原理。