Kickstart 配置檔 ks.cfg 定義自動安裝的所有參數。本文提供標準範例並逐段解析關鍵指令:安裝來源、Root 密碼、開機載入器、磁碟分割、網路防火牆、套件選擇、%pre/%post 腳本。
###############################################################
# Sample Kickstart Configuration File
###############################################################
# 安裝來源:本地鏡像伺服器 (或 cdrom)
url --url https://rha-server/pub/rhel5/
# cdrom
# Root 密碼 (建議使用 --iscrypted 加密雜湊)
rootpw RedHat
# 開機載入器安裝於 MBR 並設定密碼
bootloader --location=mbr --password=redhat
###############################################################
# 磁碟分割
###############################################################
zerombr yes # 初始化 MBR
clearpart --all --initlabel # 清除所有分區並重新建立標籤
part /boot --fstype ext3 --size 128
part / --fstype ext3 --size 1 --grow # --grow 佔用剩餘空間
part swap --recommended # 自動計算 swap 大小
###############################################################
# 網路配置
###############################################################
network --bootproto=dhcp --device=eth0
firewall --disabled
# 靜態 IP 範例 (註解啟用)
# network --bootproto=static --ip=192.168.0.254 --netmask=255.255.255.0 --device=eth0
# firewall --medium --http --port=https:tcp
###############################################################
# 環境設定
###############################################################
# (後續包含時區、認證、SELinux、X Window 等設定)
###############################################################
# 套件選擇
###############################################################
%packages
@core
@base
vim-enhanced
git
%end
###############################################################
# 安裝前腳本 (%pre) - 在安裝環境中執行 (非 chroot)
###############################################################
%pre --interpreter=/bin/bash
# 可進行硬體偵測、動態生成分割方案
# 例如:檢測磁碟大小決定分割策略
%end
###############################################################
# 安裝後腳本 (%post) - 在已安裝系統 chroot 環境中執行
###############################################################
%post --interpreter=/bin/bash
# 啟用服務
systemctl enable sshd
systemctl enable ntpd
# 建立管理帳號
useradd -m -G wheel admin
echo "admin:SecurePass123" | chpasswd
# 設定 yum 儲存庫
cat > /etc/yum.repos.d/local.repo << EOF
[local]
name=Local Repository
baseurl=https://repo.local/centos/7/os/x86_64
enabled=1
gpgcheck=0
EOF
# 更新系統
yum -y update
%end
| 指令 | 功能 | 必要性 |
|---|---|---|
install | 宣告為安裝模式 (非升級) | 必要 |
url / cdrom / nfs | 指定安裝來源 | 必要 |
lang / keyboard | 語言與鍵盤佈局 | 建議 |
network | 網路設定 (DHCP/靜態、裝置、主機名、DNS) | 必要 |
rootpw | Root 密碼 (支援 --iscrypted) | 必要 |
bootloader | GRUB 安裝位置、密碼、核心參數 | 必要 |
zerombr / clearpart / part | 磁碟分割核心三指令 | 必要 |
firewall | 防火牆策略 | 建議 |
authconfig | 認證方式 (shadow, ldap, sssd 等) | 建議 |
timezone | 時區 (支援 --utc) | 建議 |
%packages | 套件群組 (@group) 與個別套件 | 必要 |
%pre / %post | 安裝前/後自動化腳本 | 進階 |
part / --size=1 --grow:根分區自動佔用所有剩餘空間part pv.01 --size=1 --grow + volgroup vg0 pv.01 + logvol / --vgname=vg0 --size=10240 --grow:LVM 彈性分割raid / --device=md0 --level=1 --fstype=ext4 /dev/sda /dev/sdb:RAID 1 根分區ignoredisk --only-use=sda:僅使用指定磁碟--interpreter=/bin/bash 明確指定解釋器set -e 讓腳本遇錯即停exec > /var/log/kickstart-post.log 2>&1# 使用 ksvalidator (pykickstart 套件提供)
ksvalidator ks.cfg

上一頁 1 2 下一頁 共 2 頁
Ubuntu 11.04 安裝 Ruby 1.9.2 與 RVM 版本管理器完整步驟
Linux 系統安裝與使用 Trickle 限制應用程式頻寬
Linux 設定 Java 環境變數 JAVA_HOME、PATH、CLASSPATH 的三種方法比較
Linux 閏秒 導致程序回應變慢:偵測與緩解方案 (ntpd slew mode)
Linux 開機報錯 "unable to load selinux policy" 兩大原因與解決方案
watch 指令週期性監控實戰:高亮差異、自訂間隔、常用監控場景(網路連線、HTTP、攻擊連線、目錄變化、負載)