Linux

CentOS 上 Kickstart 文件的 %pre 部分有哪些可用的命令?

  • May 22, 2016

環境:CentOS 5.5 和 6.4

我要求在安裝前分析硬體,以確保我們的客戶不會將我們的軟體安裝在不合標準的伺服器硬體上。例如,檢查記憶體、磁碟空間、CPU、網卡……所以,我的 ks.cfg 文件中的 %pre 部分似乎是執行此操作的理想場所???但是,我無法獲得像 free to work 這樣的命令…。我想找出 %pre 部分中可用的命令,這是在安裝開始之前執行硬體分析的正確位置嗎???。 . 如果 ks.cfg 的 %pre 部分不是執行此操作的好地方,那麼在哪裡?這是我到目前為止嘗試過的,但沒有輸出:

ks.cfg:

%pre
 (echo "Analyzing Hardware...") >/dev/tty1
 free >/dev/tty1
 free_txt=`free -o`
 (echo "$free_txt") >/dev/tty1
%end

在安裝的第一部分,我在螢幕上看到“正在分析硬體…”,但之後就沒有了…..

您的%prekickstart 部分在安裝程序環境中執行。

以下是 RHEL6.5 安裝程序環境中可用的有用命令列表:

  • 殼牌工具:arch awk basename bash cat chattr chgrp chmod chown chroot clear clock consoletype cp cut date df dmesg du echo egrep env expr false fgrep find getopt grep head hwclock id kill killall killall5 less ln ls lsattr mkdir mknod mktemp mv pidof ps pwd readlink rm rmdir sed sh shred sleep sort split sync tac tail tee top touch true tty uname uniq wc which xargs
  • 編輯和尋呼機:less more vi
  • 雜湊實用程序:md5sum sha1sum sha256sum
  • 壓縮和歸檔:gzip bzip2 cpio dd tar rpm
  • fsck/ mkfs/等 為了ext2 ext3 ext4 xfs btrfs msdos vfat
  • 其他文件系統的東西:mkswap swapon swapoff dmraid dmsetup mdadm mdmon dump restore mt lvm lvs vgs pvs ...
  • 網路實用程序:arp arping curl dhclient dhclient-script ftp ifconfig hostname ip ipcalc mtr nc ping rcp rdate rlogin telnet nslookup ntpdate route rsh rsync ssh ssh-keygen sshd scp sftp wget
  • 硬體資訊:biosdevname blkdeactivate blkid blockdev dmidecode lshal lspci lsscsi sginfo smartctl
  • 磁碟實用程序:eject dump restore hdparm smartctl losetup kpartx parted fdisk sfdisk
  • 控制台處理/對話框:chvt consolehelper openvt whiptail zenity
  • 記錄:logger rsyslogd syslogd
  • python
  • 還有更多!

如果您執行手動安裝,您可以切換到 VT2 ( Ctrl``Alt``F2) 上的終端​​並四處尋找安裝程序環境中可用的所有內容。compgen -c | sort -u是列出每個可用命令的簡單方法,在/sys和中可以找到大量系統資訊/proc

%pre(是的,腳本執行後會重新解析 kickstart ,因此您%pre可以編輯 kickstart 和/或生成新的 kickstart 片段以與 .) 一起使用%include。)

諸如此類的命令通常在%prekickstart 部分中不可用。

摘錄 - http://narrabilis.com/book/export/s5/6

%pre

%pre 部分是您可以在安裝系統之前指定要執行的命令的地方。此處放置的命令不在 chrooted 安裝環境中執行。%pre必須位於 kickstart 文件的末尾。您可以將 –interpreter 附加到該%pre行以使 pre 腳本執行不同的解釋器/bin/sh

Fedora 文件還在Anaconda/Kickstart 文件的第 4 章預安裝腳本%pre部分討論了可用的內容。

摘抄

您可以在解析 ks.cfg 並處理 lang、keyboard 和 url 選項後立即添加要在系統上執行的命令。此部分必須位於 kickstart 文件的末尾(在命令之後),並且必須以 %pre 命令開頭。您可以在 %pre 部分訪問網路;但是,此時尚未配置名稱服務,因此只能使用 IP 地址。

最後,紅帽官方文件有這樣的說法,標題為:32.6。預安裝腳本

kickstart 的預安裝腳本部分無法管理多個安裝樹或源媒體。每個創建的 ks.cfg 文件都必須包含此資訊,因為預安裝腳本發生在安裝過程的第二階段。

因此,您將可以訪問解釋器中包含的命令(Bash、Python 等),但幾乎沒有其他命令。

引用自:https://unix.stackexchange.com/questions/131690