機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
用kickstart遠(yuǎn)程安裝Linux系統(tǒng)
用kickstart遠(yuǎn)程安裝Linux系統(tǒng)
 更新時(shí)間:2009-8-12 16:53:50  點(diǎn)擊數(shù):0
【字體: 字體顏色
 
以下是我用KS遠(yuǎn)程安裝系統(tǒng)的實(shí)踐,如有問題,請(qǐng)跟我聯(lián)系:yonghua_peng@yahoo.com.cn

前言:原有系統(tǒng)是RH Linux 9.0,現(xiàn)想把它遠(yuǎn)程安裝成RH AS3,安裝過(guò)程中不需要任何交互式操作。使用kickstart結(jié)合WEB和DHCP可以做到這一點(diǎn)。kickstart的原理大概這樣:使用要安裝的內(nèi)核鏡像引導(dǎo)后,內(nèi)核會(huì)讀取指定位置的ks配置文件(ks.cfg),在安裝過(guò)程中所需要的各項(xiàng)系統(tǒng)配置(鍵盤,鼠標(biāo),語(yǔ)言,分區(qū)等),都從這個(gè)配置文件里獲取。我在這里使用HTTP方式進(jìn)行安裝,所以要先在網(wǎng)絡(luò)中配置一臺(tái)WEB服務(wù)器,用于下載安裝文件;再配置一臺(tái)DHCP服務(wù)器,因?yàn)樵谙到y(tǒng)安裝之初,它需要先通過(guò)DHCP方式申請(qǐng)一個(gè)IP地址,使自己能聯(lián)到網(wǎng)絡(luò)中,才能從HTTP服務(wù)器上下載文件。

1.在網(wǎng)絡(luò)中配置一臺(tái)http服務(wù)器,例如Apache;以及一臺(tái)DHCP服務(wù)器。
2.將RH AS3的安裝文件上傳到web服務(wù)器的發(fā)布目錄里,包含四個(gè)文件:
rhel-3-U3-i386-as-disc1.iso  rhel-3-U3-i386-as-disc3.iso
rhel-3-U3-i386-as-disc2.iso  rhel-3-U3-i386-as-disc4.iso
3.在發(fā)布目錄里建好目錄結(jié)構(gòu),包括:
  $web/disc1 $web/disc2 $web/disc3 $web/disc4 $web/RedHat $web/RedHat/base $web/RedHat/RPMS
  其中$web代表WEB發(fā)布目錄。
4.將這4個(gè)鏡像文件mount到本地文件系統(tǒng):
mount -o loop -o ro rhel-3-U3-i386-as-disc1.iso disc1
mount -o loop -o ro rhel-3-U3-i386-as-disc2.iso disc2
mount -o loop -o ro rhel-3-U3-i386-as-disc3.iso disc3
mount -o loop -o ro rhel-3-U3-i386-as-disc4.iso disc4
5.進(jìn)入新建的RedHat/base目錄,把第一張盤里的base目錄里的內(nèi)容鏈接過(guò)來(lái):
cd RedHat/base
ln -s ../../disc1/RedHat/base/* .
6.進(jìn)入RedHat/RPMS目錄,把所有盤里面的RPM文件鏈接過(guò)來(lái):
cd RedHat/RPMS
ln -s ../../disc1/RedHat/RPMS/* .
ln -s ../../disc2/RedHat/RPMS/* .
ln -s ../../disc3/RedHat/RPMS/* .
ln -s ../../disc4/RedHat/RPMS/* .
上述過(guò)程可以寫成腳本如下(在WEB服務(wù)器上安裝文件存放的目錄里執(zhí)行):
--------------------------------------------------------
mkdir -p RedHat
cd RedHat
mkdir -p base; mkdir -p RPMS

cd ..
mkdir -p disc{1,2,3,4}
mount -o loop -o ro rhel-3-U3-i386-as-disc1.iso disc1
mount -o loop -o ro rhel-3-U3-i386-as-disc2.iso disc2
mount -o loop -o ro rhel-3-U3-i386-as-disc3.iso disc3
mount -o loop -o ro rhel-3-U3-i386-as-disc4.iso disc4

cd RedHat/base
ln -s ../../disc1/RedHat/base/* .

cd ../RPMS
ln -s ../../disc1/RedHat/RPMS/* .
ln -s ../../disc2/RedHat/RPMS/* .
ln -s ../../disc3/RedHat/RPMS/* .
ln -s ../../disc4/RedHat/RPMS/* .
--------------------------------------------------------
7.創(chuàng)建ks.cfg配置文件,該文件決定安裝或升級(jí)過(guò)程中的選項(xiàng),ks.cfg文件可以放在web發(fā)布目錄下,內(nèi)容如下:
===================================================================================
lang en_US
langsupport zh_CN en_US --default=en_US
keyboard us
mouse
timezone Asia/Shanghai
rootpw 1234
reboot
#upgrade
install
url --url http://192.168.14.202/rhas
#harddrive --partition=sdb1 --dir=rhas
#nfs --server=192.168.14.227 --dir=/home/pyh/rhas
text
bootloader --location=mbr
zerombr yes
clearpart --drives sda --initlabel
part / --fstype ext3 --size 3072 --asprimary --ondisk sda
part swap --size 256 --asprimary --ondisk sda
part /tmp --fstype ext2 --size 256 --ondisk sda
part /home --fstype ext3 --size 1 --grow --ondisk sda
auth  --useshadow  --enablemd5
#network --bootproto=dhcp --device=eth0
network --device=eth0 --bootproto=static --ip=192.168.14.144 --netmask=255.255.254.0 --gateway=192.168.14.15 --nameserver=202.96.128.68 --hostname=test05.188.com
firewall --disabled
skipx

%packages --resolvedeps
@ development-tools
@ kernel-development
@ admin-tools
@ system-tools

%post
/sbin/chkconfig --level 345 sshd on
/sbin/chkconfig --level 0123456  kudzu off
/sbin/chkconfig --level 0123456  cups off
/sbin/chkconfig --level 0123456  autofs off
/sbin/chkconfig --level 0123456  sendmail off
/sbin/chkconfig --level 0123456  atd off
/sbin/chkconfig --level 0123456  iptables off
/sbin/chkconfig --level 0123456  xinetd off
/sbin/chkconfig --level 0123456  portmap off
/sbin/chkconfig --level 0123456  pcmcia off
/sbin/chkconfig --level 0123456  gpm off
/sbin/chkconfig --level 0123456  rhnsd off
/sbin/chkconfig --level 0123456  isdn off
/sbin/chkconfig --level 0123456  nfslock off
/sbin/chkconfig --level 0123456  rawdevices off
/sbin/chkconfig --level 0123456  keytable off
/sbin/chkconfig --level 0123456  apmd off
/sbin/chkconfig --level 0123456  anacron off
/sbin/chkconfig --level 0123456  xfs off
/sbin/chkconfig --level 0123456  netfs off
/sbin/chkconfig --level 0123456  ip6tables off
/sbin/chkconfig --level 0123456  arptables_jf off
/sbin/chkconfig --level 0123456  microcode_ctl off
/sbin/chkconfig --level 0123456  irqbalance off
/sbin/chkconfig --level 0123456  mdmonitor off
/sbin/chkconfig --level 0123456  hpoj off
/sbin/chkconfig --level 0123456  sgi_fam off
/sbin/chkconfig --level 0123456  audit off
/sbin/chkconfig --level 0123456  firstboot off
/sbin/chkconfig --level 0123456  vsftpd off
========================================================================================
解釋:上述配置文件里,第一小節(jié)是kickstart命令,它決定安裝過(guò)程中的選項(xiàng)。值得說(shuō)明的是,本人在這里將安裝方式設(shè)置為install,即重新安裝一個(gè)新系統(tǒng)。如果不選擇install,而選擇upgrade,就會(huì)在原來(lái)系統(tǒng)基礎(chǔ)上進(jìn)行升級(jí),原來(lái)的分區(qū)和文件系統(tǒng),及安裝的軟件包都不會(huì)變。kickstart命令沒有先后順序。第二小節(jié)(%packages)是選擇欲在新系統(tǒng)中安裝的軟件包。第三小節(jié)(%post)定制在系統(tǒng)安裝完成后,執(zhí)行的一些命令,這里的意思是在系統(tǒng)安裝完成后,關(guān)閉所有服務(wù),只開SSH服務(wù)。
關(guān)于kickstart每個(gè)命令的詳細(xì)解釋請(qǐng)參看:http://www.hk.redhat.com/docs/manuals/linux/RHL-9-Manual-CN/custom-guide/s1-kickstart2-options.html
8.在RH AS3第一個(gè)iso文件里的images目錄下,有一個(gè)boot.iso文件,將它再展開,獲得新系統(tǒng)的內(nèi)核鏡像文件,它們是vmlinuz和 initrd.img,將他們拷貝到要安裝系統(tǒng)的/boot目錄下,重命名為:vmlinuz-as3,initrd-as3
9.在要安裝的機(jī)器上,編輯/etc/grub.conf文件,加入內(nèi)容如下:
==========================================================================
title Upgrade to AS3
       kernel /vmlinuz-as3 ro ks=http://192.168.14.202/rhas/ks.cfg
       initrd /initrd-as3
==========================================================================
ks=http://192.168.14.202/rhas/ks.cfg 這行決定配置文件的路徑。
在這個(gè)文件里更改默認(rèn)的啟動(dòng)順序(例如default=1),將新內(nèi)核啟動(dòng)選擇為默認(rèn)。
10.重啟計(jì)算機(jī),過(guò)20分鐘后,一個(gè)新系統(tǒng)就誕生了,你可以通過(guò)SSH連上去進(jìn)行操作。

補(bǔ)充:如果選擇NFS方式或本地硬盤的方式進(jìn)行安裝或升級(jí),原理跟上述是一樣的,不過(guò)讀取安裝文件的方式有些不同。另外,這兩種方式可以直接讀取iso文件,而不必象上面那樣把iso文件展開。
1)如果選擇NFS方式安裝,先要配置NFS服務(wù)器,將安裝鏡像文件(iso文件)放在NFS服務(wù)器上,然后在要安裝的機(jī)器上,mount上這些文件。ks.cfg文件里對(duì)應(yīng)的語(yǔ)句是:nfs --server=192.168.14.227 --dir=/home/pyh/rhas 前者是服務(wù)器IP地址,后者是安裝文件目錄。 /etc/grub.conf文件里對(duì)應(yīng)的是:ks=nfs:192.168.14.227:/home/pyh/rhas/ks.cfg 指定ks配置文件的路徑。
2)如果選擇本地硬盤安裝,那么ks.cfg里對(duì)應(yīng)的地方改成:harddrive --partition=sdb1 --dir=rhas,前者是存放安裝文件的分區(qū),后者是目錄,該分區(qū)的文件系統(tǒng)必須是vfat或ext2格式。grub.conf文件對(duì)應(yīng)的地方改成: ks=hd:sda1/ks.cfg sda1是我的/boot分區(qū),就是說(shuō)將ks.cfg配置文件放在/boot目錄下。如果選擇硬盤安裝,那么安裝文件最好放在系統(tǒng)中的其他物理磁盤上。
  • 上一篇: 淺談Linux文件系統(tǒng)反刪除方法
  • 下一篇: linux經(jīng)典問題之基礎(chǔ)篇
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1