23.3. Kickstart 語法參照

23.3.1. Kickstart 語法中的變更

雖然 Kickstart 安裝的一般原理基本上維持不變,然而 Red Hat Enterprise Linux 主要發行版之間的指令和選項可能會改變。您可使用 ksverdiff 指令來顯示兩個 Kickstart 語法版本之間的差異。這對於更新既有的 Kickstart 檔案以供新發行版來說相當有幫助。若要顯示一列 Red Hat Enterprise Linux 6 和 7 之間的語法變更,請使用以下指令:
$ ksverdiff -f RHEL6 -t RHEL7
-f 選項能指定先使用哪個發行版來進行比較,而 -t 選項則能指定以哪個發行版作為結尾。欲取得更多資訊,請參閱 ksverdiff(1) man page。

23.3.2. Kickstart 指令和選項

注意

如果選項後面有個等號(=),那麼之後便必須連接一個值。在範例指令中,中括號([ ])中的選項乃該指令的選用引數。

重要

裝置名稱在開機過後並不一定會繼續存在,那會增加 Kickstart 程序檔的複雜性。當 Kickstart 選項調用裝置名稱(例如 sda)時,您可以使用 /dev/disk 裡面的任何項目,取代裝置名稱。例如,與其使用:
part / --fstype=xfs --onpart=sda1
您可以使用類似以下的句法:
part / --fstype=xfs --onpart=/dev/disk/by-path/pci-0000:00:05.0-scsi-0:0:0:0-part1
part / --fstype=xfs --onpart=/dev/disk/by-id/ata-ST3160815AS_6RA0C882-part1
這會提供一致的方式,用更有意義的方式參照到磁碟,而不是 sda。這在大型的儲存環境中特別有用。
authauthconfig(選用)
使用 authconfig 指令為系統設定身份認證選項,您也可以在安裝程序結束後在命令列執行此程式。欲取得更多相關資訊,請參閱 authconfig(8) manual page 和 authconfig --help 指令。就預設值,密碼會儲存在 shadow 檔案中。
  • --enablenis — 開啟 NIS 支援。就預設值,--enablenis 將會使用在網路上所找到的任何網域,您必須總是使用 --nisdomain= 選項來手動設定一個網域。
  • --nisdomain= — NIS 服務所使用的 NIS 網域名稱。
  • --nisserver= — NIS 服務所使用的伺服器(預設為廣播尋找)。
  • --useshadow--enableshadow — 使用 shadow 密碼。
  • --enableldap — 在 /etc/nsswitch.conf 中開啟 LDAP 支援,這能讓您的系統由一個 LDAP 目錄擷取使用者的相關資訊(UID、家目錄、shell 等等)。若要使用此選項,您必須安裝 nss-pam-ldapd 套件。您也必須使用 --ldapserver=--ldapbasedn=,來指定一部伺服器以及一個 DN(distinguished name)。
  • --enableldapauth — 使用 LDAP 來作為認證方式。這將會啟用使用一個 LDAP 目錄來作為認證與更改密碼的 pam_ldap 模組。若要使用此選項,您必須安裝 nss-pam-ldapd 套件。您也必須使用 --ldapserver=--ldapbasedn=,來指定一部伺服器和一個 base DN。若您的環境不使用 TLS(Transport Layer Security),請使用 --disableldaptls 切換選項,以確保最終的配置檔案能使用。
  • --ldapserver= — 若您指定了 --enableldap--enableldapauth,請使用此選項來指定欲使用的 LDAP 伺服器名稱。此選項設定於 /etc/ldap.conf 檔案中。
  • --ldapbasedn= — 如果您指定了 --enableldap--enableldapauth,請使用此選項來指定儲存了使用者資訊的 LDAP 目錄樹中的 DN。此選項設定於 /etc/ldap.conf 檔案中。
  • --enableldaptls — 使用 TLS(Transport Layer Security)搜尋。此選項能使 LDAP 在進行認證之前,傳送已加密的使用者名稱與密碼到一部 LDAP 伺服器上。
  • --disableldaptls — 在一個使用了 LDAP 來進認證的環境中,不使用 TLS(Transport Layer Security)查詢。
  • --enablekrb5 — 使用 Kerberos 5 來驗證使用者。Kerbors 本身並無法辨認家目錄、使用者身份或 shell。如果您要啟用 Keroberos,如果您要啟用 SMB,您必須透過啟用 LDAP、NIS 或 Hesiod 來使用戶帳號能被工作站辨認,或者透過使用 useradd 指令。若您要使用此選項,您必須安裝 pam_krb5 套件。
  • --krb5realm= — 您的工作站所隸屬的 Kerberos 5 領域(realm)名稱。
  • --krb5kdc= — 為領域提供服務的一或多台 KDC。如果領域中有多台 KDC,請使用逗號隔開,逗號之後不要有空格。
  • --krb5adminserver= — 在您的領域中也在執行 kadmind 的 KDC。這部伺服器負責處理密碼更改,以及其它的管理性請求。如果您有超過一個 KDC,這部伺服器必須在主要的 KDC 上執行。
  • --enablehesiod — 啟用 Hesiod 支援以搜尋使用者家目錄、UID 與 shell。/usr/share/doc/glibc-2.x.x/README.hesiod 檔案中包含了更多有關於在您網路上設定和使用 Hesiod 的資訊(收錄於 glibc 套件中)。Hesiod 乃 DNS 的一種延伸,它使用 DNS 紀錄來儲存有關於使用者、群組,以及其它許多項目的資訊。
  • --hesiodlhs and --hesiodrhs — 設定於 /etc/hesiod.conf 檔案中的 Hesiod LHS(left-hand side)與 RHS(right-hand side)值。Hesiod 函式庫使用這些值,以由 DNS 搜尋一組名稱,和 LDAP 使用 base DN 的方式相似。
    如要搜尋使用者名稱 jim 的使用者資訊,Hesiod 函式庫會搜尋 jim.passwdLHSRHS,這應該會解析成一筆 TXT 紀錄,包含了與該使用者在 passwd 檔案中的一條項目相同的字串:jim:*:501:501:Jungle Jim:/home/jim:/bin/bash。若要查詢群組,Hesiod 函式庫會查詢 jim.groupLHSRHS 來代替。
    若要以數字的方式搜尋使用者與群組,請指定 501.uidjim.passwd 的 CNAME,並指定 501.gidjim.group 的 CNAME。請注意,當函式庫要進行搜尋時,它不會在 LHS 和 RHS 值之前放置一個句點(.)。因此,若 LHS 與 RHS 的值之前,需要放置句點的話,您必須在您為 --hesiodlhs--hesiodrhs 所設置的值之中,包含句點。
  • --enablesmbauth — 在 SMB 伺服器(通常為 Samba 或 Windows 伺服器)上啟用使用者驗證。SMB 驗證支援無法辨認家目錄、UID 或 shells。若您要啟用 SMB,您必須透過啟用 LDAP、NIS 或 Hesiod,以使用戶帳號能被工作站辨認,或是透過使用 useradd 指令。
  • --smbservers= — 用於 SMB 認證的伺服器之名稱。若要指定一部以上的伺服器,請以逗號(,)將其名稱分隔開來。
  • --smbworkgroup= — SMB 伺服器所屬的工作群組名稱。
  • --enablecache — 啟用 nscd 服務。nscd 服務會快取儲存有關於使用者、群組,以及許多其它類型的資訊。如果您選擇使用 NISLDAPHesiod 來透過網路發佈使用者與群組的資訊,快取的功能則相當有幫助。
  • --passalgo= — 指定 sha256 以設定 SHA-256 雜湊演算法則,或選擇 sha512 來設定 SHA-512 雜湊演算法則。
autopart(選用性)
自動建立分割區:root(/)分割區(1 GB 或以上)、swap 分割區、以及適用於該架構所需大小的 /boot 分割區。在夠大的磁碟上(50 GB 或以上),這還會建立 /home 分割區。

重要

autopart 選項不可與 part/partitionraidlogvol,或 volgroup 選項在相同的 Kickstart 檔案中同時使用。
  • --type= — 選擇您希望使用的預定義分割區方案。可接受的值如下:
    • lvm:LVM 分割區方案。
    • btrfs:Btrfs 分割區方案。
    • plain:一般分割區,沒有 LVM 或 Btrfs。
    • thinp:LVM 精簡型供給分割區方案。
    關於可用的分割區方案之描述,請參閱〈節 6.10.4.1.1, “檔案系統類型”〉。
  • --nolvm — 自動建立分割區時不使用 LVM 或 Btrfs。這選項相當於 --type=plain
  • --encrypted — 加密所有分割區。這與進行手動式圖形化安裝程序時,在初始磁碟分割畫面上勾選「加密分割區」核取方塊是相等的。
  • --passphrase= — 能為所有加密裝置提供預設的系統全域密語。
  • --escrowcert=URL_of_X.509_certificate — 會將所有已加密的卷冊的資料加密金鑰,以檔案的方式儲存在 /root 中,透過來自於以 URL_of_X.509_certificate 所指定的 URL 之 X.509 憑證來進行加密。各個加密卷冊的金鑰皆會被儲存為個別的檔案。此選項只有在指定了 --encrypted 的情況下,才會有作用。
  • --backuppassphrase — 新增一組隨機產生的密碼字串給各個加密的卷冊。將這些密碼字串儲存在 /root 中的另一個檔案裡,透過了使用以 --escrowcert 所指定的 X.509 憑證來進行加密。此選項只有在指定了 --escrowcert 的情況下才會有作用。
  • --cipher= — 如果您不打算使用 Anaconda 預設的 aes-xts-plain64,請指定加密選項。此選項必須與 --encrypted 選項搭配使用;單使用這選項不會起任何作用。可用的加密選項都列在《Red Hat Enterprise Linux 7 安全性指南》中,但 Red Hat 強烈建議您使用 aes-xts-plain64aes-cbc-essiv:sha256
autostep(選用性)
正常來說,Kickstart 安裝程序會跳過不必要的畫面。這選項可讓安裝程式簡短顯示每個畫面。建置系統時請勿使用此選項,因為這會打斷安裝套件的過程。
  • --autoscreenshot — 在安裝過程中擷取每個安裝步驟的畫面,並在安裝完成後將擷取的圖檔複製到 /tmp/anaconda-screenshots 中。這對於建置使用說明相當有幫助。
bootloader(必要)
指定該如何安裝開機載入程式。

重要

Red Hat 建議在每部系統上皆設定一組開機載入程式密碼。未受保護的開機載入程式能被攻擊者修改系統的開機選項並取得未經允許的系統存取權限。

重要

在某些情況下,您需要有個特殊的分割區來在 AMD64 和 Intel 64 系統上安裝開機載入程式。此分割區的類型與大小取決於您要安裝開機載入程式的磁碟所使用的是 Master Boot Record(MBR)或是 GUID Partition Table(GPT)方案。欲取得更多相關資訊,請參閱〈節 6.10.1, “安裝開機載入程式”〉。
  • --append= — 指定額外的核心參數。如要指定多個核心參數,請以空白字元來將它們隔開。如:
    bootloader --location=mbr --append="hdd=ide-scsi ide=nodma"
    rhgbquiet 參數總是會被使用,儘管您在此不指定它們,或根本不使用 --append= 指令。
  • --boot-drive= — 指定開機載入程式該寫入哪個磁碟,並進而讓系統從該磁碟開機。

    重要

    --boot-drive= 選項目前在使用了 zipl 開機載入程式的 IBM System z 系統上的 Red Hat Enterprise Linux 安裝程序中會被忽略。當 zipl 被安裝時,它會自行判斷開機磁碟。
  • --leavebootloader — 避免安裝程式變更 EFI 或 ISeries/PSeries 系統的現有可開機映像檔清單。
  • --driveorder — 指定 BIOS 開機順序中的第一順位磁碟機。例如:
    bootloader --driveorder=sda,hda
  • --location= — 指定開機記錄會被寫在哪裡。有效的值為:
    • mbr — 預設選項。取決於磁碟是否使用 Master Boot Record(MBR)或是 GUID 分割表(GPT)方案:
      • 在 GPT 格式的磁碟上,此選項會將開機載入程式的階段 1.5 安裝入 BIOS 開機分割區中。
      • 在一部 MBR 格式的磁碟上,階段 1.5 將會被安裝入 MBR 和第一個分割區之間的空白空間中。
    • partition — 安裝開機載入程式在包含了 kernel 的分割區的第一個區段上。
    • none — 不安裝開機載入程式。
    在大部分情況下不需要指定此選項。
  • --password= — 當使用 GRUB2 時,這會將開機載入程式密碼設為以此選項所指定的密碼。這應被使用來限制存取可傳送任意 kernel 選項的 GRUB2 shell。
    若已指定一組密碼,GRUB2 也會要求輸入一組使用者名稱。使用者名稱會是 root
  • --iscrypted — 通常,當您透過 --password= 選項指定開機載入程式密碼後,它將會以純文字的方式被儲存在 Kickstart 檔案中。若您希望為密碼加密,請使用此選項和一組加密的密碼。
    若要產生一組加密的密碼,請使用 grub2-mkpasswd-pbkdf2 指令,輸入您希望使用的密碼,然後將指令的輸出(以 grub.pbkdf2 為起始的雜湊)複製入 Kickstart 檔案中。以下為一個含有加密密碼的範例 bootloader Kickstart 項目:
    bootloader --iscrypted --password=grub.pbkdf2.sha512.10000.5520C6C9832F3AC3D149AC0B24BE69E2D4FB0DBEEDBD29CA1D30A044DE2645C4C7A291E585D4DC43F8A4D82479F8B95CA4BA4381F8550510B75E8E0BB2938990.C688B6F0EF935701FF9BD1A8EC7FE5BD2333799C98F28420C5CC8F1A2A233DE22C83705BB614EA17F3FDFDF4AC2161CEA3384E56EB38A2E39102F5334C47405E
  • --timeout= — 指定了開機載入程式在啟用預設選項前,所會等待的時間(秒)。
  • --default= — 在開機載入程式中設置預設的開機映像檔。
  • --extlinux — 使用 extlinux 開機載入程式,而非 GRUB2。只有 extlinux 所支援的系統才能使用此選項。
btrfs(選用性)
建立 Btrfs 卷冊或子卷冊。就卷冊來說,語法為:
btrfs mntpoint --data=level --metadata=level --label=label partitions
partitions 中可指定一或更多個分割區。當指定超過一個分割區時,這些項目必須以單一空格區隔開來。範例請參閱〈範例 23.1, “建立 Btrfs 卷冊和子卷冊”〉。
就子卷冊來說,語法為:
btrfs mntpoint --subvol --name=path parent
parent 應為子卷冊之父卷冊的識別碼,而 mntpoint 則為檔案系統掛載的位置。
  • --data= — 檔案系統資料所使用的 RAID 等級(例如 01 或是 10)。選用選項。這個選項對於子卷冊不具任何意義。
  • --metadata= — 檔案系統資料/卷冊 metadata 所使用的 RAID 等級(例如 01 或是 10)。選用選項。這個選項對於子卷冊不具任何意義。
  • --label= — 為 Btrfs 檔案系統指定標籤。如果所給定的標籤已經被另一個檔案系統所用,那麼會建立新的標籤。這個選項對於子卷冊不具任何意義。
  • --noformat--useexisting — 使用現有的 Btrfs 卷冊(或子卷冊),並且不重新格式化檔案系統。
以下範例顯示如何從三個磁碟上的成員分割區建立 Btrfs 子卷冊給 //home 使用。在這範例中,主要卷冊並未掛載,或被直接使用。

範例 23.1. 建立 Btrfs 卷冊和子卷冊

part btrfs.01 --size=6000 --ondisk=sda
part btrfs.02 --size=6000 --ondisk=sdb
part btrfs.03 --size=6000 --ondisk=sdc

btrfs none --data=0 --metadata=1 --label=rhel7 btrfs.01 btrfs.02 btrfs.03
btrfs / --subvol --name=root LABEL=rhel7
btrfs /home --subvol --name=home rhel7
clearpart(選用性)
在建立新分割區之前,從系統移除分割區。預設上,不會移除任何分割區。

注意

如果使用了 clearpart 指令,part --onpart 指令則不能被使用在一個邏輯分割區上。
欲取得更多有關於磁碟分割和 clearpart 指令上的相關資訊,請參閱〈節 23.4.1, “進階磁碟分割範例”〉。
  • --all — 移除系統上所有的分割區。
  • --drives= — 指定要由哪個磁碟清除分割區。下列範例顯示了將位於主 IDE 控制器上,前兩個磁碟的所有分割區清除掉:
    clearpart --drives=hda,hdb --all
    要清除 multipath 裝置,請使用 disk/by-id/scsi-WWID 格式,其中 WWID 是裝置的「world-wide identifier」。舉例來說,要清除 WWID 為 58095BEC5510947BE8C0360F604351918 的磁碟,請使用:
    clearpart --drives=disk/by-id/scsi-58095BEC5510947BE8C0360F604351918
    這格式適用於所有 multipath 裝置;但如果發生錯誤,要清除不使用「邏輯卷冊管理(LVM,logical volume management)」的 multipath 裝置,請使用 disk/by-id/dm-uuid-mpath-WWID 格式,其中 WWID 是裝置的「world-wide identifier」。舉例來說,要清除 WWID 為 2416CD96995134CA5D787F00A5AA11017 的磁碟,請使用:
    clearpart --drives=disk/by-id/dm-uuid-mpath-2416CD96995134CA5D787F00A5AA11017

    警告

    絕對不要使用類似 mpatha 的裝置名稱來指定 multipath 裝置。諸如此類的裝置名稱不特屬於特定的磁碟。安裝期間名為 /dev/mpatha 的磁碟可能不是您預期的磁碟。因此,clearpart 指令可能會指向錯誤的磁碟。
  • --list= — 指定要清除哪些分割區。若使用的話,這選項會覆寫 --all--linux 選項。此選項可以用在不同的磁碟上。例如:
    clearpart --list=sda2,sda3,sdb1
  • --initlabel — 將磁碟標籤初始化為系統架構的預設值(比方說 x86 為 msdos)。此選項僅能搭配 --all 選項。
  • --linux — 清除所有 Linux 分割區。
  • --none(預設值)— 不移除任何分割區。
cmdline(選用性)
以非互動式的命令列模式進行安裝。任何互動上的提示都會中止安裝。此模式對於使用了 x3270 終端機的 IBM System z 系統來說相當有幫助。建議與 RUNKS=1inst.ks= 參數併用。請參閱〈節 18.4, “用於 Kickstart 安裝程序的參數”〉。
device(選用)
在大部份 PCI 系統上,安裝程式會自動偵測乙太網路卡與 SCSI 卡。然而,在較舊與部份 PCI 系統上,Kickstart 需要一些指引,才能找到正確的裝置。device 指令會告訴安裝程式安裝額外的模組,格式如下:
device moduleName --opts=options
  • moduleName — 以想要安裝的 kernel 模組之名稱取代。
  • --opts= — 要傳遞到 kernel 模組的選項。例如:
    device --opts="aic152x=0x340 io=11"
driverdisk(選用)
進行 Kickstart 安裝時,可以使用驅動程式磁碟來提供就預設值未包含的額外驅動程式。您必須將磁碟中的內容複製到系統硬碟上,某個分割區的根目錄裡。然後您必須使用 driverdisk 指令,來要求安裝程式搜尋驅動程式磁碟及其位置。
driverdisk [partition|--source=url|--biospart=biospart]
另外,您可以指定一個含有驅動程式磁碟片的網路位置:
driverdisk --source=ftp://path/to/dd.img
driverdisk --source=http://path/to/dd.img
driverdisk --source=nfs:host:/path/to/img
  • partition — 包含驅動程式磁碟的分割區。請注意,分割區必須指定為完整路徑(例如 /dev/sdb1),而不是只有分割區名稱(例如 sdb1)。
  • --source= — 驅動程式磁碟的 URL。NFS 位置的格式為 nfs:host:/path/to/img
  • --biospart= — 包含 驅動程式磁碟的 BIOS 分割區(例如 82p2)。
eula(選用)
使用此選項來在無使用者互動的情況下接受 End User License Agreement(EULA)使用條款。指定此選項能避免 Initial Setup 在您完成安裝並首次重新啟動系統時,提示您接受使用條款。詳情請參閱〈節 26.1, “初始設定(Initial Setup)”〉。
  • --agreed(必要)— 接受 EULA。此選項乃必要的選項,否則 eula 指令將無意義。
fcoe(選用)
指定除了由「加強型磁碟驅動服務」(EDD,Enhanced Disk Drive Services)探索到的 FCoE 裝置之外,還應該自動啟動哪些 FCoE 裝置。
fcoe --nic=name [options]
  • --nic=(必要選項)— 欲啟用之裝置的名稱。
  • --dcb= — 建立 Data Center Bridging(DCB,資料中心橋接)設定。
  • --autovlan — 自動探索 VLAN。
firewall(選用)
為已安裝的系統指定防火牆配置。
firewall --enabled|--disabled device [options]
  • --enabled--enable — 拒絕不會回應向外請求的連入連線(例如 DNS 回應或 DHCP 請求)。如果您需要存取在這部電腦上執行的服務,您可以選擇允許特定的服務通過防火牆。
  • --disabled--disable — 不配置任何 iptables 規則。
  • --trust= — 在此列出一個裝置(例如 em1)能允許所有進入或來自於該裝置的流量通過防火牆。若要列出超過一個裝置,請使用 --trust em1 --trust em2。請勿使用以逗號區隔開的格式,例如 --trust em1, em2
  • incoming — 指定以下一或多個服務,好允許特定的服務通過防火牆。
    • --ssh
    • --smtp
    • --http
    • --ftp
  • --port= — 您可以使用 port:protocol 格式來指定允許通過防火牆的連接埠。舉例來說,如要允許 IMAP 存取通過您的防火牆,請指定 imap:tcp。您也可以指定特定的數值連接埠,如 1234:udp 表示允許在 1234 埠號的 UDP 封包通過防火牆。如要指定多個連接埠,請以逗號將它們隔開。
  • --service= — 此選項提供了更高等級的方式來允許服務通過防火牆。有些服務(例如 cupsavahi 等等)需要多個開啓的連接埠或特殊配置才能正常運作。您能以 --port 選項來指定各個獨立的連接埠,或指定 --service= 來將它們一次全部開啓。
    有效選項為 firewalld 套件中的 firewall-offline-cmd 程式所能辨識的任何選項。若 firewalld 正在執行,firewall-cmd --get-services 將會提供一列已知的服務名稱。
firstboot(選用)
決定第一次系統啟動時,是否要執行 Initial Setup。如果啟用此功能,就必須安裝 initial-setup 套件。如果沒有指定的話,預設上此選項會是停用的。
  • --enable--enabledInitial Setup 會在系統首次啟動時啟用。
  • --disable--disabledInitial Setup 不會在系統首次啟動時啟用。
  • --reconfig — 在重新配置模式下使 Initial Setup 在開機時啟用。除了預設的選項之外,此模式還可啟用語言、滑鼠、鍵盤、root 密碼、安全層級、時區,以及網路配置選項。
group(選用性)
在系統上建立新的使用者群組。若提供給群組的名稱或 GID 已存在,這項指令便會失敗。此外,user 指令亦可被用來為新建立的使用者建立新群組。
group --name=name [--gid=gid]
  • --name= — 提供群組的名稱。
  • --gid= — 群組的 GID。若沒有提供的話,這將會被預設為下一個可用的非系統 GID。
graphical(選用性)
以圖形介面進行安裝過程。這是預設值。
halt(選用)
在安裝完成後將系統終止。這與進行手動安裝類似,Anaconda 會顯示一則訊息並等待使用者按下任意鍵來重新啟動。在進行 Kickstart 安裝過程時,如果沒有指定完成方式,則此選項會用來作為預設選項。
halt 指令與 shutdown -h 指令相等。
有關於其它完成方式,請參照 poweroffrebootshutdown 指令。
ignoredisk(選用)
使安裝程式忽略指定的磁碟。這適用於當您使用自動分割,並希望確認某些磁碟會被忽略的情況下。比方說,在沒有 ignoredisk 的情況下,嘗試在 SAN 叢集上建置 Kickstart 可能會失敗,因為安裝程式會偵測到未回傳磁碟分割表的 SAN 被動路徑。
ignoredisk --drives=drive1,drive2,...
driveNsdasdb、...、hda、... 等等。
要忽略不使用「邏輯卷冊管理(LVM,logical volume management)」的 multipath 裝置,請使用 disk/by-id/dm-uuid-mpath-WWID 格式,其中 WWID 是裝置的「world-wide identifier」。舉例來說,要忽略 WWID 為 2416CD96995134CA5D787F00A5AA11017 的磁碟,請使用:
ignoredisk --drives=disk/by-id/dm-uuid-mpath-2416CD96995134CA5D787F00A5AA11017
使用 LVM 的 multipath 裝置要在 Anaconda 剖析 Kickstart 檔案之後才會組合。因此,您不能使用 dm-uuid-mpath 來指定這些裝置。相反地,要忽略使用 LVM 的 multipath 裝置,請使用 disk/by-id/scsi-WWID 格式,其中 WWID 是裝置的 world-wide identifier(WWID)。例如說,要忽略 WWID 為 58095BEC5510947BE8C0360F604351918 的裝置,請使用:
ignoredisk --drives=disk/by-id/scsi-58095BEC5510947BE8C0360F604351918

警告

絕對不要使用類似 mpatha 的裝置名稱來指定 multipath 裝置。諸如此類的裝置名稱不特屬於特定的磁碟。安裝期間名為 /dev/mpatha 的磁碟可能不是您預期的磁碟。因此,clearpart 指令可能會指向錯誤的磁碟。
  • --only-use — 指定一列供安裝程式使用的磁碟。其它所有磁碟則會被忽略。比方說,若要在進行安裝時,使用磁碟 sda 並忽略所有其它磁碟:
    ignoredisk --only-use=sda
    要納入不使用 LVM 的 multipath 裝置:
    ignoredisk --only-use=disk/by-id/dm-uuid-mpath-2416CD96995134CA5D787F00A5AA11017
    要納入使用 LVM 的 multipath 裝置:
    ignoredisk --only-use=disk/by-id/scsi-58095BEC5510947BE8C0360F604351918
  • --interactive — 允許您手動式瀏覽進階儲存裝置的畫面。
install(選用)
預設的安裝方法。您必須從 cdromharddrivenfsliveimgurl(表示 FTP、HTTP、或 HTTPS 安裝)之中做選擇,以指定安裝類型。install 指令與安裝方法的使令必須位於不同行。例如:
install
liveimg --url=file:///images/install/squashfs.img --noverifyssl
  • cdrom — 從系統上第一個光碟機進行安裝。
  • harddrive — 從一個 Red Hat installation 安裝樹或是本機磁碟上的完整安裝 ISO 映像檔安裝。磁碟必須包含安裝程式所能掛載的檔案系統:ext2ext3ext4vfat,或是 xfs
    • --biospart= — 要由哪個 BIOS 分割區安裝(例如 82)。
    • --partition= — 要由哪個分割區安裝(例如 sdb2)。
    • --dir= — 包含安裝樹的 variant 目錄的目錄,或是完整安裝 DVD 的安裝樹。
    舉例來說:
    harddrive --partition=hdb2 --dir=/tmp/install-tree
  • liveimg — 從磁碟映像檔安裝,而非套件。這映像檔可以是 Live ISO 映像檔的 squashfs.img,或是安裝媒體可以掛載的任何檔案系統。支援的檔案系統有 ext2ext3ext4vfat,和xfs
    • --url= — 安裝的來源位置。支援的協定有 HTTPHTTPSFTP、以及 file
    • --proxy= — 指定安裝過程中所使用的 HTTPHTTPS、或 FTP 通訊協定。
    • --checksum= — 選用引數,指定映像檔的 SHA256 校驗碼,用以驗證檔案的完整性。
    • --noverifyssl — 連上 HTTPS 伺服器時停用 SSL 驗證。
    舉例來說:
    liveimg --url=file:///images/install/squashfs.img --checksum=03825f567f17705100de3308a20354b4d81ac9d8bed4bb4692b2381045e56197 --noverifyssl
  • nfs — 從指定的 NFS 伺服器安裝。
    • --server= — 要從哪個伺服器安裝(主機名稱或 IP)。
    • --dir= — 包含了安裝樹的 variant 目錄的目錄。
    • --opts= — 用來掛載 NFS export 的掛載選項(選用性)
    舉例來說:
    nfs --server=nfsserver.example.com --dir=/tmp/install-tree
  • url — 透過 FTP 、HTTP 或 HTTPS,從遠端伺服器上的安裝樹進行安裝。
    • --url= — 欲從哪個位置進行安裝。支援的協定為 HTTPHTTPSFTPfile
    • --mirrorlist= — 要從哪個鏡像 URL 安裝。
    • --proxy= — 在執行安裝程序時,指定一個 HTTPHTTPS 或是 FTP 代理伺服器來使用。
    • --noverifyssl — 連上 HTTPS 伺服器時停用 SSL 驗證。
    舉例來說:
    url --url http://server/path
    或是:
    url --url ftp://username:password@server/path
iscsi(選用性)
iscsi --ipaddr=address [options]
指定在進行安裝時連接額外的 iSCSI 儲存裝置。若您使用了 iscsi 指令,您也必須透過 iscsiname 指令為 iSCSI 節點指定一組名稱。在 Kickstart 檔案中,iscsiname 指令必須出現在 iscsi 指令之前。
我們建議您無論何時都在系統 BIOS 軔體(Intel 系統則是 iBFT)中配置 iSCSI 儲存裝置,而不是使用 iscsi 指令。Anaconda 會自動地偵測和使用配置於 BIOS 或是軔體中的磁碟,並且無須在 Kickstart 檔案中進行特殊的配置。
若您必須使用 iscsi 參數的話,請確認網路作業在安裝開始時已啟用,並且在您以 clearpartignoredisk 參數來參照 iSCSI 磁碟之前,先確認 iscsi 指令是否有出現在 Kickstart 檔案中。
  • --ipaddr=(必要)— 要連上的目標之 IP 位址。
  • --port=(必要)— 連接埠號(典型埠號為 --port=3260
  • --target= — 目標 IQN(符合 iSCSI 的名稱)。
  • --iface= — 將連線綁定至特定的網路卡,而不是由網路層所決定的預設網路卡。一旦使用此選項,整個 kickstart 檔案中的所有 iscsi 指令都得照樣使用同樣的選項。
  • --user= — 驗證 target 所需的使用者名稱
  • --password= — 和指定來作為 target 之使用者名稱相應的密碼
  • --reverse-user= — 從一個使用了反向 CHAP 驗證的 target 來驗證 initiator 時所需的使用者名稱
  • --reverse-password= — 和指定來作為 initiator 之使用者名稱相應的密碼
iscsiname(選用性)
指定一組由 iscsi 參數所指定的名稱至 iSCSI 節點。若您在您的 Kickstart 檔案中使用了 iscsi 參數的話,您必須在 Kickstart 檔案中指定此參數之前,先指定 iscsiname
iscsiname iqn
keyboard(必要)
為系統設置一或更多個可用鍵盤配置。
  • --vckeymap= — 指定要使用的 VConsole 鍵盤對應。合於規定的名稱是能對應到 /usr/lib/kbd/keymaps/* 目錄中的檔案名稱,但不包括 .map.gz 延伸檔名。
  • --xlayouts= — 指定一列以逗號隔開並且無空格的 X 格式。接受與 setxkbmap(1) 相同的格式,格式能夠是 layout 格式(例如 cz)或是 layout (variant) 格式(例如 cz (qwerty))。
    所有可用格式皆能在 xkeyboard-config(7) man page 的 Layouts 下檢視。
  • --switch= — 指定一列格式切換選項(在多個鍵盤格式之間進行切換的捷徑)。多重選項必須以逗號隔開(無空格)。接受與 setxkbmap(1) 中相同的格式。
    可用的切換選項能在 xkeyboard-config(7) man page 中的 Options 下檢視。
以下範例將透過 --xlayouts= 選項設定兩個鍵盤格式(English (US)Czech (qwerty)),並允許透過使用 Alt+Shift 來在兩者之間進行切換:
keyboard --xlayouts=us,'cz (qwerty)' --switch=grp:alt_shift_toggle

重要

必須擇一使用 --vckeymap=--xlayouts=
lang(必要)
設定在安裝過程與安裝後系統的預設語言。例如,若要將語言設為英文,Kickstart 檔案應包含以下一行:
lang en_US
/usr/share/system-config-language/locale-list 檔案在每行的第一欄提供了可用的語言代碼,並且此檔案屬於 system-config-language 套件的一部份。
在文字模式安裝下,某些語言並不受到支援(比方說中文、日文、韓文以及印度語系)。如果您透過了 lang 指令指定了這些語言之一,安裝過程將會以英語繼續進行,但當系統安裝完成後,會將此語言設定為預設值。
  • --addsupport= — 增加對其它語言的支援。可用逗號隔開多種語言,但不包括空白字元。例如:
    lang en_US --addsupport=cs_CZ,de_DE,en_UK
logging(選用性)
控制安裝過程中,Anaconda 紀錄錯誤的程度。這不會影響要安裝的系統。
logging [--host=host] [--port=port] [--level=debug|info|error|critical]
  • --host= — 將日誌資訊發送到指定的遠端主機,主機上必須執行 syslogd 程序,並能接受遠端日誌。
  • --port= — 如果遠端 syslogd 程序並不使用預設的連接埠,請以此選項來指定。
  • --level= — 指定在 tty3 上所顯示的訊息之最低層級。但是不論是哪個層級,所有的訊息仍會被傳送到日誌檔中。可用的值有 debuginfowarningerror,或 critical
logvol(選用性)
請使用下列語法來建立用於邏輯卷冊管理(LVM)的一個邏輯卷冊:
logvol mntpoint --vgname=name --size=size --name=name [options]

注意

當您在使用 kickstart 安裝 Red Hat Enterprise Linux 時,請勿在邏輯卷冊與卷冊群組的名稱中使用連字號(-)。若使用了此字元,安裝過程會正常結束,但 /dev/mapper/ 目錄中的這些卷冊與卷冊群組的連字號都會變成兩個。例如,名為 volgrp-01 的卷冊群組中包含了名為 logvol-01 的邏輯卷冊會變成 /dev/mapper/volgrp--01-logvol--01
這限制只套用在新建立的邏輯卷冊與卷冊群組名稱上。如果您使用了 --noformat 選項重複使用了現有卷冊,那麼其名稱就不會變動。
欲取得更加詳細的 logvol 操作範例,請參閱〈節 23.4.1, “進階磁碟分割範例”〉。
  • mntpoint 是掛載的分割區,必須是以下格式之一:
    • /path
      例如 //home
    • swap
      這個分割區被作為 swap 空間使用。
      如要自動決定 swap 分割區的大小,請使用 --recommended 選項:
      swap --recommended
      指定的大小將會生效,不過並非為您的系統所精確標準化。
      如要自動決定 swap 分割區的大小,但也允許額外空間讓系統進入休眠狀態,請使用 --hibernation 選項:
      swap--hibernation
      指定的大小會跟 --recommended 所指定的 swap 大小、加上系統記憶體的大小相等。
      欲檢視這些指令所分配的 swap 大小,請參閱〈節 6.10.4.5, “建議的磁碟分割方案”〉(AMD64 和 Intel 64 系統)和〈節 11.10.4.5, “建議的磁碟分割方案”〉(IBM Power Systems 伺服器)以及〈節 15.10.3.5, “建議的磁碟分割方案”〉(IBM System z)。
選項如下所示:
  • --noformat — 使用現有的邏輯卷冊,並且不格式化。
  • --useexisting — 使用現有的邏輯卷冊,並格式化。
  • --fstype= — 為邏輯卷冊設置檔案系統類型。有效的值為 xfsext2ext3ext4swap 以及 vfat
  • --fsoptions= — 指定掛載檔案系統時,所使用的選項字串。這字串會被複製到 /etc/fstab 檔案裡,並應該用雙引號括起來。
  • --label= — 為邏輯卷冊設置標籤。
  • --grow — 讓邏輯卷冊使用所有的可用空間(如果有的話),或使用最大大小的設定。
  • --size= — 邏輯卷冊的最小大小,單位為 MB。
  • --maxsize= — 當邏輯卷冊設為 grow 時最大大小(單位為 MB)。請在此指定一個整數值,例如 500(請勿加上單位)。
  • --recommended — 自動判斷邏輯卷冊的大小。欲取得有關於建議之方案上的相關資訊,請參閱〈節 6.10.4.5, “建議的磁碟分割方案”〉(AMD64 和 Intel 64 系統)、〈節 11.10.4.5, “建議的磁碟分割方案”〉( IBM Power Systems),以及〈節 15.10.3.5, “建議的磁碟分割方案”〉(IBM System z)。
  • --resize — 調整邏輯卷冊的大小。如果您使用此選項,就必須指定 --useexisting--size
  • --percent= — 指定邏輯卷冊要增加的大小,使用的是考量了任何靜態大小的卷冊群組之可用空間的百分比。這個選項必須與 --size--grow 選項合用。
  • --encrypted — 指定對此邏輯卷冊加密,使用 --passphrase= 選項所提供的 passphrase。如果您沒有指定 passphrase,安裝程式會使用預設、系統全域、透過 autopart --passphrase 指令所設定的 passphrase;若沒有預設的 passphrase,系統將停止安裝過程,提示使用者輸入。
  • --passphrase= — 指定為此邏輯卷冊加密時所使用的密碼。您必須與 --encrypted 選項搭配使用此選項;它本身並無任何作用。
  • --cipher= — 如果您不打算使用 Anaconda 預設的 aes-xts-plain64,請指定加密選項。此選項必須與 --encrypted 選項搭配使用;單使用這選項不會起任何作用。可用的加密選項都列在《Red Hat Enterprise Linux 7 安全性指南》中,但 Red Hat 強烈建議您使用 aes-xts-plain64 或 aes-cbc-essiv:sha256。
  • --escrowcert=URL_of_X.509_certificate — 會將所有已加密的卷冊的資料加密金鑰,以檔案的方式儲存在 /root 中,透過來自於以 URL_of_X.509_certificate 所指定的 URL 之 X.509 憑證來進行加密。各個加密卷冊的金鑰皆會被儲存為個別的檔案。此選項只有在指定了 --encrypted 的情況下,才會有作用。
  • --backuppassphrase — 新增一組隨機產生的密碼字串給各個加密的卷冊。將這些密碼字串儲存在 /root 中的另一個檔案裡,透過了使用以 --escrowcert 所指定的 X.509 憑證來進行加密。此選項只有在指定了 --escrowcert 的情況下才會有作用。
  • --thinpool — 建立一個精簡的邏輯卷冊集區。(使用 none 為掛載點)
  • --metadatasize=size — 指定新精簡集區裝置的 metadata 區域大小(單位為 MiB)。
  • --chunksize=size — 指定新精簡集區裝置的區塊大小(單位為 KiB)。
  • --thin — 建立一個精簡的邏輯卷冊(需要使用 --poolname
  • --poolname=name — 指定欲在其中建立精簡邏輯卷冊的精簡集區之名稱。需使用 --thin 選項。
請先建立分割區、建立邏輯卷冊群組,然後再建立邏輯卷冊,例如:
part pv.01 --size 3000
volgroup myvg pv.01
logvol / --vgname=myvg --size=2000 --name=rootvol
請先建立分割區、建立邏輯卷冊群組,然後再建立邏輯卷冊,以使用卷測群組中剩下的 90% 空間。例如:
part pv.01 --size 1 --grow
volgroup myvg pv.01
logvol / --vgname=myvg --size=1 --name=rootvol --grow --percent=90
mediacheck(選用性)
若給定此選項,就會強迫安裝程式在開始安裝前檢查安裝媒體(rd.live.check)。這指令需要使用者干預,因此預設上是停用的。
network(選用)
為目標網路配置網路資訊,並啟動安裝程式環境中的網路裝置。第一組 network 指令所指定的裝置會自動啟動。要啟用這裝置也可以透過 --activate 選項明確進行。
  • --activate — 在安裝環境中啟動此裝置。
    若您在一項已啟用的裝置(比方說,您以開機選項配置的介面卡,如此一來系統便能擷取 Kickstart 檔案)上使用了 --activate 選項,裝置將會被重新啟用,並使用指定於 Kickstart 檔案中的資訊。
    使用 --nodefroute 選項來避免裝置使用預設的 route。
  • --bootproto=dhcpbootpibft、或 static 之一。預設選項是 dhcpdhcpbootp 選項是一樣的。
    DHCP 的方式會使用一部 DHCP 伺服器系統來取得它的網路連線資訊。BOOTP 的方式應該是類似的,需要一部 BOOTP 伺服器以供應網路連線資訊。如要設定一部系統使用 DHCP:
    network --bootproto=dhcp
    如要設定一部系統使用 BOOTP 來取得它的網路連線設定資訊,請使用下列的資訊在 Kickstart 檔案中:
    network --bootproto=bootp
    如要指示一部機器使用指定於 iBFT 中的配置,請使用:
    network --bootproto=ibft
    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
    您也可以在此同時配置多台名稱伺服器,方法是以逗號隔開。
    network --bootproto=static --ip=10.0.2.15 --netmask=255.255.255.0 --gateway=10.0.2.254 --nameserver=192.168.2.1,192.168.3.1
  • --device= — 用 network 指令指定欲配置(並且將會被安裝程式所啟用)的裝置。
    如果在「第一次」使用 network 指令時沒有使用 --device= 選項,那麼就會使用 ksdevice= 安裝程式的啟動選項(如果有的話)。請注意我們不建議使用這種方式;在大部分情況下,每個 network 指令都應該指定 --device= 選項。
    在同樣 Kickstart 檔裡面,如果接下來的 network 指令沒有 --device= 選項,那麼系統就不會指定裝置。請您為了第一組 network 之外的指令指定此選項。
    您可以透過以下方式,指定要啟動的裝置:
    • 介面的裝置名稱,例如 em1
    • 裝置的 MAC 位址,例如 01:23:45:67:89:ab
    • 關鍵字 link,它可指定連結為 up 狀態的第一個介面卡
    • bootif 關鍵字,它使用了 pxelinux 設置於 BOOTIF 變數中的 MAC 位址。請在您的 pxelinux.cfg 檔案中設置 IPAPPEND 2,以使 pxelinux 設置 BOOTIF 變數。
    舉例來說:
    network --bootproto=dhcp --device=em1
  • --ip= — 裝置的 IP 位址。
  • --ipv6= — 裝置的 IPv6 位址,格式為 address[/prefix length] – 例如 3ffe:ffff:0:1::1/128 。如果省略了 prefix,就會使用 64。您也可以使用 auto 進行自動配置,或使用 dhcp 進行純 DHCPv6 的配置(沒有路由器廣播功能)。
  • --gateway= — 預設閘道器,單一的 IPv4 位址。
  • --ipv6gateway= — 預設閘道器,單一的 IPv6 位址。
  • --nodefroute — 避免介面卡被設為預設的 route。當您透過 --activate= 啟用額外裝置時,請使用此選項,比方說,一個 iSCSI 目標的個別子網路上的 NIC。
  • --nameserver= — 主要名稱伺服器(作為一組 IP 位址)。各個名稱伺服器需以冒號區隔開來。
  • --nodns — 不設定任何 DNS 伺服器。
  • --netmask= — 要安裝的系統之網路遮罩。
  • --hostname= — 要安裝的系統之主機名稱。
  • --ethtool= — 定義網路裝置的額外低階設定,這會傳遞至 ethtool 程式。
  • --essid= — 無線網路的網路 ID。
  • --wepkey= — 無線網路的 WEP 加密金鑰。
  • --wepkey= — 無線網路的 WPA 加密金鑰。
  • --onboot= — 是否要在啟動時,啟用裝置。
  • --dhcpclass= — DHCP 的等級。
  • --mtu= — 裝置的 MTU。
  • --noipv4 — 停用這個裝置的 IPv4。
  • --noipv6 — 停用這個裝置的 IPv6。
  • --bondslaves= — 使用此選項時,指定於 --device= 選項中的網路裝置會使用 --bondslaves= 選項所定義的次要裝置(slave)來建立。例如:
    network --device=mynetwork --bondslaves=em1,em2
    以上指令會使用 em1em2 介面作為次要裝置,建立名為 mynetwork 的綁定裝置。
  • --bondopts= — 用逗號分隔的清單,列出已綁定介面的選用參數。例如:
    network --bondopts=mode=active-backup,primary=em2
    其它選用參數列在《Red Hat Enterprise Linux 7 系統管理者指南使用 Kernel 模組》一章裡。

    重要

    --bondopts=mode= 參數僅支援完整的模式名稱,例如 balance-rrbroadcast,而不是模式的編號,例如 03
  • --vlanid= — 指定虛擬區域網路的 ID 號碼(802.1q 標籤)給透過 --device= 所指定為父裝置之裝置使用。例如 network --device=em1 --vlanid=171 會建立名為 em1.171 的虛擬裝置。
  • --interfacename= — 為虛擬區域網路裝置指定自訂的介面名稱。當預設名稱由 --vlanid= 選項所產生的預設名稱不是您想要的名稱時,就該使用此選項。這選項必須與 --vlanid= 合用。例如:
    network --device=em1 --vlanid=171 --interfacename=vlan171
    以上指令會建立名為 vlan171 的虛擬區域網路介面,使其位於 em1 裝置上,ID 為 171
    此介面名稱可以隨意定義(例如 my-vlan),但在某些特定情況下,必須遵從以下命名方式:
    • 如果名稱中包含了點(.),那就必須使用 NAME.ID(名稱.ID)的格式。NAME 可以隨意命名,但 ID 必須是 VLAN ID。例如 em1.171my-vlan.171
    • vlan 啟始的名稱之格式必須是 vlanID,例如 vlan171
  • --teamslaves= — 由 --device= 選項所指定的群組裝置會透過此選項所指定的次要裝置來建立。次要裝置是由逗號所隔開。次要裝置之後可加上其配置,配置的格式是單引號的 JSON 字串,加上雙引號來逸出 \ 字元。例如:
    network --teamslaves="p3p1'{\"prio\": -10, \"sticky\": true}',p3p2'{\"prio\": 100}'"
    詳情請見 --teamconfig= 選項。
  • --teamconfig= — 用雙引號括起的群組裝置配置,配置的格式是單引號的 JSON 字串,加上雙引號來逸出 \ 字元。裝置名稱是由 --device= 選項、次要裝置及次要裝置的配置、透過 --teamslaves= 選項而來。例如:
    network --device team0 --activate --bootproto static --ip=10.34.102.222 --netmask=255.255.255.0 --gateway=10.34.102.254 --nameserver=10.34.39.2 --teamslaves="p3p1'{\"prio\": -10, \"sticky\": true}',p3p2'{\"prio\": 100}'" --teamconfig="{\"runner\": {\"name\": \"activebackup\"}}"
partpartition(必要)
為系統建立一個分割區。

警告

安裝過程中除非設定了 --noformat--onpart 選項,否則所有建立的分割區都會被格式化,作為安裝過程的一部份。
欲知 part 的詳細範例,請參閱〈節 23.4.1, “進階磁碟分割範例”〉。
part|partition mntpoint --name=name --device=device --rule=rule [options]
  • mntpoint — 分割區掛載的地方。其值必須是以下其中一種格式:
    • /path
      例如:/, /usr, /home
    • swap
      這個分割區被作為 swap 空間使用。
      如要自動決定 swap 分割區的大小,請使用 --recommended 選項:
      swap --recommended
      指定的大小將會生效,不過並非為您的系統所精確標準化。
      如要自動決定 swap 分割區的大小,但也允許額外空間讓系統進入休眠狀態,請使用 --hibernation 選項:
      swap --hibernation
      指定的大小會跟 --recommended 所指定的 swap 大小、加上系統記憶體的大小相等。
      欲檢視這些指令所分配的 swap 大小,請參閱〈節 6.10.4.5, “建議的磁碟分割方案”〉(AMD64 和 Intel 64 系統)和〈節 11.10.4.5, “建議的磁碟分割方案”〉(IBM Power Systems 伺服器)以及〈節 15.10.3.5, “建議的磁碟分割方案”〉(IBM System z)。
    • raid.id
      此分割區用於軟體 RAID(請見 raid)。
    • pv.id
      此分割區用於 LVM(請見 logvol)。
    • biosboot
      此分割區會作為 BIOS 開機分割區。以 BIOS 為基礎、使用「GUID 分割表」(GPT,GUID Partition Table)的 AMD64 與 Intep 64 系統需要 1 MB 的 BIOS 開機分割區;開機載入程式會安裝至此。UEFI 系統不需要此分割區。亦參見 bootloader 指令。
    • efi
      EFI 系統分割區。以 UEFI 為基礎的 AMD64 與 Intel 64 系統需要 50 MB 的 EFI 分割區;建議的大小為 200 MB。BIOS 系統不需要此分割區。亦參見 bootloader 指令。
  • --size= — 分割區的最小大小,單位為 MB。請在此指定整數值,例如 500(請勿加入單位)。

    重要

    --size 的值太小,安裝程式將會失敗。請將 --size 值設為您所需要的最小空間。欲取得大小設定上的建議,請參閱〈節 6.10.4.5, “建議的磁碟分割方案”〉。
  • --grow — 告訴分割區擴張到所有可用空間(如果有的話),或達到所設定的上限值。

    注意

    如果您在 swap 分割區上使用了 --grow= 選項,但沒有設定 --maxsize= 選項,那麼 Anaconda 會限制 swap 分割區的最大值。對於實體記憶體不滿 2 GB 的系統來說,建議值為實體記憶體的兩倍。對於 2 GB 以上記憶體的系統,建議值為實體記憶體加上 2GB。
  • --maxsize= — 當分割區設定為 grow(增大)時,最大的分割區大小(單位為 MB)。請在此輸入整數值,例如 500(請勿在後方加上單位)。
  • --noformat — 將分割區指定為不要格式化,此選項可搭配 --onpart 指令使用。
  • --onpart=--usepart= — 指定要將分割區放置在哪個裝置上。例如:
    partition /home --onpart=hda1
    /home 放置於 /dev/hda1 上。
    這些選項也可以將分割區加入邏輯卷冊中。例如:
    partition pv.1 --onpart=hda2
    裝置必須已存在系統上;--onpart 選項將不會建立它。
  • --ondisk=--ondrive= — 強制將分割區建立在特定的磁碟機上。舉例來說,--ondisk=sdb 會把分割區放在系統的第二個 SCSI 磁碟上。
    要指定不使用「邏輯卷冊管理(LVM,logical volume management)」的 multipath 裝置,請使用 disk/by-id/dm-uuid-mpath-WWID 格式,其中 WWID 是裝置的「world-wide identifier」。舉例來說,要指定 WWID 為 2416CD96995134CA5D787F00A5AA11017 的磁碟,請使用:
    part / --fstype=xfs --grow --asprimary --size=8192 --ondisk=disk/by-id/dm-uuid-mpath-2416CD96995134CA5D787F00A5AA11017
    使用 LVM 的 multipath 裝置要在 Anaconda 剖析 Kickstart 檔案之後才會組合。因此,您不能使用 dm-uuid-mpath 來指定這些裝置。相反地,要指定使用 LVM 的 multipath 裝置,請使用 disk/by-id/scsi-WWID 格式,其中 WWID 是裝置的 world-wide identifier(WWID)。例如說,要指定 WWID 為 58095BEC5510947BE8C0360F604351918 的裝置,請使用:
    part / --fstype=xfs --grow --asprimary --size=8192 --ondisk=disk/by-id/scsi-58095BEC5510947BE8C0360F604351918

    警告

    絕對不要使用類似 mpatha 的裝置名稱來指定 multipath 裝置。諸如此類的裝置名稱不特屬於特定的磁碟。安裝期間名為 /dev/mpatha 的磁碟可能不是您預期的磁碟。因此,clearpart 指令可能會指向錯誤的磁碟。
  • --asprimary — 強制分割區成為「主要」分割區。如果該分割區無法成為主分割區,(通常是因為已經分配了太多分割區),那麼這過程就會失敗。欲知更多關於主分割區的資訊,請參閱〈節 A.1.2, “磁碟分割區:將一個硬碟變成很多個”〉。
  • --fsprofile — 指定「使用類型」(usage type),用以傳送到在此分割區上製作檔案系統的程式。使用類型定義了微調參數的種類,用來製作檔案系統。要讓這個選項運作,檔案系統必須支援此使用類型的概念,同時必須要有相對應的配置檔案。對於 ext2ext3ext4 來說,配置檔為 /etc/mke2fs.conf
  • --fstype= — 為分割區設置檔案系統類型。有效的值為 xfsext2ext3ext4swapvfatefi 以及 biosboot
  • --fsoptions — 指定掛載檔案系統時,所使用的選項字串。這字串會被複製到 /etc/fstab 檔案裡,並應該用雙引號括起來。
  • --label= — 在獨立分割區上指定標籤。
  • --recommended — 自動判斷分割區的大小。欲取得有關於建議之方案上的相關資訊,請參閱〈節 6.10.4.5, “建議的磁碟分割方案”〉(AMD64 和 Intel 64 系統)、〈節 11.10.4.5, “建議的磁碟分割方案”〉( IBM Power Systems),以及〈節 15.10.3.5, “建議的磁碟分割方案”〉(IBM System z)。
  • --onbiosdisk — 強迫分割區建立在 BIOS 所偵測到的特定磁碟機上。
  • --encrypted — 指定此分割區應加密,使用了提供於 --passphrase 選項中的密碼。若您不提供一組密碼的話,Anaconda 將會使用透過 autopart --passphrase 指令所設置的預設系統全域密碼,或是若未設置預設值的話,安裝程式將會停止,並提示您提供一組密碼。
  • --passphrase= — 指定加密分割區時,所使用的密碼字串(passphrase)。您必須搭配 --encrypted 選項使用;它本身並無任何作用。
  • --cipher= — 如果您不打算使用 Anaconda 預設的 aes-xts-plain64,請指定加密選項。此選項必須與 --encrypted 選項搭配使用;單使用這選項不會起任何作用。可用的加密選項都列在《Red Hat Enterprise Linux 7 安全性指南》中,但 Red Hat 強烈建議您使用 aes-xts-plain64aes-cbc-essiv:sha256
  • --escrowcert=URL_of_X.509_certificate — 會將所有已加密的分割區的資料加密金鑰,以檔案的方式儲存在 /root 中,透過來自於以 URL_of_X.509_certificate 所指定的 URL 之 X.509 憑證來進行加密。各個加密分割區的金鑰皆會被儲存為個別的檔案。此選項只有在指定了 --encrypted 的情況下,才會有作用。
  • --backuppassphrase — 新增一組隨機產生的密碼字串給各個加密的分割區。將這些密碼字串儲存在 /root 中的另一個檔案裡,透過了使用以 --escrowcert 所指定的 X.509 憑證來進行加密。此選項只有在指定了 --escrowcert 的情況下才會有作用。
  • --resize= — 調整現有分割區的大小。使用此選項時,請使用 --size 指定目標的大小(單位為 MB),並使用 --onpart= 選項指定目標分割區。

注意

如果分割失敗,診斷訊息會於虛擬主控台 3 上顯示。
poweroff(選用)
請在安裝完成後將系統關閉。通常在進行手動安裝時,Anaconda 會顯示一則訊息並等待使用者按下任意鍵來重新啟動。在進行 Kickstart 安裝過程時,如果沒有指定完成方式,則 halt 將會被使用來作為預設選項。
poweroff 選項與 shutdown -p 指令用途相同。

注意

poweroff 指令高度取決於您所使用的系統硬體。特別是,部份硬體元件如 BIOS、APM(進階電源管理)、與 ACPI(進階設定與電源介面)需要能與系統 kernel 進行互動。請參閱您的硬體文件,以取更多有關於您系統 APM/ACPI 功能的相關資訊。
有關於其它完成方式,請參照 haltrebootshutdown 等 Kickstart 指令。
raid(選用)
組合一個軟體 RAID 裝置。該指令格式如下:
raid mntpoint --level=level --device=mddevice partitions*
  • mntpoint — 掛載 RAID 檔案系統的位置。如果是 / 的話,RAID level 必須是 1,除非已有一個開機分割區(/boot)。如果一個開機分割區已經存在,/boot 分割區必須是 level 1,而 root(/)分割區能夠是任何類型。partitions*(表示可以列出多個分割區)會列出欲附加至 RAID 陣列的 RAID 標識符。

    重要

    在 IBM Power Systems 上,若 RAID 裝置已準備,並且尚未重新格式化,而您計畫在 RAID 裝置上放置 /bootPReP 分割區的話,請確認 RAID 的 metadata 版本為 0.90
    開機裝置不支援預設的 Red Hat Enterprise Linux 7 mdadm metadata 版本。
    欲知 raid 的詳細範例,請參閱〈節 23.4.1, “進階磁碟分割範例”〉。
  • --level= — 要使用的 RAID 等級(0、1、4、5、6、或 10)。
  • --device= — 要使用的 RAID 裝置名稱。以 Red Hat Enterprise Linux 7 來說,RAID 裝置的名稱不再是 md0。如果您有舊版(v0.90 metadata)、無法指定名稱的陣列,您可以使用檔案系統標籤或 UUID(例如 --device=rhel7-root --label=rhel7-root)來指定陣列。
  • --spares= — 指定分配給 RAID 陣列的備援磁碟機數量。備援磁碟機會在磁碟發生錯誤時,被使用來重建陣列。
  • --fsprofile — 指定「使用類型」(usage type),用以傳送到在此分割區上製作檔案系統的程式。使用類型定義了微調參數的種類,用來製作檔案系統。要讓這個選項運作,檔案系統必須支援此使用類型的概念,同時必須要有相對應的配置檔案。對於 ext2、ext3、ext4 來說,配置檔為 /etc/mke2fs.conf
  • --fstype= — 為 RAID 陣列設置檔案系統類型。有效的值為 xfsext2ext3ext4swap 以及 vfat
  • --fsoptions= — 指定掛載檔案系統時,所使用的選項字串。這字串會被複製到 /etc/fstab 檔案裡,並應該用雙引號括起來。
  • --label= — 指定檔案系統的標籤。如果所給定的標籤已經被另一個檔案系統所用,那麼會建立新的標籤。
  • --noformat — 使用一個既有的 RAID 裝置,並且不格式化 RAID 陣列。
  • --useexisting — 使用一個既有的 RAID 裝置,而且將它重新格式化。
  • --encrypted — 指定此 RAID 裝置應加密,使用了提供於 --passphrase 選項中的密碼。若您不提供一組密碼的話,Anaconda 將會使用透過 autopart --passphrase 指令所設置的預設系統全域密碼,或是若未設置預設值的話,安裝程式將會停止,並提示您提供一組密碼。
  • --cipher= — 如果您不打算使用 Anaconda 預設的 aes-xts-plain64,請指定加密選項。此選項必須與 --encrypted 選項搭配使用;單使用這選項不會起任何作用。可用的加密選項都列在《Red Hat Enterprise Linux 7 安全性指南》中,但 Red Hat 強烈建議您使用 aes-xts-plain64 或 aes-cbc-essiv:sha256。
  • --passphrase= — 指定加密 RAID 裝置時,所使用的密碼字串(passphrase)。您必須搭配 --encrypted 選項使用;它本身並無任何作用。
  • --escrowcert=URL_of_X.509_certificate — 將此裝置的資料加密金鑰,以檔案的方式儲存在 /root 中,透過來自於以 URL_of_X.509_certificate 所指定的 URL 之 X.509 憑證來進行加密。此選項只有在指定了 --encrypted 的情況下,才會有作用。
  • --backuppassphrase= — 新增一組隨機產生的密碼字串給此裝置。將這些密碼字串儲存在 /root 中的一個檔案裡,透過了使用以 --escrowcert 所指定的 X.509 憑證來進行加密。此選項只有在指定了 --escrowcert 的情況下才會有作用。
以下的範例顯示了如何為 / 建立一個 RAID level 1 的分割區,以及如何為 /home 建立一個 RAID level 5 分割區,在此假設系統上有三個 SCSI 磁碟。它也會建立三個 swap 分割區(每一個磁碟上各建立一個)。

範例 23.2. 使用 RAID 的 Kickstart 指令

part raid.01 --size=6000 --ondisk=sda
part raid.02 --size=6000 --ondisk=sdb
part raid.03 --size=6000 --ondisk=sdc
				
part swap --size=512 --ondisk=sda
part swap --size=512 --ondisk=sdb
part swap --size=512 --ondisk=sdc
				
part raid.11 --size=1 --grow --ondisk=sda  
part raid.12 --size=1 --grow --ondisk=sdb
part raid.13 --size=1 --grow --ondisk=sdc
				
raid / --level=1 --device=rhel7-root --label=rhel7-root raid.01 raid.02 raid.03  
raid /home --level=5 --device=rhel7-home --label=rhel7-home raid.11 raid.12 raid.13
realm(選用)
加入 Active Directory 或 IPA 網域。欲知此指令的更多資訊,請參閱section of the realm(8) man page 的 join 一節。
realm join domain [options]
  • --computer-ou=OU= — 為組織單元提供一組獨一無二的名稱,以建立電腦帳號。此名稱的確切格式端視用戶端軟體與成員軟體而定。通常此名稱的 root DSE 部分可以省略。
  • --no-password — 自動加入,無須密碼。
  • --one-time-password= — 使用單次密碼加入。對於所有類型的領域來說,是不可能的。
  • --client-software= — 僅加入能執行此用戶端軟體的領域。可用的值有 sssdwinbind。並非所有領域都支援所有值。預設上會自動選取用戶端軟體。
  • --client-software= — 僅加入能執行此伺服器端軟體的領域。可用的值為 active-directoryfreeipa
  • --membership-software= — 加入領域時使用此軟體。可用的值包括 sambaadcli。並非所有的領域都支援所有值。預設上會自動選取成員軟體。
reboot(選用)
在安裝完成之後重新啟動(無引數)。通常 Kickstart 會顯示一則訊息,並等待使用者按下任何鍵以重新啟動。
reboot 選項與 shutdown -r 指令相等。
當在 System z 上進行安裝時,您可在命令模式中指定 reboot 來完整自動化安裝。
其它完成方式請參照 haltpoweroffshutdown 這些 Kickstart 選項。
如果沒有在 Kickstart 檔案中明確指定其它方式,halt 選項將會是預設的完成方式。
  • --eject — 在重新開機前,試著退出安裝光碟。

注意

根據安裝媒體與方式上的不同,使用 reboot 選項可能會造成無止盡的重新安裝。
repo(選用)
設定可用來當作套件安裝的資料來源的額外 yum 軟體庫。可指定多重 repo 行。
repo --name=repoid [--baseurl=<url>|--mirrorlist=url] [options]
  • --name= — 軟體庫的 ID。這是必要選項。如果軟體庫名稱與之前的軟體庫名稱相衝突,那麼會被忽略。因為安裝程式使用預先社訂好的清單,這表示您不能使用與預先設定好的軟體庫同樣的名稱。
  • --baseurl= — 軟體庫的網址。這個變數可以在此不受到支援的 yum repo 設定檔中使用。您可以使用此選項或 --mirrorlist 其中之一,但不要同時使用。
  • --mirrorlist= — 指向軟體庫清單之鏡像的 URL。正常來說可在 yum repo 配置檔案中使用的變數,在此並不受到支援。您可以使用此選項或 --baseurl 其中之一,但不要同時使用。
  • --cost= — 整數值,指定此軟體庫的成本。如果多個軟體庫提供同樣的套件,這個數值會用來決定使用軟體庫的優先順序。擁有較低成本的軟體庫會比高成本的軟體庫,擁有更高的優先權。
  • --excludepkgs= — 以逗號隔開的套件名稱清單,列出「不需要」從此軟體庫擷取的套件。如果多個軟體庫提供了同樣的套件,而您想要確定套件來自某個特定的軟體庫,這個選項就非常有用。使用者可以使用單一套件名稱(例如 publican)或萬用字元(例如 gnome-*)。
  • --includepkgs= — 以逗號隔開的軟體套件名稱清單,可以是單一套件名稱或是萬用字元,列出必須從此軟體庫擷取的套件。如果多個軟體庫提供了同樣的套件,而您想要確定套件來自某個特定的軟體庫,這個選項就非常有用。
  • --proxy=[protocol://][username[:password]@]host[:port] — 指定只給此軟體庫使用的 HTTP/HTTPS/FTP 代理伺服器。這設定不會影響其它軟體庫,也不會影響透過 HTTP 安裝時,擷取 install.img 的方式。
  • --ignoregroups=true — 這選項用在建立安裝樹上,與安裝程序無關。這選項會告訴建立工具在鏡像安裝樹時不要察看套件群組資訊,以避免鏡像時產生的大量不必要資料。
  • --noverifyssl — 連上 HTTPS 伺服器時停用 SSL 驗證。

重要

安裝時使用的軟體庫必須很穩定。如果軟體庫在安裝之前遭到修改,那麼安裝程序就會失敗。
rescue(選用)
自動進入安裝程式的救援模式。這給使用者在發生問題時,有修正系統的機會。
rescue [--nomount|--romount]
  • --nomount--romount — 控制在救援環境下,要如何掛載欲安裝的系統。預設上,安裝程式會找到系統並以讀、寫模式掛載,並告訴使用者在何處掛載了系統。使用者可以選擇不要掛載任何東西(--nomount 選項)或以唯讀模式掛載(--romount)。這兩個選項有戶斥性。
rootpw(必須)
將系統的 root 密碼設置為 <password> 引數。
rootpw [--iscrypted|--plaintext] [--lock] password
  • --iscrypted — 如果此選項存在的話,就表示已假設密碼引數已經過加密了。這選項與 --plaintext 互斥。要建立加密的密碼,請使用 python
    $ python -c 'import crypt; print(crypt.crypt("My Password", "$6$My Salt"))'
    這會使用您所提供的「鹽」(上述指令中的 Salt)產生 sha512 的加密密碼。
  • --iscrypted — 如果此選項存在的話,就表示已假設密碼引數為普通文字。這選項與 --plaintext 互斥。
  • --lock — 如果此選項存在的話,就表示預設上 root 使用者帳號會被鎖住。這表示 root 使用者將無法由主控台登入。
selinux(選用)
設定欲安裝系統的 SELinux 狀態。SELinux 政策的預設值為 enforcing(強制)。
selinux [--disabled|--enforcing|--permissive]
  • --enforcing — 用預設的目標政策 enforcing 啟用 SELinux。
  • --permissive — 根據 SELinux 政策將警告輸出,不過卻不實際地實施政策。
  • --disabled — 在系統上完全停用 SELinux。
欲取得更多有關 Red Hat Enterprise Linux 中的 SELinux 資訊,請參閱《Red Hat Enterprise Linux 7 系統管理者指南》。
services(選用)
修改會在預設 systemd 目標下執行的預設服務。列在停用清單中的服務,會比列在啟用清單中的服務先被處理。因此,若有一項服務同時出現在這兩個清單中,它將會被啟用。
services [--disabled=list] [--enabled=list]
  • --disabled= — 將以冒號區隔的清單中所提供的服務停用。
  • --enabled= — 將以冒號區隔的清單中所提供的服務啟用。

重要

不要在服務清單中加入空白字元,否則 Kickstart 只會啟用或停用第一個空白字元前的服務。例如:
services --disabled=auditd, cups,smartd, nfslock
以上範例只會停用 auditd 服務。若要停用全部四項服務,這些服務之間必須不包含任何空格:
services --disabled=auditd,cups,smartd,nfslock
shutdown(選用)
安裝成功後關機。使用 Kickstart 安裝時,如果沒有指定完成後的動作,會使用 halt 指令。
shutdown Kickstart 選項與 shutdown 指令一樣。
其它的完成方法請參閱 haltpoweroff、與 reboot Kickstart 選項。
skipx(選用)
若出現的話,就代表已安裝的系統上尚未配置 X

重要

如果您在選擇套件時選取了顯示管理員,這套件會建立 X 配置,並讓系統預設上執行 graphical.targetskipx 選項的效用會被蓋過去。
sshpw(選用)
在安裝過程中,您可以使用安裝程式與系統互動,並透過 SSH 連線監控過程。請使用 sshpw 指令來建立暫時的登入帳號。多次執行這指令會建立個別的帳號,但僅及於安裝過程中。這些帳號不會轉移到要安裝的系統上。
sshpw --username=name password [--iscrypted|--plaintext] [--lock]
  • --username — 提供使用者的名稱。此為必要的選項。
  • --iscrypted — 如果此選項存在的話,就表示已假設密碼引數已經過加密了。這選項與 --plaintext 互斥。要建立加密的密碼,請使用 python
    $ python -c 'import crypt; print(crypt.crypt("My Password", "$6$My Salt"))'
    這會使用您所提供的「鹽」(上述指令中的 Salt)產生 sha512 的加密密碼。
  • --iscrypted — 如果此選項存在的話,就表示已假設密碼引數為普通文字。這選項與 --plaintext 互斥。
  • --lock — 如果此選項存在的話,就表示預設上這個帳號會被鎖住。這表示此使用者將無法由主控台登入。

重要

預設上,在安裝過程中 ssh 伺服器並不是啟用的。或希望在安裝過程中使用 ssh,請在開機時加入 inst.sshd 參數。詳情請參閱〈主控台、環境和畫面選項〉。

注意

如果您要停用 root 在安裝期間透過 ssh 存取硬體,請使用以下指令:
sshpw --username=root --lock
text(選用)
以文字模式執行 Kickstart 安裝。預設上 Kickstart 會使用圖形模式作為預設值。
timezone(必要)
將系統的時區設為 timezone。要檢視可用時區的清單,請使用 timedatectl list-tinezones 指令。
timezone timezone [options]
  • --utc — 若使用此選項的話,系統將會假設硬體時鐘被設為 UTC(格林威治)時間。
  • --nontp — 停用自動開始 NTP 服務的功能。
  • --ntpservers — 指定要使用的 NTP 伺服器清單,以逗號隔開,但不包含空白字元。
不支援的硬體(選用)
告訴安裝程式忽略「偵測到不支援的硬體」警示。如果不使用這指令,且偵測到不支援的硬體,那麼警示發生時,安裝過程就會暫停。
user(選用)
在系統上建立新的使用者。
user --name=username [options]
  • --name= — 提供使用者的姓名。這是選用選項。
  • --gecos= — 提供使用者的 GECOS 資訊。這是由逗號隔開的多種系統特定欄位,多用於指定使用者的完整姓名、辦公室號碼等等。詳情請參見 passwd(5) man page。
  • --groups= — 除了預設群組之外,使用者所屬、以冒號區隔開的群組名稱。這些群組在使用者帳號被建立之前必須先存在。詳情請見 group 指令。
  • --homedir= — 使用者的家目錄。若沒有提供的話,預設值將會是 /home/<username>
  • --lock — 如果此選項存在的話,就表示預設上這個帳號會被鎖住。這表示此使用者將無法由主控台登入。
  • --password= — 新使用者的密碼。若未提供的話,該帳號就預設值將會被鎖住。
  • --iscrypted — 如果此選項存在的話,就表示已假設密碼引數已經過加密了。這選項與 --plaintext 互斥。要建立加密的密碼,請使用 python
    $ python -c 'import crypt; print(crypt.crypt("My Password", "$6$My Salt"))'
    這會使用您所提供的「鹽」(上述指令中的 Salt)產生 sha512 的加密密碼。
  • --iscrypted — 如果此選項存在的話,就表示已假設密碼引數為普通文字。這選項與 --plaintext 互斥。
  • --shell= — 使用者的登錄 shell。若沒有提供的話,會使用系統的預設值。
  • --uid= — 使用者 ID(UID)。若沒有提供的話,這將會被預設為下一個可用的非系統 UID。
  • --gid= — 群組 ID(GID)。若沒有提供的話,這將會被預設為下一個可用的非系統 GID。

    重要

    由於一個 bug 的問題,目前 --gid= 選項無法使用。要在 Kickstart 檔案中使用這選項會顯示錯誤訊息,並導致安裝過程失敗。這是已知的問題。
vnc(選用)
讓您可以通過 VNC 進行遠端瀏覽圖形化安裝。通常建議以此模式來取代文字模式,因為在文字模式安裝下,部份大小以及語言將會受到限制。若沒有其它選項的話,這指令會在電腦上啟用 VNC 伺服器且不需要密碼,並會列出連接所需的詳細資料。
vnc [--host=hostname] [--port=port] [--password=password]
  • --host= — 與其在安裝機器上啟用一個 VNC 伺服器,此選項會連至監聽所提供的主機名稱的 VNC 檢視器程序。
  • --port= — 提供一個遠端 VNC 檢視器程序正在監聽的連接埠。若沒有提供的話,Anaconda 將會使用 VNC 預設值。
  • --password= — 設置一組密碼,若要連至 VNC session,這組密碼會是必要的。雖然這是個非必選的選項,不過我們建議您使用它。
欲知更多 VNC 安裝的資訊,包括如何連上欲安裝系統的資訊,請參閱〈章 22, 透過 VNC 安裝〉。
volgroup(選用)
建立 LVM(邏輯卷冊管理,Logical Volume Management)群組。
volgroup name partition [options]

重要

當您在使用 kickstart 安裝 Red Hat Enterprise Linux 時,請勿在邏輯卷冊與卷冊群組的名稱中使用連字號(-)。若使用了此字元,安裝過程會正常結束,但 /dev/mapper/ 目錄中的這些卷冊與卷冊群組的連字號都會變成兩個。例如,名為 volgrp-01 的卷冊群組中包含了名為 logvol-01 的邏輯卷冊會變成 /dev/mapper/volgrp--01-logvol--01
這限制只套用在新建立的邏輯卷冊與卷冊群組名稱上。如果您使用了 --noformat 選項重複使用了現有卷冊,那麼其名稱就不會變動。
欲知 volgroup 的詳細分割範例,請參閱〈節 23.4.1, “進階磁碟分割範例”〉。
選項如下所示:
  • --noformat — 使用現有的卷冊群組,並且不將它格式化。
  • --useexisting — 使用現有的卷冊群組,並且將它格式化。
  • --pesize= — 設置實體磁區的大小。
  • --reserved-space= — 指定卷冊群組中的保留空間,單位為 MB。這只能用於新建立的卷冊群組。
  • --reserved-percent= — 指定卷冊群組中的保留空間,單位為百分比。這只能用於新建立的卷冊群組。
請先建立分割區、建立邏輯卷冊群組,然後再建立邏輯卷冊,例如:
part pv.01 --size 10000
volgroup volgrp pv.01 
logvol / --vgname=volgrp --size=2000 --name=root
xconfig(選用)
配置 X Window System。若您以一個不包含 xconfig 指令的 Kickstart 檔案安裝了 X Window System 的話,您必須在進行安裝時,手動式提供 X 配置。
請勿在一個不會安裝 X Window System 的 Kickstart 配置檔案中使用這項指令。
  • --defaultdesktop= — 指定預設桌面環境為 GNOMEKDE(假設 GNOME 桌面環境與/或 KDE 桌面環境皆已透過 %packages 一節安裝)。
  • --startxonboot — 在已安裝的系統上使用圖形化登錄。
zeromrb(選用)
若指定了 zerombr,任何磁碟上所發現的無效分割區表格皆會被初始化。這將會清除包含無效分割區表格的磁碟上的所有內容。在自動安裝系統至已有初始化的硬碟之系統時,這是必須的選項。

警告

在 IBM System z 上,如果指定了 zerombr,任何安裝程式可見、且尚未低階格式化的「直接存取儲存裝置」(DASD,Direct Access Storage Device)都會被 dasdfmt 程式低階格式化。在互動式安裝中,這指令也避免了使用者做出選擇。
如果並未指定 zerombr,且安裝程式可找到至少一組未格式化的 DASD 裝置,那麼非互動式的 Kickstart 安裝就會不成功地退出。
如果並未指定 zerombr 且安裝程式至少可看到一組未格式化的 DASD,如果使用者不同意格式化所有可見、未格式化的 DASD,那麼互動式安裝程式就會退出。要避免這情況發生,請啟動要在安裝其間使用的 DASD 就好。您可以在安裝之後再增加 DASD。
zfcp(選用)
定義光纖通道的裝置。這選項及於 IBM System z。以下所有選項都必須指定。
zfcp --devnum=devnum --wwpn=wwpn --fcplun=lun
  • --devnum — 裝置編號(zFCP 介面裝置的匯流排 ID)。
  • --wwpn — 裝置的 WWPN(World Wide Port Name)。格式為 16 位的數字,前導文字為 0x
  • --fcplun — 裝置的 LUN(Logical Unit Number)。格式為 16 位的數字,前導文字為 0x
舉例來說:
zfcp --devnum=0.0.4000 --wwpn=0x5005076300C213e9 --fcplun=0x5022000000000000
%include(選用)
使用 %include /path/to/file 指令將另一個檔案的內容納入 Kickstart 的檔案,就好像另一個檔案的內容位於 Kickstart 檔案的 %include 指令中。

23.3.3. 套件選擇

使用 %packages 指令來開始 Kickstart 的一節,用以描述要安裝的軟體套件。
您可以透過「環境」(environment)、「群組」(group)或套件名稱來指定套件。安裝程式定義了幾種環境與群組,用以包含相關的套件。詳情請見 Red Hat Enterprise Linux 7 之安裝 DVD 的 repodata/*-comps-variant.architecture.xml 檔案,以取得環境與群組清單。
*-comps-variant.architecture.xml 檔案包含了描述可用環境(用 <environment> 標籤所標示)與可用群組(用 <group> 標籤所標示)的結構。每個條目都有一組 ID、使用者的可視性之值、名稱、描述、以及套件清單。如果要安裝群組,套件清單中標示為 mandatory(必要)的套件都會被安裝,標示為 default(預設)的套件如果沒有被標示為「不安裝」都會被安裝,而標示為 optional(選用)的套件則必須特別納入才會被安裝。
您可以使用套件群組或環境的 ID(<id> 標籤)或名稱(<name> 標籤)來指定套件群組或環境。

重要

要在 64 位元系統上安裝 32 位元的套件,使用者需要在套件名稱之後,增加該套件建立時的 32 位元架構。例如 glibc.i686--multilib 選項也必須在 Kickstart 檔案中指定;可用的選項請見以下:

重要

除非啟用了桌面環境與「X 視窗系統」都被納入安裝過程、並啟用了圖形化登入環境,否則系統透過 Kickstart 安裝之後,不會執行「初始設定」(Initial Setup)。這表示預設上,除了 root 以外,系統不會建立任何使用者。您可以在安裝額外系統之前,使用 Kickstart 檔案中的 user 選項來建立使用者(詳情請見〈節 23.3.2, “Kickstart 指令和選項”〉)或使用 root 登入已安裝系統的虛擬主控台,然後以 useradd 指令來新增使用者。
%packages 一節必須以 %end 指令作終。
指定環境
除了群組之外,請指定要安裝的整個環境:
%packages
@^Infrastructure Server
%end
本指令會安裝所有屬於「Infrastracture Server」(基礎架構伺服器)環境的所有套件。所有可用環境都可在 Red Hat Enterprise Linux 7 安裝 DVD 中的 repodata/*-comps-variant.architecture.xml 檔案裡找到。Kickstart 檔案中只可以指定單一環境。
指定群組
指定群組,一行一個,請以 @ 符號開始,然後是完整的群組名稱或群組 ID,如 *-comps-variant.architecture.xml 檔案所述。例如:
%packages 
@X Window System
@Desktop
@Sound and Video
%end
CoreBase 群組總是會被選取,所以不需要在 %packages 一節中指定。
*-comps-variant.architecture.xml 檔案也為每個 Red Hat Enterprise Linux 版本定義了名為 Conflicts (variant)(衝突)的群組。這群組包含了所有會導致檔案衝突的套件,以及需要排除的套件。
指定個別套件
用名稱指定個別的套件,每行一組。您可以使用星號(*)作為「萬用字元」來表示多重套件。如:
%packages 
sqlite
curl
aspell
docbook*
%end
docbook* 一行包括了 docbook-dtdsdocbook-simpledocbook-slides 以及其它符合這萬用字元的套件。
排除環境、群組、或套件
在套件或群組的前面加上減號(-)表示不安裝。例如:
%packages 
-@Graphical Internet 
-autofs
-ipa*fonts
%end

重要

在 Kickstart 檔案中僅使用單一 * 來安裝所有可用套件,是不支援的,即使您排除了 @Conflicts (variant) 群組亦然。
您可以改變 %packages 一節的預設行為,方法是使用多種選項。一些選項可用於選擇所有套件,其它選項僅及於特定群組。

通用的選擇套件選項

%packages 選項擁有下列的可用選項。要使用選項,請將這選項加至選擇套件一節的開始位置。例如:
%packages --multilib --ignoremissing
--nobase
不安裝 @Base 群組。請使用此選項來執行一項最小型安裝。比方說,單用途伺服器或是桌面系統。
--ignoremissing
忽略任何安裝來源中找不到的套件、群組與環境,而不是在安裝過程中停下來,詢問使用者該繼續還是放棄安裝。
--excludedocs
不要安裝套件中的任何文件。在大部分情況下,這會排除多半安裝於 /usr/share/doc* 目錄中的任何檔案,但要排除的特定檔案端視個別套件而定。
--multilib
為 multilib 套件配置已安裝的系統(也就是允許在 64 位元的 x86 系統上安裝 32 位元的套件)並安裝指定在此部分中的套件。
正常來說,在一部 AMD64 與 Intel 64 系統上,只有此架構的套件(標記為 x86_64)以及所有(標記為 noarch)架構的套件會被安裝。當您使用此選項時,32 位元 AMD 與 Intel 系統(標記為 i686)的可用套件將也會被自動安裝。
這僅套用於特別指定於 %packages 一節中的套件。在 Kickstart 檔案中沒有指定、但因相依性而安裝的套件,只會安裝所需的架構版本,即使有其它架構亦然。

特定套件群組的選項

這清單中的選項僅套用於單一套件群組。這不是在 Kickstart 檔案的 %packages 一節裡使用,而是加至群組名稱上。例如:
%packages
@Graphical Internet --optional
%end
--nodefaults
僅安裝群組的必要套件,而非預設選項。
--optional
除了安裝預設選擇的套件外,安裝在 *-comps-variant.architecture.xml 檔案中的群組定義裡,標示為選用的套件。

23.3.4. 前置安裝 Script

在剖析了 Kickstart 檔案之後、但在安裝開始之前,您可以立即在系統上新增並執行指令。這一節必須放在 Kickstart 檔案的最後面,如〈節 23.3.2, “Kickstart 指令和選項”〉所述的 Kickstart 指令,而且必須以 %pre 開始、以 %end 結尾。如果您的 Kickstart 檔案也包括 %post 一節,那麼 %pre%post 兩節所包括的順序是無關緊要的。
您可以在 %pre 部份中存取網路。然而,由於此時尚未設定「名稱服務」(name service),因此您只能輸入 IP 位址,而非 URL。
Kickstart 的前置安裝 script 無法管理多重安裝樹或來源媒介。這項資訊必須包括在每個已建立的 Kickstart 檔案中,因為前置安裝 script 會在安裝過程中的第二階段出現。

注意

跟安裝後的 script 不同,安裝前的 script 不會在 chroot 環境中執行。
下列選項可以用來改變安裝前的 script 之行為。要使用選項,將其加入 script 開始的 %pre 一行中。例如:
%pre --interpreter=/usr/bin/python
--- Python script omitted --
%end
--interpreter=
允許您指定不同的 script 語言,例如 Python。您可以使用系統上的任何 script 語言;在大多數情況下,是 /usr/bin/sh/usr/bin/bash、與 /usr/bin/python
--erroronfail
如果執行 script 失敗,顯示錯誤並終止安裝程序。錯誤訊息會將使用者帶到失敗被紀錄下來的地方。
--log=
紀錄 script 的輸出資訊至特定的紀錄檔。例如:
%post --log=/mnt/sysimage/root/ks-pre.log
以下是 %pre 一節的範例:

範例 23.3. %pre Script 的範例

%pre
#!/bin/sh  
hds="" 
mymedia=""  
for file in /proc/ide/h* do   
	mymedia=`cat $file/media`   
	if [ $mymedia == "disk" ] ; then       
		hds="$hds `basename $file`"   
	fi 
done  
set $hds 
numhd=`echo $#`  
drive1=`echo $hds | cut -d' ' -f1` 
drive2=`echo $hds | cut -d' ' -f2`  

#Write out partition scheme based on whether there are 1 or 2 hard drives  
if [ $numhd == "2" ] ; then   
	#2 drives   
	echo "#partitioning scheme generated in %pre for 2 drives" > /tmp/part-include   
	echo "clearpart --all" >> /tmp/part-include   
	echo "part /boot --fstype xfs --size 75 --ondisk hda" >> /tmp/part-include   
	echo "part / --fstype xfs --size 1 --grow --ondisk hda" >> /tmp/part-include   
	echo "part swap --recommended --ondisk $drive1" >> /tmp/part-include   
	echo "part /home --fstype xfs --size 1 --grow --ondisk hdb" >> /tmp/part-include 
else   
	#1 drive   
	echo "#partitioning scheme generated in %pre for 1 drive" > /tmp/part-include   
	echo "clearpart --all" >> /tmp/part-include   
	echo "part /boot --fstype xfs --size 75" >> /tmp/part-include
	echo "part swap --recommended" >> /tmp/part-include   
	echo "part / --fstype xfs --size 2048" >> /tmp/part-include   
	echo "part /home --fstype xfs --size 2048 --grow" >> /tmp/part-include 
fi
%end
此 script 會決定系統上的硬碟數量,並以不同的磁碟分割機制來寫入一個文字檔案(取決於有一個還是兩個硬碟)。您可以不用在 Kickstart 檔案中指定一組磁碟分割指令,只需要將以下這行加入即可:
%include /tmp/part-include
使用在 script 中所選的分割指令。

23.3.5. 後續安裝 Script

您也可以選擇增加在安裝完成後、但在系統第一次重新開機之前,要在系統上執行的指令。這個部份必須位於 Kickstart 檔案的最後(如〈節 23.3.2, “Kickstart 指令和選項”〉所述),而且必須以 %post 指令作為起始、以 %end 為結束。如果您的 kickstart 檔案也包括了 %pre 一節,那麼 %pre%post 的順序就無關宏旨。
本節對於某些功能非常有用,例如安裝額外軟體、或配置額外的名稱伺服器。後續安裝的 script 會在 chroot 環境下執行;因此預設上,無法執行如從安裝媒體複製 script 或 RPM 之類的工作項目。您可以使用 --nochroot 選項來改變此行為,如下所述。

重要

如果您以靜態的 IP 資訊(含有一部名稱伺服器)來設定網路,您可以在 %post 部份存取網路並且解析 IP 位址。如果您設定網路為使用 DHCP,當安裝程式執行 %post 部份時,/etc/resolv.conf 檔案還尚未完成。您可以存取網路,不過您無法解析 IP 位址,因此如果您正在使用 DHCP,您必須在 %post 部份指定 IP 位址。
下列選項可以用來改變安裝後的 script 之行為。要使用選項,將其加入 script 開始的 %post 一行中。例如:
%post --interpreter=/usr/bin/python
--- Python script omitted --
%end
--interpreter=
允許您指定不同的 script 語言,例如 Python。舉例來說:
%post --interpreter=/usr/bin/python
您可以使用系統上的任何 script 語言;在大多數情況下,是 /usr/bin/sh/usr/bin/bash、與 /usr/bin/python
--nochroot
讓您可以指定您希望在 chroot 環境之外執行的指令。
以下範例將會複製 /etc/resolv.conf 檔案到剛安裝好的檔案系統中。
%post --nochroot
cp /etc/resolv.conf /mnt/sysimage/etc/resolv.conf
%end
--erroronfail
如果執行 script 失敗,顯示錯誤並終止安裝程序。錯誤訊息會將使用者帶到失敗被紀錄下來的地方。
--log=
紀錄後續安裝 script 的輸出至特定的檔案。請注意,您必須使用日誌檔案的路徑,無論您是否使用 --nochroot 選項。比方說,若沒使用 --nochroot 選項的話:
%post --log=/root/ks-post.log
使用 --nochroot:
%post --nochroot --log=/mnt/sysimage/root/ks-post.log
以下是 %post 一節的範例:

範例 23.4. %post Script 的範例

# Start of the %post section with logging into /root/ks-post.log
%post --log=/root/ks-post.log

# Mount an NFS share
mkdir /mnt/temp
mount -o nolock 10.10.0.2:/usr/new-machines /mnt/temp
openvt -s -w -- /mnt/temp/runme
umount /mnt/temp

# End of the %post section
%end
上述範例會掛載 NFS 的共享目錄,並執行該目錄中 /usr/new-machines/ 名為 runme 的 script。請注意,Kickstart 模式並「」支援 NFS 的檔案鎖定功能,因此需要 -o nolock 選項。
使用 Kickstart 安裝時,後續 script 的最常見用途,是使用 Red Hat 訂閱管理員來註冊系統。以下是 %post script 中,自動註冊的範例:

範例 23.5. 以 Post-Install script 方式執行 subscription-manager

%post --log=/root/ks-post.log
/usr/sbin/subscription-manager register --username=admin@example.com --password=secret --serverurl=sam-server.example.com --org="Admin Group" --environment="Dev" --servicelevel=standard --release="7.0"
%end
subscription-manager 命令列 script 會向 Red Hat 註冊管理伺服器(客戶入口網站訂閱管理、訂閱資產管理員、或 CloudForms System Engine)註冊系統。這 script 也可以用來自動指定或連接系統與最適用於此系統的訂閱服務。
向客戶入口網站註冊時,請使用 Red Hat Network 的登入帳號。向訂閱資產管理員或 CloudForms System Engine 註冊時,請使用本地管理員所建立的使用者帳號。
註冊指令可以搭配額外選項,設定系統偏好的服務等級,並限制更新檔與勘誤套用至指定的作業系統版本。