批量自動安裝軟件介紹html
kickstart
是一種無人值守的安裝方式,工做原理是在安裝過程當中記錄人工干預填寫的各類參數,並生成以個名爲ks.cfg(自動應答文件)的文件,若是在自動安裝過程當中出現要填寫參數的狀況,安裝程序首先會去查找ks.cfg文件,若是找到合適參數,就採用,若是沒有找到,便會彈出對話框提示手動安裝,
因此,若是ks.cfg文件涵蓋了安裝過程當中全部須要填寫的參數,那麼安裝者徹底能夠只告訴安裝程序從何處下載,ks.cfg文件。
cobbler
集中和簡化了經過網絡安裝操做系統須要使用到的DHCP和TFTP和DNS服務的配置,cobbler不只有一個命令行界面,還有web界面,大大下降了使用者的入門水平,是基於kickstart的二次開發
什麼是PXE?node
PXE(preboot execute environment,預啓動執行環境)是由Intel公司開發的最新技術,工做於Client/Server的網絡模式,支持工做站經過網絡從遠端服務器下載映像,並由此支持經過網絡啓動操做系統,在啓動過程當中,終端要求服務器分配IP地址, 再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)協議下載一個啓動軟件包到本機內存中執行,由這個啓動軟件包完成終端(客戶端)基本軟件設置,從而引導預先安裝在服務器中的終端操做系統。 PXE能夠引導多種操做系統,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux系列系統等。
通俗來說:PXE是預啓動環境,經過網絡接口啓動計算機,不依賴本地存儲設備,(如硬盤)或者本地已安裝的操做系統,爲C/S工模式,PXE客戶端會調用網際協議-IP,用戶數據報協議-UDP,動態主機設定協議-DHCP,小型文件傳輸協議-TFTP,
因此PXE是自動化安裝的前提!
PXE引導相關角色說明
PXE做用: 引導裝機(負責安裝部分)
Kickstart做用: 將安裝系統的過程當中經過ks.cfg文件中的配置信息,實現自動安裝配置達到無人值守自動安裝;(負責自動應答部分,配置文件ks.cfg)
TFTP: 支持PXE 引導的網卡中從tftp服務器端下載pxelinux.0文件、vmlinuz、initrd.img等內核引導文件;
DHCP: PXE引導過程當中獲首先獲取IP地址,並提供pxelinux.0文件位置;
HTTP: 用於下載ks.cfg以及系統鏡像文件
PEX工做流程
1.PXE客戶端向DHCP服務器發送UDP廣播請求ip地址
2.DHCP服務端提供相應信息。這個響應信息包含客戶端分配的IP地址,pxelinux啓動程序(TFTP服務器的)位置,以及配置文件
3.PXE客戶端向TFTP服務器請求下載啓動文件。客戶端收到服務端的迴應後,會迴應一個幀,以請求傳送啓動所須要的文件,這些啓動文件包括:pxelinux.0(先執行,並告訴pxe要啓動一個配置文件) pxelinux.cfg/default(返回配置文件,並執行,告訴pxe請求vmlinuz) vmlinuz initrd.img等文件
4.TFTP響應並傳送文件。當服務器端收到客戶端的請求後,他們之間將有更多信息在客戶端與服務端之間做應答,用以決定啓動參數,bttorom由tftp通信協議從boot server下載啓動安裝程序所必須的文件,default下載完成後,會根據該文件中定義的引導順序,啓動安裝
5.PXE向http服務器請求自動應答文件。客戶端經過pxrlinux.cfg/default文件成功的引導linux安裝內核後,安裝程序首先必須肯定你經過什麼安裝介質來安裝系統,若是是網絡安裝,則會在這個時候初始化網絡,並定位安裝位置,接着會讀取default文件中指定的自動應答文件,ks,cfg所在位置,根據該文件位置請求下載該文件
6.客戶端安裝操做系統。將ks.cfg文件下載回來後,經過該文件找到os server並按照指定該我就按的配置請求下載安裝過程當中須要的軟件包,os server和客戶端創建鏈接後將開始傳輸軟件包python
PXE工做原理圖(通常在網卡上面都有)linux
pxe和kickstart工做概述ios
1.往卡上的pxe芯片有512字節,存放shcp的tftp的客戶端
2.啓動,選擇網卡啓動
3.pxe上的dhcp客戶端會向dhcp服務端,申請IP地址
4.dhcp服務器分配給他ip地址的同時,經過如下字段,告知pxe,tftp的地址,和pxe要下載的文件
a).next-server 172.16.221.128
b).filename 'pxelinux.0'
5.pxelinux.0告訴pxe要下載的配置文件是pxelinux.cfg目錄下面的ks.cfg
6.pxe下載並根據配置文件的內容下載必須的文件,並經過ks.cfg開始安裝系統web
服務配置redis
首先關閉防火牆和selinux,並重啓(針對kickstart服務端)
DHCP服務配置
DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)一般被應用在大型的局域網絡環境中,主要做用是集中的管理、分配IP地址,使網絡環境中的主機動態的得到IP地址、網關地址、DNS服務器地址等信息,並可以提高地址的使用率。
yum install -y dhcp
rpm -ql dhcp |grep "dhcpd.conf" #查看配置文件位置
subnet 172.16.221.0 netmask 255.255.255.0 {
range 172.16.221.100 172.16.221.200; # 可分配的起始IP-結束IP
option subnet-mask 255.255.255.0; # 設定netmask
default-lease-time 21600; # 設置默認的IP租用期限
max-lease-time 43200; # 設置最大的IP租用期限
next-server 172.16.221.128; # 告知客戶端TFTP服務器的ip
filename "/pxelinux.0"; # 告知客戶端從TFTP根目錄下載pxelinux.0文件
}
systemctl start dhcpd.service #啓動dhcp服務
netstat -tunlp|grep dhcp #查看是否啓動成功
** 原本軟件裝完後都要加入開機自啓動,但這個Kickstart系統就不能開機自啓動,並且用完後服務都要關閉,防止將來重啓服務器自動重裝系統了。**shell
TFTP服務配置
TFTP(Trivial File Transfer Protocol,簡單文件傳輸協議)是TCP/IP協議族中的一個用來在客戶機與服務器之間進行簡單文件傳輸的協議,提供不復雜、開銷不大的文件傳輸服務。端口號爲69。
udp協議,端口號69
yum -y install tftp-server
vim /etc/xinetd.d/tftp #配置文件路徑
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot # 指定目錄,保持默認,不用修改
disable = no #由原來的yes改成no
per_source = 11
cps = 100 2
flags = IPv4
}
systemctl start tftpd #啓動tftp服務
netstat -tunlp|grep 69 #查看是否啓動成功vim
HTTP服務配置
能夠用Apache或Nginx提供HTTP服務。Python的命令web服務不行,會有報錯。windows
yum -y install httpd
sed -i "277i ServerName 127.0.0.1:80" /etc/httpd/conf/httpd.conf
systemctl start httpd
mkdir /var/www/html/CentOS-7
mount /dev/cdrom /var/www/html/CentOS-7/
HTTP服務配置
能夠用Apache或Nginx提供HTTP服務。Python的命令web服務不行,會有報錯。
yum -y install httpd
sed -i "277i ServerName 127.0.0.1:80" /etc/httpd/conf/httpd.conf
systemctl start httpd
mkdir /var/www/html/CentOS-7
[root@linux-node1 ~]# mount /dev/cdrom /var/www/html/CentOS-7/ #只要把安裝光盤內容能經過web發佈便可
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@linux-node1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 2.4G 16G 14% /
tmpfs 491M 16K 491M 1% /dev/shm
/dev/sda1 190M 36M 145M 20% /boot
/dev/sr0 3.7G 3.7G 0 100% /var/www/html/CentOS-7
# 無論怎麼弄,只要把安裝光盤內容能經過web發佈便可。由於是演示,若是複製鏡像就有點浪費時間。但生產環境就必定要複製了,光盤讀取速度有限。
瀏覽器訪問http://10.0.0.7/CentOS-6.7/
檢驗配置是否正確。
配置支持PXE啓動的程序
syslinux是一個功能強大的引導加載程序,並且兼容各類介質。SYSLINUX是一個小型的Linux操做系統,它的目的是簡化首次安裝Linux的時間,並創建修護或其它特殊用途的啓動盤。若是沒有找到pxelinux.0這個文件,能夠安裝一下。由於系統最小化安裝是沒有pxelinux.0這個文 件的,因此要安裝一下
yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ tftp根目錄
# 複製啓動菜單程序文件
cp -a /var/www/html/CentOS-7/isolinux/* /var/lib/tftpboot/
ls /var/lib/tftpboot/
boot.cat grub.conf isolinux.bin memtest splash.jpg vesamenu.c32
boot.msg initrd.img isolinux.cfg pxelinux.0 TRANS.TBL vmlinuz
# 新建一個pxelinux.cfg目錄,存放客戶端的配置文件。
mkdir -p /var/lib/tftpboot/pxelinux.cfg
cp /var/www/html/CentOS-7/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
虛擬機中手動安裝演示(注意在虛擬機中安裝時,虛擬機設置網絡模式設置成橋接,在虛擬機的系統裏面網絡模式要設置成nat才能完成安裝)
配合虛擬機演示講解default文件。新建一個虛擬機,注意centos7.3以上內存須要給2G。,而且配置文件default裏面還要修改一下
[root@linux-node1 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default default vesamenu.c32 # 默認加載一個菜單 #prompt 1 # 開啓會顯示命令行'boot: '提示符。prompt值爲0時則不提示,將會直接啓動'default'參數中指定的內容。 timeout 600 # timeout時間是引導時等待用戶手動選擇的時間,設爲1可直接引導,單位爲1/10秒。 display boot.msg # 菜單背景圖片、標題、顏色。 menu background splash.jpg menu title Welcome to CentOS 6.7! menu color border 0 #ffffffff #00000000 menu color sel 7 #ffffffff #ff000000 menu color title 0 #ffffffff #00000000 menu color tabmsg 0 #ffffffff #00000000 menu color unsel 0 #ffffffff #00000000 menu color hotsel 0 #ff000000 #ffffffff menu color hotkey 7 #ffffffff #ff000000 menu color scrollbar 0 #ffffffff #00000000 # label指定在boot:提示符下輸入的關鍵字,好比boot:linux[ENTER],這個會啓動label linux下標記的kernel和initrd.img文件。 label linux # 一個標籤就是前面圖片的一行選項。 menu label ^Install or upgrade an existing system menu default kernel vmlinuz # 指定要啓動的內核。一樣要注意路徑,默認是/tftpboot目錄。 #append initrd=initrd.img # 指定追加給內核的參數,initrd.img是一個最小的linux系統 append initrd=initrd.img method=http://172.16.221.128/CentOS-7/ #上面的是默認的 label vesa menu label Install system with ^basic video driver kernel vmlinuz append initrd=initrd.img nomodeset label rescue menu label ^Rescue installed system kernel vmlinuz append initrd=initrd.img rescue label local menu label Boot from ^local drive localboot 0xffff label memtest86 menu label ^Memory test kernel memtest append -
注意:url方式,使用NFS的寫法nfs:10.0.0.1:/data/sys/kickstart/ks.cfg
虛擬機中自動安裝演示
#編寫本身適合裝機的ks.cfg文件
install url --url="http://172.16.221.128/CentOS-7/" text lang en_US.UTF-8 keyboard us zerombr bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet" network --bootproto=dhcp --device=eth0 --onboot=yes --noipv6 --hostname=CentOS6 timezone --utc Asia/Shanghai authconfig --enableshadow --passalgo=sha512 rootpw --iscrypted $6$X20eRtuZhkHznTb4$dK0BJByOSAWSDD8jccLVFz0CscijS9ldMWwpoCw/ZEjYw2BTQYGWlgKsn945fFTjRC658UXjuocwJbAjVI5D6/ clearpart --all --initlabel #part /boot --fstype=ext4 --asprimary --size=200 part swap --size=4096 part / --fstype=ext4 --grow --asprimary --size=200 firstboot --disable selinux --disabled firewall --disabled logging --level=info reboot %packages @base @compat-libraries @debugging @development tree nmap sysstat lrzsz dos2unix telnet
#可選,就是系統安裝完成以後的系統優化。在post裏面也能夠執行命令,後面必須加end %post wget -O /tmp/optimization.sh http://172.16.221.128/ks-config/optimization.sh &>/dev/null /bin/sh /tmp/optimization.sh %end
關鍵字 含義 install 告知安裝程序,這是一次全新安裝,而不是升級upgrade。 url --url=" " 經過FTP或HTTP從遠程服務器上的安裝樹中安裝。 url --url="http://10.0.0.7/CentOS-6.7/" url --url ftp://<username>:<password>@<server>/<dir> nfs 從指定的NFS服務器安裝。 nfs --server=nfsserver.example.com --dir=/tmp/install-tree text 使用文本模式安裝。 lang 設置在安裝過程當中使用的語言以及系統的缺省語言。lang en_US.UTF-8 keyboard 設置系統鍵盤類型。keyboard us zerombr 清除mbr引導信息。 bootloader 系統引導相關配置。 bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet" --location=,指定引導記錄被寫入的位置.有效的值以下:mbr(缺省),partition(在包含內核的分區的第一個扇區安裝引導裝載程序)或none(不安裝引導裝載程序)。 --driveorder,指定在BIOS引導順序中居首的驅動器。 --append=,指定內核參數.要指定多個參數,使用空格分隔它們。 network 爲經過網絡的kickstart安裝以及所安裝的系統配置聯網信息。 network --bootproto=dhcp --device=eth0 --onboot=yes --noipv6 --hostname=CentOS6 --bootproto=[dhcp/bootp/static]中的一種,缺省值是dhcp。bootp和dhcp被認爲是相同的。 static方法要求在kickstart文件裏輸入全部的網絡信息。 network --bootproto=static --ip=10.0.0.100 --netmask=255.255.255.0 --gateway=10.0.0.2 --nameserver=10.0.0.2 請注意全部配置信息都必須在一行上指定,不能使用反斜線來換行。 --ip=,要安裝的機器的IP地址. --gateway=,IP地址格式的默認網關. --netmask=,安裝的系統的子網掩碼. --hostname=,安裝的系統的主機名. --onboot=,是否在引導時啓用該設備. --noipv6=,禁用此設備的IPv6. --nameserver=,配置dns解析. timezone 設置系統時區。timezone --utc Asia/Shanghai authconfig 系統認證信息。authconfig --enableshadow --passalgo=sha512 設置密碼加密方式爲sha512 啓用shadow文件。 rootpw root密碼 clearpart 清空分區。clearpart --all --initlabel --all 從系統中清除全部分區,--initlable 初始化磁盤標籤 part 磁盤分區。 part /boot --fstype=ext4 --asprimary --size=200 part swap --size=1024 part / --fstype=ext4 --grow --asprimary --size=200 --fstype=,爲分區設置文件系統類型.有效的類型爲ext2,ext3,swap和vfat。 --asprimary,強迫把分區分配爲主分區,不然提示分區失敗。 --size=,以MB爲單位的分區最小值.在此處指定一個整數值,如500.不要在數字後面加MB。 --grow,告訴分區使用全部可用空間(如有),或使用設置的最大值。 firstboot 負責協助配置redhat一些重要的信息。 firstboot --disable selinux 關閉selinux。selinux --disabled firewall 關閉防火牆。firewall --disabled logging 設置日誌級別。logging --level=info reboot 設定安裝完成後重啓,此選項必須存在,否則kickstart顯示一條消息,並等待用戶按任意鍵後才從新引導,也能夠選擇halt關機。
一般,咱們在安裝操做系統的過程當中,須要大量的和服務器交互操做,爲了減小這個交互過程,kickstart就誕生了。使用這種kickstart,只需事先定義好一個Kickstart自動應答配置文件ks.cfg(一般存放在安裝服務器上),並讓安裝程序知道該配置文件的位置,
在安裝過程當中安裝程序就能夠本身從該文件中讀取安裝配置,這樣就避免了在安裝過程當中屢次的人機交互,從而實現無人值守的自動化安裝。
生成kickstart配置文件的三種方法: 方法一、 每安裝好一臺Centos機器,Centos安裝程序都會建立一個kickstart配置文件,記錄你的真實安裝配置。若是你但願實現和某系統相似的安裝,能夠基於該系統的kickstart配置文件來生成你本身的kickstart配置文件。(生成的文件名字叫anaconda-ks.cfg位於/root/anaconda-ks.cfg) 方法二、Centos提供了一個圖形化的kickstart配置工具。在任何一個安裝好的Linux系統上運行該工具,就能夠很容易地建立你本身的kickstart配置文件。kickstart配置工具命令爲redhat-config-kickstart(RHEL3)或system-config-kickstart(RHEL4,RHEL5).網上有不少用CentOS桌面版生成ks文件的文章,若是有現成的系統就沒什麼可說。但沒有現成的,也沒有必要去用桌面版,命令行也很簡單。 方法三、閱讀kickstart配置文件的手冊。用任何一個文本編輯器均可以建立你本身的kickstart配置文件。
ks.cfg文件組成大體分爲3段 命令段 鍵盤類型,語言,安裝方式等系統的配置,有必選項和可選項,若是缺乏某項必選項,安裝時會中斷並提示用戶選擇此項的選項 軟件包段
%packages @groupname:指定安裝的包組 package_name:指定安裝的包 -package_name:指定不安裝的包
腳本段(可選)
%pre:安裝系統前執行的命令或腳本(因爲只依賴於啓動鏡像,支持的命令不多) %post:安裝系統後執行的命令或腳本(基本支持全部命令)
# 最精簡配置
[root@linux-node1 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
default ks
prompt 0
label ks
kernel vmlinuz
#append initrd=initrd.img ks=http://10.0.0.7/ks_config/CentOS-6.7-ks.cfg # 告訴安裝程序ks.cfg文件在哪裏
append initrd=initrd.img ks=http://172.16.221.128/ks-config/ks.cfg ksdevice=link #這樣虛擬機會自動加載來電的網卡
# ksdevice=eth0表明當客戶端有多塊網卡的時候,要實現自動化須要設置從eth1安裝,不指定的話,安裝的時候系統會讓你選擇,那就不叫全自動化了。
kickstart參數詳解
kickstart命令選項 下面的選項能夠放入kickstart文件.若是喜歡使用圖形化的界面來建立kickstart文件,可使用"Kickstart 配置"應用程序.(注:若是某選項後面跟隨了一個等號(=),它後面就必須指定一個值.在示例命令中,括號([])中的選項是命令的可選參數.) autopart(可選) 自動建立分區,大於1GB的根分區(/),交換分區和適合於不一樣體系結構的引導分區.一個或多個缺省分區的大小能夠用part指令從新定義. ignoredisk(可選) 致使安裝程序忽略指定的磁盤.若是使用自動分區並但願忽略某些磁盤的話,這就頗有用. 例如,沒有ignoredisk,如要試圖在SAN-cluster系統裏部署,kickstart就會失敗,由於安裝程序檢測到SAN不返回分區表的被動路徑(passive path). 若是有磁盤的多個路徑時,ignoredisk選項也有用處. 語法是: ignoredisk --drives=drive1,drive2,... 這裏driveN是sda,sdb... hda等等中的一個. autostep(可選) 和interactive類似,除了它進入下一屏幕,它一般用於調試. --autoscreenshot,安裝過程當中的每一步都截屏並在安裝完成後把圖片複製到/root/anaconda-screenshots.這對於製做文檔頗有用. auth或authconfig(必需) 爲系統設置驗證選項.這和在安裝後運行的authconfig命令類似.在缺省狀況下,密碼一般被加密但不使用影子文件(shadowed). --enablemd5,每一個用戶口令都使用md5加密. --enablenis,啓用NIS支持.在缺省狀況下,--enablenis使用在網絡上找到的域.域應該老是用--nisdomain=選項手工設置. --nisdomain=,用在NIS服務的NIS域名. --nisserver=,用來提供NIS服務的服務器(默認經過廣播). --useshadow或--enableshadow,使用屏蔽口令. --enableldap,在/etc/nsswitch.conf啓用LDAP支持,容許系統從LDAP目錄獲取用戶的信息(UIDs,主目錄,shell 等等).要使用這個選項,必須安裝nss_ldap軟件包.也必須用--ldapserver=和--ldapbasedn=指定服務器和base DN(distinguished name). --enableldapauth,把LDAP做爲一個驗證方法使用.這啓用了用於驗證和更改密碼的使用LDAP目錄的pam_ldap模塊.要使用這個選項,必須安裝nss_ldap軟件包.也必須用--ldapserver=和--ldapbasedn=指定服務器和base DN. --ldapserver=,若是指定了--enableldap或--enableldapauth,使用這個選項來指定所使用的LDAP服務器的名字.這個選項在/etc/ldap.conf文件裏設定. --ldapbasedn=,若是指定了--enableldap或--enableldapauth,使用這個選項來指定用戶信息存放的LDAP目錄樹裏的DN.這個選項在/etc/ldap.conf文件裏設置. --enableldaptls,使用TLS(傳輸層安全)查尋.該選項容許LDAP在驗證前向LDAP服務器發送加密的用戶名和口令. --enablekrb5,使用Kerberos 5驗證用戶.Kerberos本身不知道主目錄,UID或shell.若是啓用了Kerberos,必須啓用LDAP,NIS,Hesiod或者使用/usr/sbin/useradd命令來使這個工做站獲知用戶的賬號.若是使用這個選項,必須安裝pam_krb5軟件包. --krb5realm=,工做站所屬的Kerberos 5領域. --krb5kdc=,爲領域請求提供服務的KDC.若是的領域內有多個KDC,使用逗號(,)來分隔它們. --krb5adminserver=,領域內還運行kadmind的KDC.該服務器處理改變口令以及其它管理請求.若是有不止一個KDC,該服務器必須是主KDC. --enablehesiod,啓用Hesiod支持來查找用戶主目錄,UID 和 shell.在網絡中設置和使用 Hesiod 的更多信息,能夠在 glibc 軟件包裏包括的 /usr/share/doc/glibc-2.x.x/README.hesiod裏找到.Hesiod是使用DNS記錄來存儲用戶,組和其餘信息的 DNS 的擴展. --hesiodlhs,Hesiod LHS("left-hand side")選項在/etc/hesiod.conf裏設置.Hesiod 庫使用這個選項來決定查找信息時搜索DNS的名字,相似於LDAP對 base DN的使用. --hesiodrhs,Hesiod RHS("right-hand side")選項在/etc/hesiod.conf裏設置.Hesiod 庫使用這個選項來決定查找信息時搜索DNS的名字,相似於LDAP對base DN的使用. --enablesmbauth,啓用對SMB服務器(典型的是Samba或Windows服務器)的用戶驗證.SMB驗證支持不知道主目錄,UID 或 shell.若是啓用SMB,必須經過啓用LDAP,NIS,Hesiod或者用/usr/sbin/useradd命令來使用戶賬號爲工做站所知.要使用這個選項,必須安裝pam_smb軟件包. --smbservers=,用來作SMB驗證的服務器名稱.要指定不止一個服務器,用逗號(,)來分隔它們. --smbworkgroup=,SMB服務器的工做組名稱. --enablecache,啓用nscd服務.nscd服務緩存用戶,組和其餘類型的信息.若是選擇在網絡上用NIS,LDAP或hesiod分發用戶和組的信息,緩存就尤爲有用. bootloader(必需) 指定引導裝載程序怎樣被安裝.對於安裝和升級,這個選項都是必需的. --append=,指定內核參數.要指定多個參數,使用空格分隔它們. 例如:bootloader --location=mbr --append="hdd=ide-scsi ide=nodma" --driveorder,指定在BIOS引導順序中居首的驅動器. 例如:bootloader --driveorder=sda,hda --location=,指定引導記錄被寫入的位置.有效的值以下:mbr(缺省),partition(在包含內核的分區的第一個扇區安裝引導裝載程序)或none(不安裝引導裝載程序). --password=,若是使用GRUB,把GRUB引導裝載程序的密碼設置到這個選項指定的位置.這應該被用來限制對能夠傳入任意內核參數的GRUB shell的訪問. --md5pass=,若是使用GRUB,這和--password=相似,只是密碼已經被加密. --upgrade,升級現存的引導裝載程序配置,保留其中原有的項目.該選項僅可用於升級. clearpart(可選) 在建立新分區以前,從系統上刪除分區.默認不會刪除任何分區. 注:若是使用了clearpart命令,--onpart命令就不可以用在邏輯分區上. --all,刪除系統上全部分區. --drives=,指定從哪一個驅動器上清除分區. 例如,下面的命令清除了主IDE控制器上的前兩個驅動器上全部分區 clearpart --drives=hda,hdb --all --initlabel,根據不一樣體系結構把磁盤標籤初始化爲缺省設置(例如,msdos用於x86而gpt用於Itanium).當安裝到一個嶄新的硬盤時,這頗有用,安裝程序不會詢問是否應該初始化磁盤標籤. --linux,刪除全部Linux分區. --none(缺省),不要刪除任何分區. cmdline(可選) 在徹底的非交互式的命令行模式下進行安裝.任何交互式的提示都會終止安裝.這個模式對於有x3270控制檯的IBM System z系統頗有用. device(可選) 在多數的PCI系統裏,安裝程序會正確地自動探測以太網卡和SCSI卡.然而,在老的系統和某些PCI系統裏,kickstart須要提示來找到正確的設備.device命令用來告訴安裝程序安裝額外的模塊,它有着這樣的格式: device <type><moduleName> --opts=<options> <type>,用scsi或eth代替 <moduleName>,使用應該被安裝的內核模塊的名稱來替換. --opts=,傳遞給內核模塊的選項.注意,若是把選項放在引號裏,能夠傳遞多個選項. 例如:--opts="aic152x=0x340 io=11" driverdisk(可選) 能夠在kickstart安裝過程當中使用驅動軟盤.必須把驅動軟盤的內容複製到系統的硬盤分區的根目錄下.而後必須使用driverdisk 命令來告訴安裝程序到哪去尋找驅動磁盤. driverdisk <partition> [--type=<fstype>] 另外,也能夠爲驅動程序盤指定一個網絡位置: driverdisk --source=ftp://path/to/dd.img driverdisk --source=http://path/to/dd.img driverdisk --source=nfs:host:/path/to/img <partition>,包含驅動程序盤的分區. --type=,文件系統類型(如:vfat,ext2,ext3). firewall(可選) 這個選項對應安裝程序裏的「防火牆配置」屏幕: firewall --enabled|--disabled [--trust=] <device> [--port=] --enabled或者--enable,拒毫不是答覆輸出請求如DNS答覆或DHCP請求的進入鏈接.若是須要使用在這個機器上運行的服務,能夠選擇容許指定的服務穿過防火牆. --disabled或--disable,不要配置任何iptables規則. --trust=,在此列出設備,如eth0,這容許全部經由這個設備的數據包經過防火牆.若是須要列出多個設備,使用--trust eth0 --trust eth1.不要使用以逗號分隔的格式,如--trust eth0, eth1. <incoming>,使用如下服務中的一個或多個來替換,從而容許指定的服務穿過防火牆. --ssh --telnet --smtp --http --ftp --port=,能夠用端口:協議(port:protocal)格式指定容許經過防火牆的端口. 例如,若是想容許IMAP經過的防火牆,能夠指定imap:tcp.還能夠具體指定端口號碼,要容許UDP分組在端口1234經過防火牆,輸入1234:udp.要指定多個端口,用逗號將它們隔開. firstboot(可選) 決定是否在系統第一次引導時啓動"設置代理".若是啓用,firstboot軟件包必須被安裝.若是不指定,這個選項是缺省爲禁用的. --enable或--enabled,系統第一次引導時,啓動"設置代理". --disable或--disabled,系統第一次引導時,不啓動"設置代理". --reconfig,在系統引導時在重配置(reconfiguration)模式下啓用"設置代理".這個模式啓用了語言,鼠標,鍵盤,根密碼,安全級別,時區和缺省網絡配置以外的選項. halt(可選) 在成功地完成安裝後關閉系統.這和手工安裝類似,手工安裝的anaconda會顯示一條信息並等待用戶按任意鍵來重啓系統.在kickstart安裝過程當中,若是沒有指定完成方法(completion method),將缺省使用reboot選項. halt選項基本和shutdown -h命令相同. 關於其餘的完成方法,請參考kickstart的poweroff,reboot和shutdown選項. graphical(可選) 在圖形模式下執行kickstart安裝.kickstart安裝默認在圖形模式下安裝. install(可選) 告訴系統來安裝全新的系統而不是在現有系統上升級.這是缺省的模式.必須指定安裝的類型,如cdrom,harddrive,nfs或url(FTP 或HTTP安裝).install命令和安裝方法命令必須處於不一樣的行上. cdrom 從系統上的第一個光盤驅動器中安裝. harddrive 從本地驅動器的vfat或ext2格式的紅帽安裝樹來安裝. --biospart=,從BIOS分區來安裝(如82). --partition=,從分區安裝(如sdb2). --dir=,包含安裝樹的variant目錄的目錄. 例如:harddrive --partition=hdb2 --dir=/tmp/install-tree nfs 從指定的NFS服務器安裝. --server=,要從中安裝的服務器(主機名或IP). --dir=,包含安裝樹的variant目錄的目錄. --opts=,用於掛載NFS輸出的Mount選項(可選). 例如:nfs --server=nfsserver.example.com --dir=/tmp/install-tree url 經過FTP或HTTP從遠程服務器上的安裝樹中安裝. 例如:url --url http://<server>/<dir> 或:url --url ftp://<username>:<password>@<server>/<dir> ignore disk(可選) 用來指定在分區,格式化和清除時anaconda不該該訪問的磁盤.這個命令有一個必需的參數,就是用逗號隔開的須要忽略的驅動器列表. 例如:ignoredisk --drives=[disk1,disk2,...] interactive(可選) 在安裝過程當中使用kickstart文件裏提供的信息,但容許檢查和修改給定的值.將遇到安裝程序的每一個屏幕以及kickstart文件裏給出的值.經過點擊"下一步"接受給定的值或是改變值後點擊"下一步"繼續.請參考autostep命令. iscsi(可選) issci --ipaddr= [options]. --target --port= --user= --password= iscsiname(可選) key(可選) 指定安裝密鑰,它在軟件包選擇和獲取支持時設別系統的時候是必需的.這個命令是紅帽企業Linux-specific,它對Fedora來講沒有意義而且會被忽略. --skip,跳過輸入密鑰.一般,若是沒有key命令,anaconda將暫停並提示輸入密鑰.若是沒有密鑰或不想提供它,這個選項容許繼續自動化安裝. keyboard(必需) 設置系統鍵盤類型.這裏是 i386,Itanium,和 Alpha 機器上可用鍵盤的列表: be-latin1, bg, br-abnt2, cf, cz-lat2, cz-us-qwertz, de, de-latin1, de-latin1-nodeadkeys, dk, dk-latin1, dvorak, es, et, fi, fi-latin1, fr, fr-latin0, fr-latin1, fr-pc, fr_CH, fr_CH-latin1, gr, hu, hu101, is-latin1, it, it-ibm, it2, jp106, la-latin1, mk-utf, no, no-latin1, pl, pt-latin1, ro_win, ru, ru-cp1251, ru-ms, ru1, ru2, ru_win, se-latin1, sg, sg-latin1, sk-qwerty, slovene, speakup, speakup-lt, sv-latin1, sg, sg-latin1, sk-querty, slovene, trq, ua, uk, us, us-acentos 文件/usr/lib/python2.2/site-packages/rhpl/keyboard_models.py 也包含這個列表並且是 rhpl 軟件包的一部分. lang(必需) 設置在安裝過程當中使用的語言以及系統的缺省語言.例如,要把語言設置爲英語,kickstart文件應該包含下面的一行: lang en_US 文件/usr/share/system-config-language/locale-list裏每一行的第一個字段提供了一個有效語言代碼的列表,它是system-config-language軟件包的一部分. 文本模式的安裝過程不支持某些語言(主要是中文,日語,韓文和印度的語言).若是用lang命令指定這些語言中的一種,安裝過程仍然會使用英語,可是系統會缺省使用指定的語言. langsupport(不同意) langsupport關鍵字已經被取消並且使用它將致使屏幕出現錯誤信息及終止安裝.做爲代替,應該在kickstart文件裏的%packages 部分列出所支持的語言的支持軟件包組.例如,要支持法語,應該把下面的語句加入到 %packages: @french-support logvol(可選) 使用如下語法來爲邏輯卷管理(LVM)建立邏輯卷: logvol <mntpoint> --vgname=<name> --size=<size> --name=<name><options> 這些選項以下所示: --noformat,使用一個現存的邏輯卷,不進行格式化. --useexisting,使用一個現存的邏輯卷,從新格式化它. --fstype=,爲邏輯卷設置文件系統類型.合法值有:ext2,ext3,swap和vfat. --fsoptions=,爲邏輯卷設置文件系統類型.合法值有:ext2,ext3,swap和vfat. --bytes-per-inode=,指定在邏輯捲上建立的文件系統的節點的大小.由於並非全部的文件系統都支持這個選項,因此在其餘狀況下它都被忽略. --grow=,告訴邏輯卷使用全部可用空間(如有),或使用設置的最大值. --maxsize=,當邏輯卷被設置爲可擴充時,以MB爲單位的分區最大值.在這裏指定一個整數值,不要在數字後加MB. --recommended=,自動決定邏輯卷的大小. --percent=,用卷組裏可用空間的百分比來指定邏輯卷的大小. 首先建立分區,而後建立邏輯卷組,再建立邏輯卷. 例如: part pv.01 --size 3000 volgroup myvg pv.01 logvol / --vgname=myvg --size=2000 --name=rootvol logging(可選) 這個命令控制安裝過程當中anaconda的錯誤日誌.它對安裝好的系統沒有影響. --host=,發送日誌信息到給定的遠程主機,這個主機必須運行配置爲可接受遠程日誌的syslogd進程. --port=,若是遠程的syslogd進程沒有使用缺省端口,這個選項必須被指定. --level=,debug,info,warning,error或critical中的一個. 指定tty3上顯示的信息的最小級別.然而,不管這個級別怎麼設置,全部的信息仍將發送到日誌文件. mediacheck(可選) 若是指定的話,anaconda將在安裝介質上運行mediacheck.這個命令只適用於交互式的安裝,因此缺省是禁用的. monitor(可選) 若是monitor命令沒有指定,anaconda將使用X來自動檢測的顯示器設置.請在手工配置顯示器以前嘗試這個命令. --hsync=,指定顯示器的水平頻率. --vsync=,指定顯示器的垂直頻率. --monitor=,使用指定的顯示器;顯示器的名字應該在hwdata軟件包裏的/usr/share/hwdata/MonitorsDB列表上.這個顯示器的列表也能夠在Kickstart Configurator的X配置屏幕上找到.若是提供了--hsync或--vsync,它將被忽略.若是沒有提供顯示器信息,安裝程序將自動探測顯示器. --noprobe=,不要試圖探測顯示器. mouse(已取消) mouse 關鍵字已經被取消,使用它將致使屏幕出現錯誤信息並終止安裝. network(可選) 爲系統配置網絡信息.若是 kickstart安裝不要求聯網(換句話說,不從NFS,HTTP或FTP安裝),就不須要爲系統配置網絡.若是安裝要求聯網而kickstart文件裏沒有提供網絡信息,安裝程序會假定從eth0經過動態IP地址(BOOTP/DHCP)來安裝,並配置安裝完的系統動態決定IP地址.network選項爲經過網絡的kickstart安裝以及所安裝的系統配置聯網信息. --bootproto=,dhcp,bootp或static中的一種,缺省值是dhcp.bootp和dhcp被認爲是相同的. static方法要求在kickstart文件裏輸入全部的網絡信息.顧名思義,這些信息是靜態的且在安裝過程當中和安裝後全部.靜態網絡的設置行更爲複雜,由於必須包括全部的網絡配置信息.必須指定IP地址,網絡,網關和命名服務器. 例如("\"表示連續的行): network --bootproto=static --ip=10.0.2.15 --netmask=255.255.255.0 \ --gateway=10.0.2.254 --nameserver=10.0.2.1 若是使用靜態方法,請注意如下兩個限制: 全部靜態聯網配置信息都必須在一行上指定,不能使用反斜線來換行. 在這裏只可以指定一個命名服務器.然而,若是須要的話,可使用kickstart文件的%post段落來添加更多的命名服務器. --device=,用來選擇用於安裝的特定的以太設備.注意,除非kickstart文件是一個本地文件(如ks=floppy),不然--device=的使用是無效的.這是由於安裝程序會配置網絡來尋找kickstart文件. 例如: network --bootproto=dhcp --device=eth0 --ip=,要安裝的機器的IP地址. --gateway=,IP地址格式的默認網關. --nameserver=,主名稱服務器,IP地址格式. --nodns,不要配置任何 DNS 服務器. --netmask=,安裝的系統的子網掩碼. --hostname=,安裝的系統的主機名. --ethtool=,指定傳給ethtool程序的網絡設備的其餘底層設置. --essid=,無線網絡的網絡ID. --wepkey=,無線網絡的加密密鑰. --onboot=,是否在引導時啓用該設備. --class=,DHCP類型. --mtu=,該設備的MTU. --noipv4=,禁用此設備的IPv4. --noipv6=,禁用此設備的IPv6. multipath(可選) multipath --name= --device= --rule= part或partition(對於安裝是必需的,升級可忽略). 在系統上建立分區. 若是不一樣分區裏有多個紅帽企業Linux系統,安裝程序會提示用戶升級哪一個系統. 警告:做爲安裝過程的一部分,全部被建立的分區都會被格式化,除非使用了--noformat和--onpart. <mntpoint>,<mntpoint>是分區的掛載點,它必須是下列形式中的一種: /<path>,例如,/,/usr,/home swap,該分區被用做交換空間,要自動決定交換分區的大小,使用--recommended選項. swap --recommended 自動生成的交換分區的最小值大於系統內存的數量,但小於系統內存的兩倍. raid.<id>,該分區用於 software RAID(參考 raid). pv.<id>,該分區用於 LVM(參考 logvol). --size=,以MB爲單位的分區最小值.在此處指定一個整數值,如500.不要在數字後面加MB. --grow,告訴分區使用全部可用空間(如有),或使用設置的最大值. --maxsize=,當分區被設置爲可擴充時,以MB爲單位的分區最大值.在這裏指定一個整數值,不要在數字後加MB. --noformat,用--onpart命令來告訴安裝程序不要格式化分區. --onpart=或--usepart=,把分區放在已存在的設備上. 例如:partition /home --onpart=hda1,把/home置於必須已經存在的/dev/hda1上. --ondisk=或--ondrive=,強迫分區在指定磁盤上建立. 例如:--ondisk=sdb把分區置於系統的第二個SCSI磁盤上. --asprimary,強迫把分區分配爲主分區,不然提示分區失敗. --type=(用fstype代替),這個選項再也不可用了.應該使用fstype. --fstype=,爲分區設置文件系統類型.有效的類型爲ext2,ext3,swap和vfat. --start=,指定分區的起始柱面,它要求用--ondisk=或ondrive=指定驅動器.它也要求用--end=指定結束柱面或用--size=指定分區大小. --end=,指定分區的結束柱面.它要求用--start=指定起始柱面. --bytes-per-inode=,指定此分區上建立的文件系統的節點大小.不是全部的文件系統都支持這個選項,因此在其餘狀況下它都被忽略. --recommended,自動決定分區的大小. --onbiosdisk,強迫在 BIOS 找到的特定磁盤上建立分區. 注:若是由於某種緣由分區失敗了,虛擬終端3上會顯示診斷信息. poweroff(可選) 在安裝成功後關閉系統並斷電.一般,在手工安裝過程當中,anaconda會顯示一條信息並等待用戶按任意鍵來從新啓動系統.在kickstart的安裝過程當中,若是沒有指定完成方法,將使用缺省的reboot選項. raid(可選) 組成軟件RAID設備.該命令的格式是: raid <mntpoint> --level=<level> --device=<mddevice><partitions*> <mntpoint>,RAID文件系統被掛載的位置.若是是/,除非已經有引導分區存在(/boot),RAID級別必須是1.若是已經有引導分區,/boot分區必須是級別1且根分區(/)能夠是任何可用的類型.<partitions*>(這表示能夠有多個分區)列出了加入到RAID陣列的RAID標識符. --level=,要使用的RAID級別(0,1,或5). --device=,要使用的RAID設備的名稱(如md0或md1).RAID設備的範圍從md0直到md7,每一個設備只能被使用一次. --bytes-per-inode=,指定RAID設備上建立的文件系統的節點大小.不是全部的文件系統都支持這個選項,因此對於那些文件系統它都會被忽略. --spares=,指定RAID陣列應該被指派N個備用驅動器.備用驅動器能夠被用來在驅動器失敗時重建陣列. --fstype=,爲RAID陣列設置文件系統類型.合法值有:ext2,ext3,swap和vfat. --fsoptions=,指定當掛載文件系統時使用的free form字符串.這個字符串將被複制到系統的/etc/fstab文件裏且應該用引號括起來. --noformat,使用現存的RAID設備,不要格式化RAID陣列. --useexisting,使用現存的RAID設備,從新格式化它. reboot(可選) 在成功完成安裝(沒有參數)後從新啓動.一般,kickstart會顯示信息並等待用戶按任意鍵來從新啓動系統. repo(可選) 配置用於軟件包安裝來源的額外的yum庫.能夠指定多個repo行. repo --name=<repoid> [--baseline=<url>| --mirrorlist=<url>] --name=,repo id.這個選項是必需的. --baseurl=,庫的URL.這裏不支持yum repo配置文件裏使用的變量.可使用它或者--mirrorlist,亦或二者都不使用. --mirrorlist=,指向庫鏡像的列表的URL.這裏不支持yum repo配置文件裏可能使用的變量.可使用它或者--baseurl,亦或二者都不使用. rootpw(必需) 把系統的根口令設置爲<password>參數. rootpw [--iscrypted] <password> --iscrypted,若是該選項存在,口令就會假定已被加密. selinux(可選) 在系統裏設置SELinux狀態.在anaconda裏,SELinux缺省爲enforcing. selinux [--disabled|--enforcing|--permissive] --enforcing,啓用SELinux,實施缺省的targeted policy. 注:若是kickstart文件裏沒有selinux選項,SELinux將被啓用並缺省設置爲--enforcing. --permissive,輸出基於SELinux策略的警告,但實際上不執行這個策略. --disabled,在系統裏徹底地禁用 SELinux. services(可選) 修改運行在缺省運行級別下的缺省的服務集.在disabled列表裏列出的服務將在enabled列表裏的服務啓用以前被禁用. --disabled,禁用用逗號隔開的列表裏的服務. --enabled,啓用用逗號隔開的列表裏的服務. shutdown(可選) 在成功完成安裝後關閉系統.在kickstart安裝過程當中,若是沒有指定完成方法,將使用缺省的reboot選項. skipx(可選) 若是存在,安裝的系統上就不會配置X. text(可選) 在文本模式下執行kickstart安裝. kickstart安裝默認在圖形模式下安裝. timezone(可選) 把系統時區設置爲<timezone>,它能夠是timeconfig列出的任什麼時候區. timezone [--utc] <timezone> --utc,若是存在,系統就會假定硬件時鐘被設置爲UTC(格林威治標準)時間. upgrade(可選) 告訴系統升級現有的系統而不是安裝一個全新的系統.必須指定 cdrom,harddrive,nfs或url(對於FTP和HTTP而言)中的一個做爲安裝樹的位置.詳情請參考 install. user(可選) 在系統上建立新用戶. user --name=<username> [--groups=<list>] [--homedir=<homedir>] [--password=<password>] [--iscrypted] [--shell=<shell>] [--uid=<uid>] --name=,提供用戶的名字.這個選項是必需的. --groups=,除了缺省的組之外,用戶應該屬於的用逗號隔開的組的列表. --homedir=,用戶的主目錄.若是沒有指定,缺省爲/home/<username>. --password=,新用戶的密碼.若是沒有指定,這個賬號將缺省被鎖住. --iscrypted=,所提供的密碼是否已經加密? --shell=,用戶的登陸shell.若是不提供,缺省爲系統的缺省設置. --uid=,用戶的UID.若是未提供,缺省爲下一個可用的非系統 UID. vnc(可選) 容許經過VNC遠程地查看圖形化的安裝.文本模式的安裝一般更喜歡使用這個方法,由於在文本模式下有某些大小和語言的限制.若是爲no,這個命令將啓動不須要密碼的VNC服務器並打印出須要用來鏈接遠程機器的命令. vnc [--host=<hostname>] [--port=<port>] [--password=<password>] --host=,不啓動VNC服務器,而是鏈接至給定主機上的VNC viewer進程. --port=,提供遠程VNC viewer進程偵聽的端口.若是不提供,anaconda將使用VNC的缺省端口. --password=,設置鏈接VNC會話必需的密碼.這是可選的,但倒是咱們所推薦的選項. volgroup(可選) 用來建立邏輯卷管理(LVM)組,其語法格式爲: volgroup <name><partition><options> 這些選項以下所示: --noformat,使用一個現存的卷組,不要格式化它. --useexisting,使用一個現存的卷組,從新格式化它. --pesize=,設置物理分區(physical extent)的大小. 首先建立分區,而後建立邏輯卷組,再建立邏輯卷.例如: xconfig(可選) 配置X Window 系統.若是沒有指定這個選項且安裝了X,用戶必須在安裝過程當中手工配置X;若是最終系統裏沒有安裝X,這個選項不該該被使用. --driver,指定用於視頻硬件的 X 驅動. --videoram=,指定顯卡的顯存數量. --defaultdesktop=,指定GNOME或KDE做爲缺省的桌面(假設已經經過%packages安裝了GNOME或KDE桌面環境). --startxonboot,在安裝的系統上使用圖形化登陸. --resolution=,指定安裝的系統上X窗口系統的默認分辨率.有效值有:640x480,800x600,1024x768,1152x864, 1280x1024,1400x1050,1600x1200.請肯定指定與視頻卡和顯示器兼容的分辨率. --depth=,指定安裝的系統上的 X 窗口系統的默認色彩深度.有效值有:8,16,24,和 32.請肯定指定與視頻卡和顯示器兼容的色彩深度. zerombr(可選) 若是指定了zerombr且yes是它的惟一參數,任何磁盤上的無效分區表都將被初始化.這會毀壞有無效分區表的磁盤上的全部內容.這個命令的格式應該以下: zerombr yes 其它格式均無效. zfcp(可選) zfcp [--devnum=<devnum>] [--fcplun=<fcplun>] [--scsiid=<scsiid>] [--scsilun=<scsilun>] [--wwpn=<wwpn>] %include 使用 %include/path/to/file命令能夠把其餘文件的內容包含在kickstart文件裏,就好像這些內容出如今kickstart文件的%include命令後同樣. kickstart的軟件包選擇 在kickstart文件裏使用%packages命令來列出想安裝的軟件包(僅用於全新安裝,升級安裝時不支持軟件包指令). 能夠指定單獨的軟件包名或是組,以及使用星號通配符.安裝程序能夠定義包含相 關軟件包的組.關於組的列表,請參考第一張紅帽企業 Linux光盤裏的 variant/repodata/comps-*.xml. 每一個組都有一個編號,用戶可見性的值,名字,描述和軟件包列表.在軟件包列表裏,若是這個組被選擇的話,組裏的標記爲"mandatory"的軟件包就必須被安裝;標記爲"default"的軟件包缺省被選擇;而標記爲"optional"的軟件包必須被明確地選定纔會被安裝. 多數狀況下,只須要列出想安裝的組而不是單個的軟件包.注意Core和Base組老是缺省被選擇,因此並不須要在%packages部分指定它們. 這裏是一個 %packages 選擇的示例: %packages @ X Window System @ GNOME Desktop Environment @ Graphical Internet @ Sound and Video dhcp 如所看到的,組被指定了,每一個佔用一行,用@符號開頭,後面是comps.xml文件裏給出的組全名.組也能夠用組的id指定,如gnome-desktop.不須要額外字符就能夠指定單獨的軟件包(上例裏的dhcp行就是一個單獨的軟件包). %packages 指令也支持下面的選項: --nobase,不要安裝@Base 組.若是想建立一個很小的系統,可使用這個選項. --resolvedeps,選項已經被取消了.目前依賴關係能夠自動地被解析. --ignoredeps,選項已經被取消了.目前依賴關係能夠自動地被解析. --ignoremissing,忽略缺乏的軟件包或軟件包組,而不是暫停安裝來向用戶詢問是停止仍是繼續安裝. 例如:%packages --ignoremissing kickstart預安裝腳本 能夠在 ks.cfg文件被解析後立刻加入要運行的命令.這個部分必須處於kickstart文件的最後(在命令部分以後)並且必須用%pre命令開頭.能夠在%pre部分訪問網絡;然而,此時命名服務還未被配置,因此只能使用IP地址. 注:預安裝腳本不在改換了的根環境(chroot)中運行. --interpreter /usr/bin/python,容許指定不一樣的腳本語言,如Python.把/usr/bin/python替換成想使用的腳本語言. kickstart安裝後腳本 也能夠加入在系統安裝完畢後運行的命令.這部份內容必須在kickstart的最後並且用%post命令開頭.它被用於實現某些功能,如安裝其餘的軟件和配置其餘的命名服務器. 注:若是用靜態IP信息和命名服務器配置網絡,能夠在%post部分訪問和解析IP地址.若是使用DHCP配置網絡,當安裝程序執行到%post部分時,/etc/resolv.conf文件尚未準備好.此時,能夠訪問網絡,可是不能解析IP地址.所以,若是使用DHCP,必須在%post部分指定IP地址. 注:post-install 腳本是在 chroot 環境裏運行的.所以,某些任務如從安裝介質複製腳本或RPM將沒法執行. --nochroot,容許指定想在chroot環境以外運行的命令. 下例把/etc/resolv.conf文件複製到剛安裝的文件系統裏. %post --nochroot cp /etc/resolv.conf /mnt/sysimage/etc/resolv.conf --interpreter /usr/bin/python 容許指定不一樣的腳本語言,如Python.把/usr/bin/python替換成想使用的腳本語言. 開始kickstart安裝 要開始kickstart安裝,必須從製做的引導介質或紅帽企業Linux光盤引導系統,並輸入在引導提示下輸入特殊的引導命令.若是ks命令行參數被傳遞給內核,安裝程序將尋找kickstart文件. 第一張光盤和軟盤 若是ks.cfg文件位於軟盤的vfat或ext2文件系統裏,並且從紅帽企業Linux光盤引導的話,也可使用linux ks=floppy命令. 另一個引導方法是,從紅帽企業Linux光盤引導並使用軟盤上的vfat或ext2文件系統裏的kickstart文件.要實現這樣的方法,在boot:提示下輸入下面的命令:linux ks=hd:fd0:/ks.cfg 使用驅動程序盤 若是要使用帶有kickstart的驅動盤,須要指定dd選項. 例如,從軟盤引導並使用驅動盤,能夠在boot:提示下輸入命令linux ks=floppy dd 引導光盤 若是kickstart文件位於引導光盤上,把光盤插入機器,引導系統並在boot:提示下輸入命令linux ks=cdrom:/ks.cfg 其它啓動 kickstart 安裝的方法以下列舉: askmethod,若是咱們沒有在的光驅裏檢測到紅帽企業Linux光盤的話,請不要自動地把光盤做爲安裝來源. autostep,使kickstart成爲非交互式的. debug,立刻啓動pdb. dd,使用驅動盤. dhcpclass=<class>,發送自定義的DHCP vendor class identifier.ISC的dhcpcd能夠用"option vendor-class-identifier"來查看這個值. dns=<dns>,用逗號隔開的用於網絡安裝的命名服務器列表. driverdisk,和'dd'相同. expert,啓用特殊的功能,容許對可移除介質(removable media)進行分區和提示驅動盤 gateway=<gw>,用於網絡安裝的網關. graphical,強制圖形化安裝.ftp/http 安裝模式時必須使用圖形化界面. isa,提示用戶輸入ISA設備配置. ip=<ip>,用於網絡安裝的IP地址,對於DHCP使用'dhcp'. keymap=<keymap>,使用的鍵盤格式.有效值是那些能夠用於'keyboard' kickstart命令的值. ks=nfs:<server>:/<path>,安裝程序在NFS服務器<server>上的<path>裏尋找kickstart文件.安裝程序使用DHCP來配置以太網卡.例如,若是的NFS服務器是server.example.com且kickstart文件是NFS共享目錄的裏/mydir/ks.cfg,正確的引導命令應該是ks=nfs:server.example.com:/mydir/ks.cfg. ks=http://<server>/<path>,安裝程序在HTTP服務器<server>上的<path>裏尋找kickstart文件.安裝程序使用DHCP來配置以太網卡.例如,若是的HTTP服務器是server.example.com且kickstart文件是HTTP目錄的裏/mydir/ks.cfg,正確的引導命令應該是ks=http://server.example.com/mydir/ks.cfg. ks=floppy,安裝程序在/dev/fd0裏的軟盤上的vfat或ext2文件系統裏尋找ks.cfg文件. ks=floppy:/<path>,安裝程序在/dev/fd0裏的軟盤上以<path>尋找kickstart文件. ks=hd:<device>:/<file>,安裝程序把文件系統掛載在<device>(必須是vfat或ext2),並且在該文件系統裏以<file>來尋找 kickstart 文件,如ks=hd:sda3:/mydir/ks.cfg. ks=file:/<file>,安裝程序試圖從文件系統裏讀取<file>;並無掛載任何文件.若是kickstart文件已經在initrd映像裏時咱們一般使用這個方法. ks=cdrom:/<path>,安裝程序以<path>在光盤上尋找kickstart文件. ks,若是單獨使用ks,安裝程序將配置以太網卡使用DHCP.kickstart文件從DHCP應答的"bootServer"裏讀取,就像是NFS服務器共享kickstart文件同樣.在缺省狀況下,bootServer與DHCP服務器是同一個.kickstart文件的名字是下列之一: 若是指定了DHCP且引導文件以/開頭,DHCP提供的引導文件將在NFS服務器上尋找. 若是指定了DHCP且引導文件不以/開頭,DHCP提供的引導文件將在NFS服務器的/kickstart目錄裏尋找. 若是DHCP沒有指定引導文件,安裝程序將試圖讀取/kickstart/1.2.3.4-kickstart,這裏的1.2.3.4是被安裝的機器的數字化IP地址. ksdevice=<device>,安裝程序使用這個網絡設備來鏈接網絡.如要使用經過eth1設備鏈接至系統的NFS服務器上的kickstart文件來啓動kickstart安裝,能夠在boot:提示下使用ks=nfs:<server>:/<path> ksdevice=eth1命令. kssendmac,把HTTP頭加到對設置系統有幫助的ks=http://請求裏.在CGI環境變量裏包括全部網卡的MAC地址,如:"X-RHN-Provisioning-MAC-0: eth0 01:23:45:67:89:ab". lang=<lang>,安裝時使用的語言.這應該是'lang' kickstart命令可使用的有效語言之一. loglevel=<level>,設置記錄日誌信息的最低級別.<level>的值能夠是debug,info,warning,error和critical.缺省值是info. lowres,強制圖形用戶界面安裝程序運行在640x480分辨率下. mediacheck,激活加載者代碼,能夠容許用戶選擇測試安裝介質(若是是基於ISO的方法)的完整性. method=cdrom,執行基於光盤的安裝. method=ftp://<path>,使用<path>來進行FTP安裝. method=hd://<dev>/<path>,用<dev>上的<path>進行基於硬盤驅動器的安裝. method=http://<path>,用<path>來進行基於HTTP的安裝. method=nfs:<path>,用<path>來進行NFS安裝. netmask=<nm>,用於網絡安裝的掩碼. nofallback,若是圖形化用戶界面退出時失敗. nofb,不要載入某些語言進行文本安裝時所須要的 VGA16 幀緩衝. nofirewire,不要裝載對防火牆設備的支持. noipv6,在安裝過程當中禁用 IPv6 網絡. nokill,當發生致命錯誤時,阻止anaconda終止全部運行程序的調試選項. nomount,不要在救援模式下自動掛載任何已安裝的Linux分區. nonet,不要自動探測網絡設備. noparport,不要試圖裝載對並行端口的支持. nopass,不要把鍵盤和鼠標信息傳遞給安裝程序的第二階段.當執行網絡安裝時,它能夠用來在安裝的第二階段測試鼠標和鍵盤配置屏幕. nopcmcia,忽略系統上的任何PCMCIA控制器. noprobe,提示用戶輸入而不要試圖檢測硬件. noshell,安裝過程當中tty2上不要出現shell. nostorage,不要自動探測存儲設備(SCSI,IDE,RAID). nousb,不要裝載USB支持(若是安裝過程在早些時候掛起,這會有幫助). nousbstorage,不要在安裝程序的載入程序中禁止載入usbstorage模塊.它對SCSI系統上的設備排序可能有幫助. rescue,運行救援環境. resolution=<mode>,在指定模式下運行安裝程序,如'1024x768'模式. serial,啓用串行控制檯支持. skipddc,跳過對顯示器的DDC探測,若是系統被掛起的這可能有幫助. syslog=<host>[:<port>],一旦安裝過程被啓動並運行,發送日誌信息到<host>的可選端口<port>上的syslog進程.這要求遠程syslog進程接受鏈接(-r 選項). text,強制文本模式的安裝. updates,提示包含更新(bug修復)的軟盤. updates=ftp://<path>,基於FTP的包含更新的映像文件. updates=http://<path>,基於HTTP的包含更新的映像文件. upgradeany,不須要符合升級所指望的語法的/etc/redhat-release. vnc,啓用基於vnc的安裝.將須要鏈接到使用vnc客戶端程序的機器. vncconnect=<host>[:<port>],一旦安裝過程開始啓動並運行,鏈接到<host>上的vnc客戶端,也可使用可選端口<port>.也要求'vnc' 選項被指定. vncpassword=<password>,啓用vnc鏈接的密碼.這將阻止其餘人無心地鏈接到基於vnc的安裝上.也要求'vnc'選項被指定.
kickstart真機安裝報錯
Your BIOS-based system needs a special partition to boot from a GPT disk label. To continue, please create a 1MiB 'biosboot' type partition
文檔一 文檔二 文檔三 文檔四
kickstart真機如何安裝
1.DEll R730服務器開機後,根據提示按F12,進行PXE啓動。物理服務器有4個網卡,因此還會讓選擇從哪一個網卡啓動。 ks.cfg
2.關於kickstart分區指定特定硬盤的兩篇文章 1 2
3.官方文檔
4.參考文章1 參考文章二 參考文章三 參考文章四 參考文章五 官方文檔在使用dell r740進行實際自動安裝過程當中遇到的問題: 1.dell r740默認網口是pxe方式啓動,默認的系統引導也是從port1引導的,可是不知道爲何在boot setting總要將uefi改爲bios才能進行安裝系統 2.在r740上作了raid5,安裝完系統以後,要在ctrl+r將select boot device設置成裝系統的盤