![Anaconda kickstart 變數](https://rvso.com/image/1428746/Anaconda%20kickstart%20%E8%AE%8A%E6%95%B8.png)
我遇到一個問題,我試圖將使用者的輸入儲存在anaconda 的%pre 環境中名為$mail 的變數中,然後將其傳遞到%post 腳本中,在該腳本中它將附加到檔案/foo/ bar 。我已經嘗試過這樣的:
%pre
exec < /dev/tty5 > /dev/tty5 2> /dev/tty5
chvt5
echo "Please enter your Email Address."
read emailaddr
echo "$emailaddr" > /tmp/email.tmp
%post --nochroot
%include /tmp/email.tmp
emailaddr=$(cat /tmp/email.tmp)
echo "$emailaddr" >> /foo/bar
rm -f /tmp/email.tmp
%end
然而,這似乎根本不起作用。我相信我在從 %pre 目錄轉換到 %post 目錄時可能犯了一個錯誤。非常感謝您的幫忙。謝謝你!
答案1
發生這種情況是因為 %post 部分被 chroot 到 /mnt/sysimage (您正在安裝的系統所在的位置)。
要存取在 %pre 中建立的 /tmp,您需要在 %post 部分使用「--nochroot」選項。這可能會導致創建 2 個不同的帖子部分(一個帶有“--nochroot”,另一個沒有),或者您需要在任何路徑前面添加 /mnt/sysimage 前綴。