kickstart詳解

ks詳解

1、文件組成

文件由三部分組成html

一、選項指令段

用於自動應答圖形/文本界面安裝時除了包之外的全部操做java

二、package選擇段

使用%packages引導該功能node

三、腳本段

腳本段分爲兩部分python

1)%pre 預安裝腳本段,在安裝系統以前就執行的腳本,該段不多使用,命令太少了

2)%post 後安裝腳本段,在系統安裝完成後執行的較薄

2、ks必須選項

語言
安裝方法
bootload
鍵盤類型
驗證linux

3、配置文件詳解



一、auth

1)事例

# System authorization information
auth --enableshadow --passalgo=sha512 --enablefingerprint

2)說明

爲系統設置驗證選項.這和在安裝後運行的authconfig命令類似.在缺省狀況下,密碼一般被加密但不使用影子文件(shadowed).ios

--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分發用戶和組的信息,緩存就尤爲有用.redis



二、bootloader

1)例子

# System bootloader configuration
bootloader --append="rhgb quiet crashkernel=auto" --location=mbr --driveorder="sda" --boot-drive=sda

2)說明

指定引導裝載程序怎樣被安裝,對於安裝和升級,這個選項都是必需的shell

--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,升級現存的引導裝載程序配置,保留其中原有的項目.該選項僅可用於升級.centos

三、安裝類型install/

1)例子

# Install OS instead of upgrade
install

2)說明

告訴系統來安裝全新的系統而不是在現有系統上升級.這是缺省的模式.必須指定安裝的類型,如cdrom,harddrive,nfs或url(FTP 或HTTP安裝).install命令和安裝方法命令必須處於不一樣的行上.緩存

四、media設置

能夠是cdrom、harddrive,nfs,url等安裝媒介

1)例子1-cdrom

從光盤介質來安裝

# Use CDROM installation media
cdrom

2)例子2-harddrive

從本地驅動器的vfat或ext2格式的紅帽安裝樹來安裝.

--biospart=,從BIOS分區來安裝(如82).
--partition=,從分區安裝(如sdb2).
--dir=,包含安裝樹的variant目錄的目錄.
例如:harddrive --partition=hdb2 --dir=/tmp/install-tree

3)例子3-nfs

從指定的NFS服務器安裝.

--server=,要從中安裝的服務器(主機名或IP).
--dir=,包含安裝樹的variant目錄的目錄.
--opts=,用於掛載NFS輸出的Mount選項(可選).
例如:nfs --server=nfsserver.example.com --dir=/tmp/install-tree

4)例子4-url

經過FTP或HTTP從遠程服務器上的安裝樹中安裝.

例如:url --url http://server/dir
或:url --url ftp://username:password@server/dir>

五、安裝方式圖形/文本

# Use text mode install
text

六、防火牆設置

# Firewall configuration
firewall --enabled --service=ssh

七、firstboot

1)例子

firstboot --disable

2)說明

安裝後第一次啓動默認會給出不少須要手動配置的界面,通常是禁用的

--enable或--enabled,系統第一次引導時,啓動"設置代理".
--disable或--disabled,系統第一次引導時,不啓動"設置代理".
--reconfig,在系統引導時在重配置(reconfiguration)模式下啓用"設置代理".這個模式啓用了語言,鼠標,鍵盤,根密碼,安全級別,時區和缺省網絡配置以外的選項.

八、ignoredisk設置

1)例子

ignoredisk --only-use=sda

2)說明

致使安裝程序忽略指定的磁盤.若是使用自動分區並但願忽略某些磁盤的話,這就頗有用.

例如,沒有ignoredisk,如要試圖在SAN-cluster系統裏部署,kickstart就會失敗,由於安裝程序檢測到SAN不返回分區表的被動路徑(passive path).
若是有磁盤的多個路徑時,ignoredisk選項也有用處.
語法是:
ignoredisk --drives=drive1,drive2,...
這裏driveN是sda,sdb... hda等等中的一個

九、keyboard設置

# Keyboard layouts
# old format: keyboard us
# new format:
keyboard --vckeymap=us --xlayouts=''

十、系統語言設置

# System language
lang en_US.UTF-8

十一、網絡設置

# Network information
network  --bootproto=dhcp --device=eth0 --activate
network  --hostname=localhost.localdomain

十二、安裝後的重啓

# Reboot after installation
reboot

1三、root密碼設置

# Root password
rootpw --iscrypted 6d/QQHF.8MAgw

1四、selinux設置

# SELinux configuration
selinux --enforcing
#[--disabled|--enforcing|--permissive]

1五、服務集設置

1)例子

# System services
services --enabled="chronyd"

2)說明

修改運行在缺省運行級別下的缺省的服務集.在disabled列表裏列出的服務將在enabled列表裏的服務啓用以前被禁用.

--disabled,禁用用逗號隔開的列表裏的服務.
--enabled,啓用用逗號隔開的列表裏的服務.

1六、系統時區

1)例子

# System timezone
timezone America/New_York --isUtc
user --groups=wheel --name=zhangxingeng --password=6d/QQHF.8MAgw --iscrypted

2)說明

1七、圖形設置

1)例子

# X Window System configuration information
xconfig  --startxonboot

2)說明

配置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.請肯定指定與視頻卡和顯示器兼容的色彩深度.

1八、清除磁盤mbr設置

1)例子

# Clear the Master Boot Record
zerombr

2)說明

若是指定了zerombr且yes是它的惟一參數,任何磁盤上的無效分區表都將被初始化.這會毀壞有無效分區表的磁盤上的全部內容.這個命令的格式應該以下

zerombr yes

19、清除分區信息

1)例子

# Partition clearing information
clearpart --all --drives=sda

2)說明

在建立新分區以前,從系統上刪除分區.默認不會刪除任何分區.
注:若是使用了clearpart命令,--onpart命令就不可以用在邏輯分區上.

--all,刪除系統上全部分區.
--drives=,指定從哪一個驅動器上清除分區.
例如,下面的命令清除了主IDE控制器上的前兩個驅動器上全部分區
clearpart --drives=hda,hdb --all
--initlabel,根據不一樣體系結構把磁盤標籤初始化爲缺省設置(例如,msdos用於x86而gpt用於Itanium).當安裝到一個嶄新的硬盤時,這頗有用,安裝程序不會詢問是否應該初始化磁盤標籤.
--linux,刪除全部Linux分區.
--none(缺省),不要刪除任何分區

20、建立分區設置

1)例子

# Disk partitioning information
part /boot --fstype=ext4 --asprimary --size=200     #boot200-250M
part swap --fstype=swap --asprimary --size=2048             
part / --fstype=ext4 --grow --asprimary  --size=2000

2)說明

--asprimary:強制指定爲主分區
--grow:使用全部可用空間,即爲其分配全部剩餘空間。對於根分區至少須要3G空間(即便是--grow,也仍是須要指定--size)
--ondisk:指定在哪塊磁盤上建立分區。若是有多塊磁盤,則須要指定在哪塊磁盤上建立哪一個分區,只有一塊硬盤時能夠省略該選
lvm設置
part pv.65 --fstype="lvmpv" --size=65035
part /boot --fstype="ext4" --size=500
volgroup VolGroup --pesize=4096 pv.65
logvol swap --fstype="swap" --grow --maxsize=2016 --size=1008 --name=lv_swap --vgname=VolGroup
logvol / --fstype="ext4" --grow --maxsize=51200 --size=1024 --name=lv_root --vgname=VolGroup
logvol /home --fstype="ext4" --grow --size=100 --name=lv_home --vgname=VolGroup

2一、repo設置

1)例子

repo --name="epel" --baseurl=http://repo.localepel.com/repo/centos/7/epel/7/x86_64

2)說明

指定除自帶以外的源,能夠是多個

repo --name= [--baseline= | --mirrorlist= ]

2二、建立新的用戶

說明

user --name= [--groups= ] [--homedir= ] [--password= ] [--iscrypted] [--shell= ] [--uid= ]

--name=,提供用戶的名字.這個選項是必需的.
--groups=,除了缺省的組之外,用戶應該屬於的用逗號隔開的組的列表.
--homedir=,用戶的主目錄.若是沒有指定,缺省爲/home/ .
--password=,新用戶的密碼.若是沒有指定,這個賬號將缺省被鎖住.
--iscrypted=,所提供的密碼是否已經加密?
--shell=,用戶的登陸shell.若是不提供,缺省爲系統的缺省設置.
--uid=,用戶的UID.若是未提供,缺省爲下一個可用的非系統 UID.

2三、安裝後執行的腳本

1)例子

%post
# Get interface up
ifdown eth0
ifup eth0
/usr/bin/chfn -f 'mac' zhangxingeng
mkdir -p /tmp/prl-tools-mnt
umount /dev/sr0
mount -t iso9660 -o exec /dev/sr0 /tmp/prl-tools-mnt
#EFImount -t msdos -o exec /dev/sr0 /tmp/prl-tools-mnt
mkdir -p /tmp/prl-tools-dir
mount -t iso9660 -o loop /tmp/prl-tools-mnt/prl-to*.iso /tmp/prl-tools-dir
echo
echo "Installing Parallels Tools, please wait..."
[ -d '/home/zhangxingeng' ] && ( HOME_DIR=/home/zhangxingeng/Desktop; mkdir -p "$HOME_DIR" && chown zhangxingeng:zhangxingeng "$HOME_DIR" );
cd /tmp/prl-tools-dir/
./install --install-unattended-with-deps --skip-rclocal-restore
umount /tmp/prl-tools-dir
rm -rf /tmp/prl-tools-dir
umount /dev/sr0
rm -rf /tmp/prl-tools-mnt
[ -e /tmp/sepolicy-devel.temp ] && rm /tmp/sepolicy-devel.temp
reboot
%end

2三、軟件包設置

1)例子

%packages --ignoremissing
@base
@basic-desktop
@core
@debugging
@desktop-debugging
@desktop-platform
@directory-client
@fonts
@general-desktop
@gnome-desktop
@graphical-admin-tools
@graphics
@input-methods
@java-platform
@legacy-x
@network-file-system-client
@performance
@perl-runtime
@print-client
@remote-desktop-clients
@server-platform
@virtualization
@virtualization-client
@virtualization-platform
@x11
abrt-gui
authconfig
certmonger
checkpolicy
chrony
gcc
genisoimage
kernel-devel
kexec-tools
krb5-workstation
libXmu
make
mtools
nscd
nss-pam-ldapd
oddjob
pam_krb5
pam_ldap
pax
perl-DBD-SQLite
python
python-dmidecode
selinux-policy-devel
sgpio
system-config-firewall-base
wodim

%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

4、更多設置

一、圖形

graphical
在圖形模式下執行kickstart安裝.kickstart安裝默認在圖形模式下安裝.

二、logvol

使用如下語法來爲邏輯卷管理(LVM)建立邏輯卷:
logvol --vgname= --size= --name=
這些選項以下所示:

--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

三、網絡

爲系統配置網絡信息.若是 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.

5、簡單實例

auth --enableshadow --passalgo=sha512 --enablefingerprint

install

text

url --url="http://10.211.55.4/centos7"

firewall --disable --service=ssh
firstboot --disable
ignoredisk --only-use=sda

keyboard --vckeymap=us --xlayouts=''

lang en_US.UTF-8

network  --bootproto=dhcp --device=eth0 --activate
network  --hostname=localhost.localdomain

reboot

rootpw --iscrypted 6d/QQHF.8MAgw

selinux --enforcing

services --enabled="chronyd"

timezone America/New_York --isUtc
user --groups=wheel --name=zhangxingeng --password=6d/QQHF.8MAgw --iscrypted

xconfig  --startxonboot

bootloader --append="rhgb quiet crashkernel=auto" --location=mbr --driveorder="sda" --boot-drive=sda

zerombr

clearpart --all --drives=sda

part pv.65 --fstype="lvmpv" --size=65035
part /boot --fstype="ext4" --size=500
volgroup VolGroup --pesize=4096 pv.65
logvol swap  --fstype="swap" --grow --maxsize=2016 --size=1008 --name=lv_swap --vgname=VolGroup
logvol /  --fstype="ext4" --grow --maxsize=51200 --size=1024 --name=lv_root --vgname=VolGroup
logvol /home  --fstype="ext4" --grow --size=100 --name=lv_home --vgname=VolGroup
%packages
@gnome-desktop
@core
@base-x
@chinese-support
xorg-x11-utils
xorg-x11-server-Xnest

轉載請註明出處:https:////www.cnblogs.com/zhangxingeng/p/12549346.html 

相關文章
相關標籤/搜索