chrootするとsyslog関連が・・

ふつうのLinuxプログラミングもやっと最後まで終わりました。
で、HTTPサーバを作るところの終わりでchrootするコードを追加するんだけど、chrootするとsyslogに書き込まれなくなるようです。
Cのソースを模倣しているPerlプログラムのほうではdieしてしまう。なんかソケットが開けないらしい。
chroot先の環境に必要なソケットがないってことなのでしょうかね。

[takatoshi@earth gcc]$ sudo ./httpd.pl --port 8000 --chroot --user takatoshi --group users /home/takatoshi/misc/gcc
Password:
no connection to syslog available
        - getprotobyname failed for tcp
        - /dev/log is not a socket
        - stream /dev/conslog is not writable
        - console is not writable at ./httpd.pl line 57

Cのほうはエラーは何も出ずにsyslogに書き込まれないだけ。

    • -

http://takatoshi.dyndns.org/trac/tktsh/browser/LinuxPrograming/trunk/httpd.c?rev=21
http://takatoshi.dyndns.org/trac/tktsh/browser/LinuxPrograming/trunk/httpd.pl?rev=21

    • -

追記:
わかった。Google Code Searchで調べた。
chrootする前にopenlogしないといけないらしい。
でもsyslogに記載される時間がローカル時間じゃなくなった。。
http://takatoshi.dyndns.org/trac/tktsh/changeset/22