複数のEL6システムを起動していて、私のセクションで行われた%pre
作業を記録したいと思います。
%post
提供されたプロンプトに従ってその部分を記録できることがわかります。centos.org:anacondaとkickstartのヒントとコツ次の 2 つの方法のいずれかを使用します。
%post --log=/root/my-post-log
echo 'Hello, World!'
または:
%post
exec < /dev/tty3 > /dev/tty3
chvt 3
echo
echo "################################"
echo "# Running Post Configuration #"
echo "################################"
(
echo 'Hello, World!'
) 2>&1 | /usr/bin/tee /var/log/post_install.log
chvt 1
%pre
しかし、その部分については作業を行うことはできません。これが私が使用するものです:
%pre --log=/var/log/my-pre-log
echo 'Hello, World!'
いよいよ使用が許可されたとき仮想コンソール、システムのどこにでもログファイルが見つかりません。
%post
これは、Anacondaの実行時に新しいシステムに実際に存在する - を使用して新しいディスクに切り替えるため、再起動後もログファイルが存在するため、その部分に適しています。%post
chroot
/var/log/
これを行うためにそのセクションを使用する際の問題は、その時点で%pre
利用可能な唯一のファイルシステムがメモリ専用ファイルシステムであることです。ファイルに書き込むと、コンピュータをシャットダウンした後にファイルシステムが消えます/tmp/
。/root/pre_install.log
/var/log
デバッグシェルはインストール中まで使用できません、これはデバッグを困難にします。
答え1
%pre
私も、後で分析するためにログをキャプチャするのと同じ要件を持っています。そうですね。%post
Anacondaに入ると、新しく作成されたファイルシステムにルートが変更され、ログにアクセスできなくなります%pre
。%post
runを使用できますが、私の考えでは--nochroot
パスが痛いです。%post
%include
私はそのセクションで使用することで私が欲しいものを手に入れることができました%post
。まず、%pre
出力を記録します。
%pre --log /tmp/pre-install.log
echo "Starting Kickstart Pre-Installation..."
その後、%include
録音%pre
中%post
にここでbashのドキュメントを含むファイルに送信します。
%post --log /root/post-install.log
cat >> /root/pre-install.log << "EOF"
%include /tmp/pre-install.log
EOF
私はその部分がAnacondaによって最初に評価され、使用するファイルを%pre
生成できるため、これがうまくいくと思います。その後、Anacondaはファイルの残りの部分を評価し、各ファイルを指定されたファイルに置き換えます。また、同様に Anaconda ログをキャプチャしました。 2つのプロファイル行を 。%include
%include
pre-install
anaconda
%post