Pocket

Kickstartを用いた自動インストール時では、configファイルの「%post」以下にコマンドを記述することで、インストール直後にスクリプトを実行させる事が出来る。
その際にログを出力させるには、「%post」の後に以下のように追記すればいい。

%post --log=ログ出力先

これで、ログが出力される。
試しに、以下のconfigファイルを実行させてみた。

[root@test-centos CentOS_6.5_Final_custom]# cat /home/CentOS_6.5_Final_custom/ks
.cfg
#platform=x86, AMD64, 又は Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use CDROM installation media
cdrom
# Root password
rootpw --iscrypted $1$F3O.1DJZ$uuErHjcd.UCbs4SGswt9L.
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# System keyboard
keyboard us
# System language
lang ja_JP
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info

# System timezone
timezone  Asia/Tokyo
# Network information
network  --bootproto=dhcp --device=eth0 --onboot=on
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part / --fstype="ext4" --grow --size=1

%post --nochroot --log=/mnt/sysimage/root/ks-post.log
yum -y update
%end

%packages
@basic-desktop
@desktop-debugging
@desktop-platform
@directory-server
@fonts
@general-desktop
@graphical-admin-tools
@input-methods
@kde-desktop
@legacy-x
@network-server
@postgresql
@postgresql-client
@remote-desktop-clients
@scalable-file-systems
@server-platform
@storage-server
@system-admin-tools
@virtualization
@virtualization-client
@virtualization-platform
@virtualization-tools
@web-server
@web-servlet
@x11
crypto-utils

%end

上記configファイルでkickstartを実行した結果。

[root@localhost ~]# ls -la /root/
合計 248
dr-xr-x---. 25 root root 4096 5月 31 07:05 2014 .
dr-xr-xr-x. 23 root root 4096 5月 31 07:03 2014 ..
-rw------- 1 root root 310 5月 31 07:04 2014 .ICEauthority
drwxr-xr-x 2 root root 4096 5月 31 07:04 2014 .abrt
-rw-r--r--. 1 root root 18 5月 20 19:45 2009 .bash_logout
-rw-r--r--. 1 root root 176 5月 20 19:45 2009 .bash_profile
-rw-r--r--. 1 root root 176 9月 23 12:59 2004 .bashrc
drwxr-xr-x 4 root root 4096 5月 31 07:05 2014 .cache
drwxr-xr-x 5 root root 4096 5月 31 07:04 2014 .config
-rw-r--r--. 1 root root 100 9月 23 12:59 2004 .cshrc
drwx------ 3 root root 4096 5月 31 07:04 2014 .dbus
-rw-r--r-- 1 root root 32 5月 31 07:04 2014 .dmrc
-rw------- 1 root root 16 5月 31 07:04 2014 .esd_auth
drwx------ 4 root root 4096 5月 31 07:04 2014 .gconf
drwx------ 2 root root 4096 5月 31 07:06 2014 .gconfd
drwx------ 6 root root 4096 5月 31 07:05 2014 .gnome2
drwxr-xr-x 3 root root 4096 5月 31 07:04 2014 .gnote
drwx------ 2 root root 4096 5月 31 07:04 2014 .gnupg
drwxr-xr-x 2 root root 4096 5月 31 07:04 2014 .gstreamer-0.10
-rw-r--r-- 1 root root 241 5月 31 07:04 2014 .gtk-bookmarks
dr-x------ 2 root root 0 5月 31 07:04 2014 .gvfs
-rw-r--r-- 1 root root 781 5月 31 07:04 2014 .imsettings.log
drwxr-xr-x 3 root root 4096 5月 31 07:04 2014 .local
drwxr-xr-x 2 root root 4096 5月 31 07:04 2014 .nautilus
drwx------ 2 root root 4096 5月 31 07:04 2014 .pulse
-rw------- 1 root root 256 5月 31 07:04 2014 .pulse-cookie
-rw------- 1 root root 907 5月 31 07:05 2014 .recently-used.xbel
drwx------ 2 root root 4096 5月 31 07:04 2014 .ssh
-rw-r--r--. 1 root root 129 12月 4 06:42 2004 .tcshrc
-rw------- 1 root root 1343 5月 31 07:04 2014 .xsession-errors
-rw-------. 1 root root 1263 5月 31 07:02 2014 anaconda-ks.cfg
-rw-r--r--. 1 root root 70366 5月 31 07:02 2014 install.log
-rw-r--r--. 1 root root 13582 5月 31 06:58 2014 install.log.syslog
-rw-------. 1 root root 148 5月 31 07:02 2014 ks-post.log
drwxr-xr-x 2 root root 4096 5月 31 07:04 2014 ダウンロード
drwxr-xr-x 2 root root 4096 5月 31 07:04 2014 テンプレート
drwxr-xr-x 2 root root 4096 5月 31 07:04 2014 デスクトップ
drwxr-xr-x 2 root root 4096 5月 31 07:04 2014 ドキュメント
drwxr-xr-x 2 root root 4096 5月 31 07:04 2014 ビデオ
drwxr-xr-x 2 root root 4096 5月 31 07:04 2014 音楽
drwxr-xr-x 2 root root 4096 5月 31 07:04 2014 画像
drwxr-xr-x 2 root root 4096 5月 31 07:04 2014 公開
[root@localhost ~]#
Sponsored Links

確かに、「ks-post.log」が存在している。

[root@localhost ~]# cat ks-post.log
Traceback (most recent call last):
File "/mnt/sysimage/usr/bin/yum", line 28, in <module>
import yummain
ImportError: No module named yummain

…ありゃ。
yumはうまく動かなかったようだ。インストール直後だったからかなぁ…(sshから実行させたところ成功したので)。

とはいえ、目的であったログ出力は成功したので、まぁ良しとしよう。

その他、細かい挙動を設定したいのであれば、以下のサイトが参考になると思う。

検閲Tech: Anaconda Kickstartの%postスクリプトの動作を観察する

http://ken-etsu-tech.blogspot.jp/2008/01/anaconda-kickstartpost.html

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。