Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Kickstart 腳本 (ks.cfg) 完整配置範例解析:安裝來源、分割、網路、套件、腳本

編輯:關於 Linux

Kickstart 配置檔 ks.cfg 定義自動安裝的所有參數。本文提供標準範例並逐段解析關鍵指令:安裝來源、Root 密碼、開機載入器、磁碟分割、網路防火牆、套件選擇、%pre/%post 腳本。

完整 ks.cfg 範例 (含註解)

###############################################################
# 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)必要
rootpwRoot 密碼 (支援 --iscrypted)必要
bootloaderGRUB 安裝位置、密碼、核心參數必要
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:僅使用指定磁碟

%post 腳本最佳實踐

  • 使用 --interpreter=/bin/bash 明確指定解釋器
  • 腳本內使用絕對路徑,環境變數較少
  • 網路操作 (yum, wget) 需確保 %pre 階段已配置網路
  • 錯誤處理:set -e 讓腳本遇錯即停
  • 日誌記錄:exec > /var/log/kickstart-post.log 2>&1

驗證 ks.cfg 語法

# 使用 ksvalidator (pykickstart 套件提供)
ksvalidator ks.cfg

上一頁 1 2 下一頁 共 2 頁

Copyright © Windows教程網 All Rights Reserved