Centos
無法監控 Kickstart 安裝後日誌
我正在使用包含以下內容的 Kickstart 腳本安裝 Scientific Linux 7(我沒有理由認為所有 RHEL 分支都不是這種情況):
%post --interpreter /bin/bash --log /root/postinstall.log # do stuff %end
安裝後,日誌文件可以按預期進行檢查。
但是,使用 SL 6,我曾經能夠更改為 TTY 2 並使用
tail -f /mnt/sysimage/root/postinstall.log
. 現在,似乎創建了日誌,但在安裝後過程完成之前不會寫入內容。有沒有辦法監控這一進展?我在
/tmp/
,/var/log/
,中查找了日誌文件/mnt/sysimage/tmp/
,/mnt/sysimage/var/log/
但沒有任何運氣。如果日誌文件不可用,有沒有辦法從 Kickstart 安裝後腳本將輸出發送到另一個 TTY?嘗試1:
%post --interpreter /bin/bash ( # do stuff echo foo echo bar echo baz ) | tee /root/postinstall.log > /dev/tty1 %end
這幾乎可行,但是,行尾似乎是一個問題。它只是在螢幕上做一個 LF,而不是一個 CR。以上在 TTY1 上輸出:
foo bar baz
嘗試2:
%post --interpreter /bin/bash --log /root/postinstall.log echo "Changing output to TTY 3; press Alt-F3 to view" > /dev/tty1 exec 1>/dev/tty3 2>&1 #do stuff %end
這會將數據正確輸出到螢幕,但不記錄任何內容。它還具有奇怪的副作用,即在腳本完成後將重啟延遲 10 分鐘。
終於想通了:
%post --interpreter /bin/bash printf "Changing output to TTY 3; press Alt-F3 to view\r\n" > /dev/tty1 { # do stuff } 2>&1 | tee /root/postinstall.log > /dev/tty3 %end
如問題中所述,螢幕上
/dev/tty1
的行尾似乎存在問題,因此如果我重定向到,我的第一次嘗試可能會奏效/dev/tty3
。但是這個解決方案避免了 subshell 並且還重定向了 STDERR。
將您的輸出重定向到 /dev/pts/0 。