troubleShooting

coLinux Wiki(英語)を見て、startup/shutdown時のエラーを解消しよう!
(TODO:auditdが解決したら、coLinux Wiki(日本語版)にも書くこと!)

putfont: PIO_FONT: Function not implemented

起動時に発生。

概要

colinuxの場合、setfontを実行させない。

手順

(1) setfont をリネーム


mv /bin/setfont /bin/setfont.org

(2)新 setfont を作成


vi /bin/setfont
以下を記述

#!/bin/bash

if ! uname -r | grep -q -e "-co-"
then
/bin/setfont.org $@
fi

(3)新しい setfont に実行権限をつける

chmod +x /bin/setfont

補足

unameは、システム情報を出力するコマンド。⇒unameマニュアル
システム情報の中に"-co-"が含まれれば、フォント設定しない。含まれなければ、/bin/setfont.org(デフォルトの動作)を実行。つまり、coLinux上で起動した場合は、何もしない。


ためしに、uname -rしてみた。


[XXXX@colinux etc]$ uname -r
2.6.22-co-0.7.2

うん、まあ・・・確かに。

hwclock is unable to get I/O port access: the iopl(3) call failed

終了時に発生するエラー。

概要

colinuxの場合、hwclockは使えないので無効にする。

手順

(1)/etc/rc.d/rc.sysinit を変更。
/etc/rc.d/rc.sysinit を開き、hwclockの行を探して変更。colinuxの場合、hwclockを実行しない。


cp /etc/rc.d/rc.sysinit /etc/rc.d/rc.sysinit.org
vi /etc/rc.d/rc.sysinit
変更後の該当ファイル。#は変更前の行。

#[ -x /sbin/hwclock ] && /sbin/hwclock $CLOCKFLAGS
if ! uname -r | grep -q -e "-co-"
then
[-x /sbin/hwclock ] && /sbin/hwclock $CLOCKFLAGS
fi


(2)/etc/rc.d/init.d/halt を変更。
/etc/rc.d/init.d/halt を開き、 hwclockの行を探して変更。colinuxの場合、hwclockを実行しない。


cp /etc/rc.d/init.d/halt /etc/rc.d/init.d/halt.org
vi /etc/rc.d/init.d/halt
変更後の該当ファイル。#は変更前の行。

#[-x /sbin/hwclock ] && action $"Syncing hardware clock to system time" /sbin/hwclock $CLOCKFLAGS
if ! uname -r | grep -q -e "-co-"
then
[-x /sbin/hwclock ] && action $"Syncing hardware clock to system time" /sbin/hwclock $CLOCKFLAGS
fi

補足

hwclockは、システムクロックをハードウェアクロックにあわせる機能などをもつツール。
BIOSの時刻にあわせることもできるし、タイムサーバ(NTPサーバ)の時刻にあわせることもできるらしい。
参考:@IT 時間を正確に合わせるには どゆこと?とか方法とか解説
参考:hwclockコマンド コマンドリファレンス
参考:Wikipedia NTP(Network Time Protocol)とは NTPプロトコルについて説明

Starting auditd が FAILED

ステータス

調査中。また、coLinuxでは使えないというオチかも?

解決方法1:解決せず。

参考:fedoraforum.org
/var/log/audit/audit.logへの権限がroot以外についているからとのこと。
(1)変更前


-rw-r----- 1 root root 5707 2008-03-16 14:49 audit.log
(2)モードを変更

chmod 600 /var/log/audit/audit.log
(3)変更後

-rw------- 1 root root 5707 2008-03-16 14:49 audit.log
(4)再起動
同様にFAILED。
/var/log/audit/audit.logの出力は下記の通り、ABORTと。

type=DAEMON_START msg=audit(1205646551.810:2699): auditd start, ver=1.5.6, format=raw, auid=4294967295 pid=2472 res=success, auditd pid=2472
type=DAEMON_ABORT msg=audit(1205646551.810:2700): auditd error halt, auid=4294967295 pid=2472 res=failed, auditd pid=2472
⇒ログ確認。
/var/log/messaesに権限は640でないといけないというエラーが出てた

Mar 17 07:26:30 colinux auditd: /var/log/audit/audit.log permissions should be 0640
Mar 17 07:26:30 colinux auditd: The audit daemon is exiting.
ので戻した。

chmod 640 /var/log/audit/audit.log

解決方法2:模索中。

同じエラーがfedora-selinux mailing listに⇒こちらも未解決。


[root@colinux sbin]# auditd -f
Config file /etc/audit/auditd.conf opened for parsing
log_file_parser called with: /var/log/audit/audit.log
log_format_parser called with: RAW
log_group_parser called with: root
priority_boost_parser called with: 3
flush_parser called with: INCREMENTAL
freq_parser called with: 20
num_logs_parser called with: 4
dispatch_parser called with: /sbin/audispd
qos_parser called with: lossy
max_log_size_parser called with: 5
max_log_size_action_parser called with: ROTATE
space_left_parser called with: 75
space_action_parser called with: SYSLOG
action_mail_acct_parser called with: root
admin_space_left_parser called with: 50
admin_space_left_action_parser called with: SUSPEND
disk_full_action_parser called with: SUSPEND
disk_error_action_parser called with: SUSPEND
Started dispatcher: /sbin/audispd pid: 3132
type=DAEMON_START msg=audit(1205757565.484:98): auditd start, ver=1.5.6, format=raw, auid=4294967295 pid=3128 res=success, auditd pid=3128
config_manager init complete
Error setting audit daemon pid (Connection refused)
type=DAEMON_ABORT msg=audit(1205757565.484:99): auditd error halt, auid=4294967295 pid=3128 res=failed, auditd pid=3128
Unable to set audit pid, exiting
The audit daemon is exiting.
Error setting audit daemon pid (Connection refused)
プロセスを確認。

[root@colinux ~]# ps -ef | grep audit
root 2877 2876 0 22:09 ? 00:00:00 /usr/bin/Xvnc :0 -audit 0 -geometry 1024x768 -depth 16 -SecurityTypes None -auth /var/gdm/:0.Xauth
pstreeを確認。

[root@colinux ~]# pstree
init─┬─avahi-daemon───avahi-daemon
├─console-kit-dae───61*[{console-kit-dae}]
├─dbus-daemon
├─dhclient
├─gdm-binary───gdm-binary─┬─Xvnc
│ └─gdmgreeter
├─hald───hald-runner
├─klogd
├─6*[mingetty]
├─ntpd
├─sshd─┬─sshd───sshd───bash───su───bash
│ └─sshd───sshd───bash───su───bash───pstree
├─syslogd
├─udevd
└─xfs
auditdの親プロセスは起動できたが、子プロセスの起動に失敗してる状態??とか。

関連するファイル
/etc/init.d/auditd 起動スクリプト
/etc/audit/audit.conf 設定ファイル
/etc/audit/audit.rules 監査内容設定ファイル
/etc/sysconfig/audit 実行時パラメータなど
/sbin/auditd 実行ファイル

ためしに/sbin/auditdファイルのLANG設定をja_JPにしたが変化なし。そうだよね。

マニュアル
auditd(8) 監査プロセスを起動するコマンド
auditd.conf(5) 設定ファイル(前出)
ausearch(8) 監査ログを表示、検索するユーティリティ
aureport(8) auditデーモンのログをサマリ出力するユーティリティ
auditctl(8) auditd デーモンを実行している間に監査パラメータ、syscall 規則、及びファイルシステム監視を変更できるユーティリティ