Kickstartのインストール後にログを監視できません

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/の成果もありませんでした。ログファイルが利用できない場合、キックスタートインストール後にスクリプトを使用して出力を別のTTYに送信できますか?

1を試してください:

%post --interpreter /bin/bash
(
# do stuff
echo foo
echo bar
echo baz
) | tee /root/postinstall.log > /dev/tty1
%end

これはほとんどうまくいきますが、行末が問題のようです。 CR以外のLFのみが画面上で実行されます。 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分遅れるという奇妙な副作用もあります。

答え1

出力を/dev/pts/0にリダイレクトします。

答え2

ついにそれを見つけました:

%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。ただし、このソリューションはサブシェルを回避し、STDERRもリダイレクトします。

答え3

exec < /dev/tty6 > /dev/tty6
chvt 6
<scripts here>
chvt 1

これは私にとって効果的です。 ttyを反転することなく%postを監視できます。

答え4

問題はキャリッジリターンにあります。

echo "message" >/dev/tty1

試してみてください

echo -e "message\r" >/dev/tty1

関連情報