茫茫網海中的冷日 - 對這文章發表回應
茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1729843 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
F09_823.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

對這文章發表回應

發表限制: 非會員 可以發表

發表者: 冷日 發表時間: 2010/6/11 13:03:31
作者: 出處:Unix愛好者家園unix-cd.com 更新時間: 2005年07月21日

很多時候,我們希望能自動安裝RedHat Linux , 例如計算機教室、Linux集群系統,一次得安裝多台Linux 的需求,如果一台一台利用光盤慢慢安裝,豈不費時費力。為了滿足這種需求,Red Hat 發展出kickstart 的安裝方式。藉由使用 kickstart,系統管理員只需建立一個自動安裝配置文件(ks.cfg),其中含有安裝Red Hat Linux 所需回答的所有設置值,如此一來系統便會根據這個文件來完成安裝的工作。

簡介

ks.cfg 文件可以存放在某台網絡上的服務器上,以讓欲安裝Linux 的計算機來讀取它。而且通常我們也會將RedHat 光盤的內容複製至這台服務器,並將內容共享出來,如此利用Kickstar 網絡安裝的方式便可很快速地安裝多台Linux,這系統管理員帶來很大的方便。

Instatllation Server

Kickstart 的安裝,安裝的來源可以是本機的光驅、硬盤或透過 NFS,FTP 或 HTTP 來進行安裝,利用NFS、FTP、HTTP 網絡安裝的方式是較有效率的,所以我們首先得先配置一台Installation Server,就是將4 片光盤的內容複製至Server 上並利用NFS、FTP 或HTTP 將其共享出來。通常Installation Server 會同時擔任DHCP Server。所以在實作kickstart 自動安裝之前我們得先配置這台Installation server。

實戰演練一:配置Installation Server

測試環境:

RedHat Enterprise ES 3.0 版 (ip 設置為192.168.0.254)
必須安裝以下套件:
nfs-utils*.rpm
vsftpd*.rpm
httpd*.rpm
dhcp*.rpm

1.將RHEL ES 3.0 安裝所需RPM 全部copy 至Server 上

放入第1~4片CD 執行以下命令
#mount /mnt/cdrom
#cp –af /mnt/cdrom/RedHat /var/ftp/pub

重複將4 片內容全部copy 至Installation Server 上的/var/ftp/pub
# ln –s /var/ftp/pub /var/www/html/pub

將 /var/www/html/pub 指向 /var/ftp/pub

2.利用各種方式將安裝文件共享出來

NFS 法
#vi /etc/exports 加入此行
/var/ftp/ftp
#service nfs start
FTP 法
#service vsftpd start
HTTP 法
# service httpd start

3.建立DHCP server
#cp /usr/share/doc/dhcp-3.0pl2/dhcpd.conf.sample /etc/dhcpd.conf
# more /etc/dhcpd.conf 內容如下暫時不用修改
ddns-update-style interim;
ignore client-updates;
subnet 192.168.0.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option nis-domain "domain.org";
option domain-name "domain.org";
option domain-name-servers 192.168.1.1;
option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 192.168.0.128 192.168.0.254;
default-lease-time 21600;
max-lease-time 43200;

#service dhcpd restart

kickstart 自動安裝配置文件 (ks.cfg)

Kickstart 自動安裝配置文件ks.cfg 是一個普通的文本文件,其中含有安裝Linux 所需的各項設置,例如語系、分區的配置、root 的密碼、等各項安裝時所需要的設置值。Red Hat Linux 安裝程序也根據您在安裝過程中所選擇的選項建立一個ks.cfg 的參考範例, 該文件會存放在 /root/anaconda-ks.cfg。下面是筆者安裝Installation Server 時系統所產生的anaconda-ks.cfg,ip 為「192.168.0.254」,主機名稱為「server.example.com」,套件選擇為「全部安裝」。
# Kickstart file automatically generated by anaconda.
install
lang en_US.UTF-8
langsupport --default en_US.UTF-8 zh_TW.Big5 en_US.UTF-8
keyboard us
mouse genericwheelps/2 --device psaux
xconfig --card "ATI Mach64 3D Rage IIC" --videoram 4096 --hsync 31-60
--vsync 56-75 --resolution 1024x768 --depth 24 --startxonboot
--defaultdesktop gnome
network --device eth0 --bootproto static --ip 192.168.0.254 --netmask
255.255.255.0 --gateway 192.168.0.254 --nameserver 192.168.0.254
--hostname server.example.com
rootpw --iscrypted $1$HBU/aBDd$/LetXZ5O.Em6gkA4bl5ZS.
firewall --disabled
authconfig --enableshadow --enablemd5
timezone Asia/Taipei
bootloader --location=mbr
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
#clearpart –all
#part /boot --fstype ext3 --onpart hda1
#part / --fstype ext3 --onpart hda2
#part swap --onpart hda3
#part /home --fstype ext3 --onpart hda5

%packages
@ everything
kernel
grub
%post

ks.cfg 的語法稍後再做介紹,我們可以修改 /root/anaconda-ks.cfg 來產生符合需求的ks.cfg。不過可不是一件容易的事,筆者介紹另一個圖形工具「ksconfig」,利用它來產生ks.cfg

ksconfig 圖形工具

激活Kickstart 設置程序,請選擇主選單->系統工具->Kickstart。或直接在終端窗口鍵入「ksconfig」,Kickstart 設置程序窗口畫面如圖1。

● 基本信息設置

Kickstart 右邊第一個設置項目為「基本信息設置」。而在左邊的窗口是列出其它信息的畫面選項。點選在左邊的項目相對應的設置畫面將會展開在右邊的Kickstart 設置程序窗口。基本設置字段有:

語言:點選右邊的下拉式選單中的系統默認語言。
鍵盤:在右邊的下拉式選單中選取用於系統上的鍵盤類型。
鼠標:在右邊的下拉式選單中選取用於系統上的鼠標形式。假如你的鼠標是兩鍵式鼠標並且想仿真三鍵式鼠標,請勾選「仿真三鍵式鼠標」來摸擬。
時區:右邊的下拉式選單中選取系統所在時區的時間。
root 密碼:輸入系統管理者root 密碼。請注意默認值是以加密形式儲存密碼。
語系支持:如果你想安裝額外的語繫在你的系統之上可勾選語系清單。
安裝完成後重新啟動:默認是安裝完成後重新啟動。
在文字模式執行安裝:若移除此勾選項為系統默認的圖型模式安裝。
在互動模式執行安裝:假如你想使用交互式模式來安裝,請勾選此項。這個方法可以讓你及時瞭解你所勾選的安裝畫面。你需要點選下一步繼續下一個畫面。
安裝方法

在安裝畫面中,你可以選取將要執行的安裝種類。你可以選擇一個全新安裝或者點選單選按扭來選取升級。

你有幾種安裝媒體可做選擇。系統默認是選取CD-ROM。其它的選項尚有:

NFS:假如你選擇此種方式,將會有兩個額外的字段顯示出要求你輸入NFS服務器名稱及使用NFS 服務器的目錄位置。配合Installation Server 這裡應填入,NFS 服務器「192.168.0.254」,NFS 目錄「/var/ftp/pub」
FTP:假如你選擇此種方式,將會有四個額外的字段顯示出來。你必需輸入FTP 服務器名稱(192.168.0.254)和使用FTP 服務器的目錄位置(/pub)。你也有機會去提供一組FTP 使用者名稱和密碼按照所點選的對話框並輸入適合的信息。
HTTP:假如你選擇此種方式,將會有兩個額外的字段顯示出需要你輸入HTTP 服務器名稱(192.168.0.254)和使用HTTP 服務器的所在目錄(/pub)。
硬盤:假如你選擇此種方式,將會有兩個額外的字段顯示出要求你輸入硬盤分區及使用硬盤目錄的位置。
「開機管理程序選項」及「分區信息」就根據讀者自己的需求去設置,「網絡信息設置部份」記得設置成DHCP,這樣才可讓不同的機器均可使用這個配置文件。

「選取套件」這個部份,你能選取你想要安裝的套件到你的系統上。請點選套件名稱前的復選框。默認是安裝「自動解決相依性問題」,假如你有額外需求可安裝額外套件。如果勾選此項,系統安裝套件時如遇到相依性問題並不會自動安裝跟此套件相依的套件,如此一來可能造成此套件無法正常運作,所有最好勾選「自動解決相依性」。

假如你想在安裝結束之後執行命令在你的系統上,你可以輸入命令在畫面中指定的區域內。例如筆者希望安裝結束後設置 /etc/resolv.conf ,所以在此區域輸入:

echo 「nameserver 192.168.0.254」 >> /etc/resolv.conf

最後選擇「文件」-> 「儲存文件」默認文件名便是ks.cfg。筆者所產生的ks.cfg內容如下:
#Generated by Kickstart Configurator
#System language
lang zh_TW.Big5
#Language modules to install
langsupport en_US --default=zh_TW.Big5
#System keyboard
keyboard us
#System mouse
mouse generic3ps/2
#Sytem timezone
timezone Asia/Taipei
#Root password
rootpw --iscrypted $1$f97d093B$OY9uvHS/HvLNlC4m8xeTB1
#Reboot after installation
reboot
#Use text mode install
text
#Install Red Hat Linux instead of upgrade
install
#Use NFS installation Media
nfs --server=192.168.0.254 --dir=/var/ftp/pub
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr yes
#Partition clearing information
clearpart --all --initlabel
#Disk partitioning information
part /boot --fstype ext3 --size 256
part / --fstype ext3 --size 6000
part swap --size 512
#System authorization infomation
auth --useshadow --enablemd5
#Network information
network --bootproto=dhcp --device=eth0
#Firewall configuration
firewall --disabled
#Do not configure XWindows
skipx
#Package install information
%packages --resolvedeps
@ X Window System
@ GNOME Desktop Environment
@ Editors
@ Server Configuration Tools
@ Web Server
@ Mail Server
@ Windows File Server
@ DNS Name Server
@ FTP Server
@ Network Servers
%post
echo "nameserver 192.168.0.254" >> /etc/resolv.conf

kickstart 語法

接下來探討ks.cfg 的相關參數,這些參數筆者將依上述ks,cfg 出現的先後順序來討論,有些參數並不是一定要設置。完整的kickstart 參數意義可參考下列網址。

http://www.redhat.com/docs/manuals/enterprise/RHEL-3-Manual/sysadmin-guide/s1-kickstart2-options.html

ks.cfg 文件由三個部份皆組成:
command 區段—此部份包含了必要安裝選項
packages 區段—列出欲安裝套件
%pre and %post 區段
command 區段
■lang(必要):安裝時所使用的語言
例如:安裝過程中選用中文語言,lang zh_TW.Big5
■langsupport (必要):指定系統使用的語言。假如你安裝一至多國語系,你必需使用默認選項去指定默認語言。語法為:
例如:langsupport --default en_US.UTF-8 zh_TW.Big5 en_US.UTF-8
■鍵盤(必要):設置系統鍵盤的種類。語法為:keyboard us
■鼠標(必要):設置鼠標。語法為:
mouse- -device=ttvS0(鼠標識別裝置位置)- - emulthree(仿真三個按鍵)generics/2(定義鼠標種類)
■timezone(必要) 設置系統時區。
timezone Asia/Taipei (指定你的時區位置)
■設置系統鍵盤的種類。語法為:keyboard us
■鼠標(必要):設置鼠標。語法為:
mouse- -device=ttvS0(鼠標識別裝置位置)- - emulthree(仿真三個按鍵)generics/2(定義鼠標種類)
■xconfig(非必要):在安裝過程中手動設置X,假如你不想安裝X,你不應該使用此選項。命令的格式為:
■xconfig - - card(顯示卡類別)- - videoram(指定顯示卡記憶容量)- - hsync(指定屏幕水平掃瞄頻率)- - vsync(指定屏幕垂直掃瞄頻率)- - resolution(指定屏幕分辨率) - - depth(指定X 窗口系統彩度)- - startxonboot (假如你想在系統開機時激活X 時使用)- - defaultdesktop gnome(或kde)(指定默認桌面)。
■install (非必要):告知系統安裝一個新的安裝。這是默認模式,因此一個新的安裝不需再選用這個命令。接著您必需指定安裝方式,可以是cdrom、harddrive、nfs 或url。
■cdrom
■harddrive—partition=your partition –dir=/your directory path
-- partition = 來源分區
-- dir = Red Hat 子目錄
(請確定你所鍵入來源分區和子目錄信息的正確性)。
■nfs – server—your server –dir=/your directory path
-- server = 指定安裝來源服務器
-- dir = Red Hat 子目錄
(請確定你所鍵入來源分區和子目錄信息的正確性)。
■url – url http://your server/dir
使用HTTP 進行安裝
■url – url ftp://your username:password@your server/dir
使用FTP 進行安裝
■rootpw (必要) 設置一組系統root 密碼。
rootpw - - iscrypted (表示密碼已被加密) password
■firewall(非必要) 提供安全性等級來保護系統。
■authconfig (必要) 設置系統認證選項。命令格式:
- -enablemd5 (使用md5 編碼使用者密碼)
- -enableshadow (使用shadow 密碼)
■bootloader (必要) 指定開機管理程序的位置和傳遞任何kernel 選項。默認開機管理程序為GRUB,但是你也能選擇LILO 開機管理程序來取代GRUB。命令格式為:
- - location=mbr (指定開機管理程序的位置)
- -append=(指定要傳遞的核心參數)。
- -useLilo (使用LILO 為開機管理程序)。
■clearpart (非必要)告知系統移除系統上的分區。你可以使用clearpart 移除Linux 分區以及移除所有的分區,或者你也能指定你想要移除分區的磁碟機。命令格式為:
-- linux (移除所有Linux 分區)
- - all (移除系統上所有的分區)
-- drives = (指定要移除分區的磁盤驅動器)
■Part (必要) 安裝時是必要的,升級時請忽略。使用這個命令你能為系統建立分區。

package 區段
安裝一個新的系統,你必需選擇你想安裝的套件。選擇欲安裝的套件是使用%packages 命令。套件可分為單一套件或者是套件組。你能在第一片Red Hat安裝光盤下的/base/comps.xml 尋找群組套件清單。

通常,只需列出套件組不需要列出單一套件。注意!默認之下core 和base 群組是被選取的,所以也不需要在 %packages 這個區段下去指定它們。

如同利用ksconfig 所產生出來的ks.cfg %packages 區段中套件組是一行指定一個,以@節號開頭,後面加上一格空白接下來是完整群組名稱就如同comps.xml 文件所指定。如果個別單一套件並列出該單一套件名,不加上額外的字符。

套件組是一行指定一個,以@節號開頭,後面加上一格空白接下來是完整群組名稱就如同comps.xml 文件所指定。如果是個別單一套件則列出該單一套件名,前面不需加上額外的字符。

%package 有三個選項可以設置:
◆- -resolvedeps
決解自動相依性問題及安裝套件。建意選項,在安裝中由於沒使用自動決解相依性,若有相依性問題可能會造成中止安裝並且做提示響應。
◆- -ignoredeps
你選擇安裝套某套件但乎略它的相依性,可能造成此套件無法運作,尤其是此套件需要其它相依的套件。
◆—ignoremissing
標示忽視安裝遺失套件及群組並且也不做提示響應。

%pre and %post 區段
%pre 區段內可填入在開始安裝操作系統需要先執行的工作。%post 命令傳遞到系統上執行必須在Kickstart 安裝完成後。能有效的執行命令去安裝其它的軟件或者設置系統信息。

實戰演練二:利用ks.cfg 自動安裝系統

Floppy + RHEL CD1

1. 將之前利用ksconfig 所產生的ks.cfg copy 至磁盤上
#mount /mnt/cdrom
#cp ks.cfg /mnt/floppy
#umount /mnt/floppy

2. 至欲安裝Linux 的機器上,放入磁盤並置入RHEL ES 第一片光盤,然後利用光盤開機,出現「boot:」提示符號時,鍵入:
boot: linux ks=floppy

告訴安裝程序ks.cfg 位於磁盤上,此時安裝程序便會根據ks.cfg 的內容自動安裝Linux。

kickstart CD

經過上述的練習,讀者一定會覺得不甚方便,除了需要一片磁盤外還得放入RHEL 第一張光盤。難道沒有辦法整合至一張光盤上嗎?

製作這整合光盤片的操作步驟如下:

1.放入Red Hat Linux 第一片安裝光盤片到光驅中。在命令提示列下輸入掛載光驅命令:
# mount /mnt/cdrom

2.從第一片安裝光盤片中複製 isolinux 目錄到你的硬盤上。你可以先行建立暫存目錄來存放islolinux 的目錄。筆者建立了一個 /root/tmp。
#mkdir /root/tmp
#cp -r /mnt/cdrom/isolinux/ /root/tmp/

3.將原先所產生的ks.cfg 文件複製到此張開機光盤片上,請將ks.cfg 文件複製到您先前在本機硬盤上所建立的暫存目錄 /isolinux 之下。命令為:
#cp /root/ks.cfg /root/tmp/isolinux/

修改開機光盤的自動執行文件isolinux.cfg 指定ks.cfg 的所在。
# vi /root/tmp/isolinux/isolinux.cfg

將前三行中的第一行default linux 改為default linux ks=cdrom,然後刪除prompt 及timeout。
default linux
prompt 1
timeout 600
改為
default linux ks=cdrom

4.使用這個命令來建立ISO 映像文件:
# cd /root/tmp
# mkisofs -o ks.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T isolinux/ (此命令應該輸入在同一行)

5.最後一步驟是將您所建立的映像文件ks.iso 用燒錄軟件以「Burn Image」燒錄映像文件的方式製作成光盤。

6.將這張整合的光盤放入機器中,由光盤開機,安裝程序便會自動安裝操作系統。

後記

如果把kickstart 的技術加上PXE 技術,那麼就連光盤都不用製作。可直接利用網絡開機就可自動安裝操作系統。在實務上,kickstart 的運用不僅止於僅止於計算機教室,像Linux Cluster 叢集系統,一次需要上百台機器,其實筆者看過的解決方案其實骨子都離不開kickstart 的原理,所以其實kickstart 的應用是蠻多樣化,其它的應用有待各位讀者去發揮!
作者:IBM 林彥明(Alex Lin)

原文出處:用kickstart 自動安裝Linux - Unix 愛好者家園
內容圖示
url email imgsrc image code quote
樣本
bold italic underline linethrough   












 [詳情...]
validation picture

注意事項:
預覽不需輸入認證碼,僅真正發送文章時才會檢查驗證碼。
認證碼有效期10分鐘,若輸入資料超過10分鐘,請您備份內容後,重新整理本頁並貼回您的內容,再輸入驗證碼送出。

選項

Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|