cobbler之kickstart文件內容詳解

原文:https://blog.51cto.com/machenxi/2056408
先來一個例子,以centos7位例

# This kickstart file should only be used with EL > 5 and/or Fedora > 7.
# For older versions please use the sample.ks kickstart file.
# Install OS instead of upgrade
install
# Use text mode install
text
# System keyboard
keyboard us
# System language
lang en_US
# System timezone
timezone  Asia/ShangHai
#Root password
rootpw --iscrypted $default_password_crypted
# System authorization information
auth  --useshadow  --enablemd5
# Firewall configuration
firewall --disabled
# SELinux configuration
selinux --disabled
# Use network installation
url --url=$tree

# Clear the Master Boot Record
zerombr
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --all --initlabel
part /boot --fstype=xfs --size=500
part swap --fstype=swap --size=2048
part / --fstype=xfs --grow --size=200 

# If any cobbler repo definitions were referenced in the kickstart profile, include them here.
$yum_repo_stanza
# Network information
$SNIPPET('network_config')
# Do not configure the X Window System
skipx
# Run the Setup Agent on first boot
firstboot --disable
# Reboot after installation
reboot


%pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
# Enable installation monitoring
$SNIPPET('pre_anamon')
%end

%packages
$SNIPPET('func_install_if_enabled')
@core
@base
tree
nmap
wget
lftp
lrzsz
telnet
%end

%post --nochroot
$SNIPPET('log_ks_post_nochroot')
%end

%post
$SNIPPET('log_ks_post')
# Start yum configuration
$yum_config_stanza
# End yum configuration
$SNIPPET('post_install_kernel_options')
$SNIPPET('post_install_network_config')
$SNIPPET('func_register_if_enabled')
$SNIPPET('download_config_files')
$SNIPPET('koan_environment')
$SNIPPET('redhat_register')
$SNIPPET('cobbler_register')
# Enable post-install boot notification
$SNIPPET('post_anamon')
# Start final steps
$SNIPPET('kickstart_done')
# End final steps

sed -ri "/^#UseDNS/c\UseDNS no" /etc/ssh/sshd_config
sed -ri "/^GSSAPIAuthentication/c\GSSAPIAuthentication no" /etc/ssh/sshd_config
%end

Kickstart文件中的主要項目及參數介紹:
每個項目都由關鍵字來識別;關鍵字可跟一個或多個參數;如果某選項後面跟隨了一個等號(=),它後面就必須指定一個值。
install (可選)
明確指定系統次次進行的是全新安裝系統;是默認項;
cdrom (可選)
以本地CD-ROM爲源安裝系統;
harddrive (可選)
以硬盤分區中包含的鏡像爲源(安裝樹)安裝新系統;當以該種方式安裝系統時,即使指定clearpart –all項,源所在分區也不會被重新抹去;
–partition= 指定分區
–dir= 指定包含鏡像的目錄
例:
harddrive –partition=/dev/sdb2 –dir=/data/iso

nfs (可選)
指定從NFS服務器上獲取安裝樹;
–server= 指定NFS服務器,主機名稱或IP
–dir= 包含安裝樹的目錄
–opts= 可以指定掛載NFS的目錄時的掛載選項
例:
nfs –server=192.168.1.254 –dir=/data/iso
url (可選)
指定通過FTP或HTTP從網絡獲取安裝樹;
–url 指定資源位置
例:
url –url ftp://<username>:<password>@install.example.com/iso
url –url http://install.example.com/iso
bootloader (必需)
設定boot loader安裝選項;
–append= 可以指定內核參數
–driveorder= 設定設備BIOS中的開機設備啓動順序
–location= 設定引導記錄的位置; mbr:默認值;partition:將boot loader安裝於包含kernel的分區超級快中;none:不安裝boot loder。
示例:
bootloader –location=mbr –append=“rhgb quiet” –driveorder=sda,sdb
clearpart (可選)
在建立新分區前清空系統上原有的分區表,默認不刪除分區;
–all 擦除系統上原有所有分區;
–drives 刪除指定驅動器上的分區
–initlabel 初始化磁盤卷標爲系統架構的默認卷標
–linux 擦除所有的linux分區
–none(default)不移除任何分區
例:
clearpart –drives=hda,hdb –all –initlabel
zerombr (可選)
清除mbr信息,會同時清空系統用原有分區表
drivedisk (可選)
如果使用特殊存儲方式時,需要指定驅動程序盤位置以便加載存儲驅動;

  1. 將驅動盤拷貝到本地硬盤某分區根目錄:
    drivedisk <partition> [ --type=<fstype> ]
  2. 也可以指定一個網絡位置加載驅動程序盤
    drivedisk –source=ftp://path/to/drive.img
    drivedisk –source=http://path/to/drive.img
    drivedisk –source=nfs:host://path/to/drive.img
    firewall (可選)
    配置系統防火牆選項;
    firewall –enable|–disable [ --trust ] <device> [ --port= ]
    –enable 拒絕外部發起的任何主動連接;
    –disable 不配置任何iptables防禦規則;
    –trust 指定完全信任網卡設備;
    –port 使用port:protocol格式指定可以通過防火牆的服務;
    示例:
    firewall –enable –trust eth0 –trust eth1 –port=80:tcp
    selinux (可選)
    設置系統selinux狀態;默認爲啓用並處於enforcing模式;
    selinux [ --disabled|–enforcing|--premissive ]
    reboot (可選)
    在系統成功安裝完成後默認自動重啓系統(kickstart方法時);在收到你敢裝系統完成後,會提示按任意鍵進行重啓;
    在本文件中沒有明確指明其他方法時就默認完成方式爲reboot;
    使用 reboot 選項可能會導致安裝的死循環,這依賴於安裝介質和方法。需要特別注意;
    halt (可選)
    在系統成功安裝完成後關機;默認爲reboot;
    其他選項還有shutdown、poweroff,需要使用請自行參考官方文檔。
    graphical (可選)
    默認值,在圖形模式下進行kickstart方式安裝;
    text (可選)
    以文本方式進行kickstart安裝;默認爲圖形界面
    key (可選)
    設置一個安裝碼(installration number),用於獲取redhat官方的支持服務;
    –skip 跳過key設置,不進行設置;如果不設置可能跳轉到交互模式讓用戶選取動作;
    keyboard (必需)
    設置鍵盤類型;一般設置爲us;
    lang (必需)
    設置安裝過程使用的語言及系統的缺省語言;文本模式安裝時可能不支持某些語言(中、韓…),所以可能仍以默認的英文方式安裝;默認en_us,裝中文時,需要後期%packages部分裝上中文支持組件;
    例:
    lang en_US
    timezone (可選)
    設置系統的時區;
    timezone [ --utc ] <timezone>
    例:
    timezone –utc Asia/Shanghai
    auth/authconfig (必需)
    設置系統的認證方式;默認爲加密但不隱藏(shadow);
    –enablemd5 使用MD5加密方式
    –useshadow或—enableshadow 使用隱藏密碼;
    –enablenis= 使用NIS認證方式
    –nisdomain= NIS域
    –nisserver= NIS服務器
    還可以設置LDAP、SMB及Kerberos 5認證方式,詳細請參考官方文檔;
    例:
    authconfig –useshadow –enablemd5
    rootpw (必需)
    設置系統root賬號的密碼;
    rootpw [ --iscrypted ] <passwd>
    –iscrypted 表示設置的密碼爲加密過的串;
    例:
    rootpw pa4word
    rootpw –iscrypted $1$RPYyxobb$/LtxMNLJC7euEARg2Vu2s1
    network (可選)
    配置網絡信息;在網絡安裝(NFS/HTTP/FTP)時必須指定;
    –bootproto=dhcp|bootp|static 指定ip獲取方式,默認爲dhcp/bootp;
    –device= 設置安裝時激活來進行系統安裝的網卡設備;該參數只在kickstart文件爲本地文件時有效;若kickstart配置文件在網絡上,安裝程序會先初始化網卡然後去尋找kickstart文件;
    –ip= ip設置
    –gateway= 網關
    –nameserver= DNS設置
    –nodns 不設置DNS
    –netmask= 掩碼
    –hostname= 設置安裝後主機名稱
    –onboot= 設置是否在系統啓動時激活網卡
    –class= 設置DHCP的class值
    –noipv4 禁用該設備的ipv4功能
    –noipv6 禁用該設備的ipv6功能
    如將網絡模式設置爲靜態模式,則必須在一行內寫上ip,netmask、dns、gateway等信息;
    例:
    network –bootproto=static –ip=1.1.1.1 –metmask=255.0.0.0 –gateway=1.1.1.254 –nameserver=1.1.1.2
    netmask –bootproto=dhcp –device=eth0
    skipx (可選)
    如果該項存在,就不對系統的X進行設置;
    xconfig (可選)
    配置X window ;如果不給出選項,在安裝過程中需要手動調整設置;當然不安裝X時不應該添加該項;
    –driver 爲顯卡設置X驅動
    –videoram= 設置顯卡的RAM大小
    –defaultdesktop= 設置GNOME/KDE作爲默認桌面;假定這兩個桌面環境在%packages例已經安裝
    –startxonboot 使用圖形界面登錄系統
    –resolution= 設置圖形界面的分辨率;可用值有640480、800600、1024768等;確保設置指適合於顯示卡及顯示器;
    –depth= 設置顯示色深;可用值有8/16/24/32;確保設置值適合於顯示設備;
    例:
    xconfig –startxonboot –resolution=800
    600 –depth=16
    services (可選)
    設置禁用或允許列出的服務;
    –disabled 設置服務爲禁用
    –enabled 啓動服務
    例:
    services –disabled autid,cups,smartd,nfslock 服務之間用逗號隔開,不能有空格
    iscsi(可選)
    指定額外的ISCSI設備;
    issci –ipaddr= ipaddr [options].
    –target
    –port=
    –user=
    –password=
    part/partition (install模式必須)
    建立新分區;
    part <mntpoint>|swap|pv.id|rdid.id options
    mntpoint:掛載點,是在創建普通分區時指定新分區掛載位置的項;掛載點需要格式正確
    swap: 創建swap分區;
    raid.id: 表示創建的分區類型爲raid型;必須用id號進行唯一區別;
    pv.id: 表示所創建的分區類型爲LVM型;必須用唯一id號進行區別;
    –size= 設置分區的最小值,默認單位爲M,但是不能寫單位;
    –grow 讓分區自動增長利用可用的磁盤空間,或是增長到設置的maxsize值;
    –maxsize 設置分區自動增長(grow)時的最大容量值,以M爲單位,但不能寫單位;
    –onpart=/–usepart= 設置使用原有的分區;
    –noformat 設置不格式化指定的分區,在跟—onpart一同使用時,可以避免刪除原有分區上的數據,在新安裝的系統中保留使用數據;
    –asprimary 強制制定該分區爲主分區;若指定失敗,分區會失敗,導致安裝停止;
    –fstype= 新增普通分區時指定分區的類型,可以爲ext2、ext3、ext4、swap、vfat及hfs;
    –ondisk=/–ondrive= 設定該分區創建在一個具體的磁盤上;
    –start 指定分區以磁盤上那個磁道開始;需要跟–ondisk參數一塊使用;
    –end 指定分區以磁盤上那個磁道結束;需要跟上述兩個參數一起使用;
    –recommended:讓系統自行決定分區的大小;在創建swap分區時,若RAM<2G,則分區大小爲2*RAM;若RAM>=2G時,分區大小爲RAM+2G;
    –bytes-pre-inode= 指定分區格式化時inode的大小;默認值爲4096
    –fsoptions= 指定創建fstab文件時該分區掛載參數項;
    例:
    part /boot –fstype=“ext3” –size=100
    part swap –fstype=“swap” –size=512
    part / –bytes-pre-inode=4096 –fstype=“ext4”–size=10000
    part /data –onpart=/dev/sdb1 –noformat
    part raid.100 –size=2000
    part pv.100 –size=1000
    raid (可選)
    設置RAID。
    raid 掛載點 –level=<level> –device=<mddevices_name> <raid組成分區>
    掛載點: 選取根/時,注意儘量避免/boot在RAID內,除非爲RAID1;
    –level= 設置RAID級別
    –device= RAID設備名稱,如md0,md1…
    –byte-pre-inode= 設置該RAID分區上inode大小;若分區文件系統類型不支持該參數,會靜默忽略參數;
    –spares= 設置RAID的熱備盤
    –fstype= 設置文件系統類型
    –fsoptions= 設置掛載該文件系統時自定義的一些參數,參數寫入fstab文件;
    –useexisting 使用現有的RAID設備並且重新格式化原設備
    –noformat 在使用現有的RAID設備時不格式化原有RAID設備
    例:完整創建一個RAID1設備示例;
    part raid.10 –size=1000 –ondisk=/dev/sdb
    part raid.11 –size=1000 –ondisk=/dev/sdc
    raid /data –level=1 –device=md0 raid.10 raid.11
    volgroup (可選)
    創建一個LVM卷組VG;
    volgroup vg_name partition [options]
    –useexiting 使用現有的VG並且重新格式化
    –noformat 使用現有的VG時不做格式化
    –pesize 設置PE(physical extents)塊大小
    例:
    part pv.11 –size=2000
    volgroup myvg pv.11
    logvol (可選)
    創建一個LVM邏輯卷LV;
    logvel mnt_point –vgname=vg_name –size=lv_size –name=lv_name [options]
    –useexiting 使用現有的LV並且重新格式化
    –noformat 使用現有的LV時不做格式化
    –fstype= 指定RAID分區類型
    –fsoptions= 設置掛載該文件系統時自定義的一些參數,參數寫入fstab文件;
    –byte-pre-inode= 設置該RAID分區上inode大小;
    –precent= 設定LV大小爲VG可用空間的比例;
    例:
    part pv.20 –size=5000
    volgroup mvvg pv.20
    logvol /data –vgname=myvg –size=3000 –name=mydata
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章