syslogやklogでのタイムスタンプが14時間進んで出力される

5.X系のバグ、トラブル・質問

モデレータ: 暇人, YoN, nyu

返信する
ssnys
記事: 64
登録日時: 14/02/19(水) 17:50

syslogやklogでのタイムスタンプが14時間進んで出力される

投稿記事 by ssnys »

普段よりPuppy Linux(Precise-571JP)を愛用させていただいております。 :D

Precise-571JPでは通常/etc/init.d/00sys_loggerによってsyslogやklogが起動されます。syslogやklogはログを/var/log/messagesに書き込んでいきますが、その際のログのタイムスタンプがおかしいのです。 :?

Puppy Linuxを起動しurxvt内で以下のようなコマンドを実行しました。

コード: 全て選択

~# strings /etc/localtime
TZif2
TZif2
JST-9
~# date
2018年  5月 28日 月曜日 21:37:12 JST
~# uptime
 21:37:14 up 3 min,  load average: 0.20, 0.35, 0.16
~# head -n 4 /var/log/messages

May 29 11:34:04 puppypc21142 syslog.info syslogd started: BusyBox v1.21.0
May 29 11:34:04 puppypc21142 user.notice kernel: klogd started: BusyBox v1.21.0 (2013-02-18 15:57:06 WST)
May 29 11:34:04 puppypc21142 user.notice kernel: [    0.000000] Linux version 3.2.48 (root@puppypc11461) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #1 SMP Thu Jul 11 12:20:55 GMT-8 2013
ご覧いただくとおり、ログファイル内のタイムスタンプは、設定してあるローカルタイム(UTC+09:00)よりも、14時間進んでいます。

不思議なことに、一度/etc/init.d/00sys_loggerをストップさせてから再度起動すると、ログファイル内のタイムスタンプは正しく書き込まれています。

コード: 全て選択

~# /etc/init.d/00sys_logger stop
~# rm /var/log/messages
~# /etc/init.d/00sys_logger start
~# head -n 4 /var/log/messages
May 28 22:08:05 puppypc21142 syslog.info syslogd started: BusyBox v1.21.0
May 28 22:08:05 puppypc21142 user.notice kernel: klogd started: BusyBox v1.21.0 (2013-02-18 15:57:06 WST)
誠に摩訶不思議な限りなのですが、これはバグでしょうか。また解決方法はございますでしょうか。 :?

当方Puppy Linuxについて全くの初心者故、拙い質問本文で恐れ入りますが、ご回答頂ければ誠に幸いでございます。 :P
💻Lenovo G550(CPU: Intel Celeron 900 @ 2.20GHz, RAM: 971MB, HDD: 149.05GiB) + Precise-571JP
🖥HITACHI FLORA 310 DL7(CPU: Intel Pentium III 700 MHz, RAM: 384MB) + Precise-571JP
アバター
ルビー
記事: 1240
登録日時: 14/11/24(月) 12:12

Re: syslogやklogでのタイムスタンプが14時間進んで出力される

投稿記事 by ルビー »

原因は分かりませんが、こちらに関連のトピックがあります。
viewtopic.php?f=40&t=3224
最後に編集したユーザー ルビー [ 18/05/30(水) 21:07 ], 累計 1 回
ssnys
記事: 64
登録日時: 14/02/19(水) 17:50

Re: syslogやklogでのタイムスタンプが14時間進んで出力される

投稿記事 by ssnys »

ルビーさんご返信頂きましてありがとうございます。
ルビー さんが書きました:原因は分かりませんが、こちらに関連のトピックがあります。
viewtopic.php?f=40&t=3224&hilit=14
既にinitrd.gzを弄るなど詳細な回答が示されていましたか。同様の質問をしてしまい申し訳けない限りです。リンク先の解決方法を試してみたいと思います。
💻Lenovo G550(CPU: Intel Celeron 900 @ 2.20GHz, RAM: 971MB, HDD: 149.05GiB) + Precise-571JP
🖥HITACHI FLORA 310 DL7(CPU: Intel Pentium III 700 MHz, RAM: 384MB) + Precise-571JP
ssnys
記事: 64
登録日時: 14/02/19(水) 17:50

Re: syslogやklogでのタイムスタンプが14時間進んで出力される

投稿記事 by ssnys »

Zstep さんが書きました: initrd.gzのinitのexport TZ='XXX-23'の部分が関係ありそうだなって思って
initrd.gzを展開export TZ='XXX-23'の部分をexport TZ='XXX-9'に書き換え
initrd.gzを作り直し試したらvfatのタイムスタンプの時間のずれ、messagesの時間のずれともなくなりました
リンク先に記されているとおり、initrd.gz内にある/initのexport TZ='XXX-23'をexport TZ='XXX-9'に変換したところ、syslog、klogのタイムスタンプが正常になりました。

コード: 全て選択

~# uptime
 15:50:38 up 5 min,  load average: 0.42, 0.28, 0.13
~# head -n 4 /var/log/messages 

May 30 15:45:54 puppypc29654 syslog.info syslogd started: BusyBox v1.21.0
May 30 15:45:54 puppypc29654 user.notice kernel: klogd started: BusyBox v1.21.0 (2013-02-18 15:57:06 WST)
May 30 15:45:54 puppypc29654 user.notice kernel: [    0.000000] Linux version 3.2.48 (root@puppypc11461) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #1 SMP Thu Jul 11 12:20:55 GMT-8 2013
ルビーさんのおかげで解決致しました。誠にありがとうございます。 :P
💻Lenovo G550(CPU: Intel Celeron 900 @ 2.20GHz, RAM: 971MB, HDD: 149.05GiB) + Precise-571JP
🖥HITACHI FLORA 310 DL7(CPU: Intel Pentium III 700 MHz, RAM: 384MB) + Precise-571JP
アバター
ルビー
記事: 1240
登録日時: 14/11/24(月) 12:12

Re: syslogやklogでのタイムスタンプが14時間進んで出力される

投稿記事 by ルビー »

リンクのURLを検索から張ったみたいなので、普通のに変えました。
thinkpadnerd さんが書きました:本家フォーラムの記事を読んでみましたが、起動時に、いわばダミーのタイムゾーンを設定しているのには、理由があるらしいです。
とリンク先にもありますが、どうも時間のずれは、仕様なのか、そうでないのか分かりかねる所があるので、留意してください。
thinkpadnerd
記事: 2035
登録日時: 15/10/25(日) 14:00

Re: syslogやklogでのタイムスタンプが14時間進んで出力される

投稿記事 by thinkpadnerd »

”ルビーさんが書きました:
> 時間のずれは、仕様なのか、そうでないのか分かりかねる所があるので、

その本家フォーラムの記事ですが、

In order to prevent timestamps from the future from being written to a partition during e2fsck, in the init script in initrd, the TZ environment variable is set to a fictitious time zone 23 hours east of Greenwich ("TZ=XXX-23"). (See Barry's blog: Timezone in the initrd (initramfs))

e2fsck の最中に未来のタイムスタンプがパーティションに書き込まれるのを防ぐために、initrd の init スクリプトで、タイムゾーンの環境変数はグリニッジの東23時間という架空のタイムゾーンに設定されている。(バリーさんのブログ参照)

バリーさんのブログはリンク切れになっています。 :?

日本は UTC+9 なので 14 時間のずれが生じるということのようです
ThinkPad X121e (Precise 571 / Tahr 605 / Tahr64 606 / Xenial 7.5 / Bionic32)
CPU AMD C-50 1.0GHz, RAM 4GB
ThinkPad L440 (Xenial 7.5 / Bionic64 / Fossa64)
CPU intel Celeron 2950M 2.0GHz, RAM 4GB
アバター
ルビー
記事: 1240
登録日時: 14/11/24(月) 12:12

Re: syslogやklogでのタイムスタンプが14時間進んで出力される

投稿記事 by ルビー »

thinkpadnerd さんが書きました:その本家フォーラムの記事ですが、
紹介、ありがとうございます。 :D
ssnys
記事: 64
登録日時: 14/02/19(水) 17:50

Re: syslogやklogでのタイムスタンプが14時間進んで出力される

投稿記事 by ssnys »

ルビーさん、thinkpadnerdさん返信頂きまして誠にありがとうございます。 :D
Zstep さんが書きました:5.5の場合はなんですが /etc/rc.d/rc.sysinit の#unset TZ の部分をunset TZ に
書き換えたら良いみたいに書いてあったから試しにtahr6.0.5でやってみたところ
messagesの時間のずれはなくなりましたがvfatのタイムスタンプは相変わらずずれたままなので
Zstepさんの書き込みにあったようにinitrd.gzを元に戻して、`/etc/rc.d/rc.sysinit`の`unset TZ`を有効にしてみたところ、syslogやklogでのタイムスタンプが正常になったのを確認しました。

initrd.gzを変更するのは少し抵抗があったため、`/etc/rc.d/rc.sysinit`のやり方で対処したいと思います。 :P
💻Lenovo G550(CPU: Intel Celeron 900 @ 2.20GHz, RAM: 971MB, HDD: 149.05GiB) + Precise-571JP
🖥HITACHI FLORA 310 DL7(CPU: Intel Pentium III 700 MHz, RAM: 384MB) + Precise-571JP
返信する