過去のログファイルが大量に出てきたので、見てみたら、こんなのがあった。
/home/temp>touch -t 203801191212 test.txt
/home/temp>touch -t 203801191213 test.txt
/home/temp>touch -t 203801191214 test.txt
/home/temp>touch -t 203801191215 test.txt
touch: 時間指定が正しくありません。
/home/temp>
約20年くらい前、unix系のOSを使っていて、touchコマンドで日付を変更したら
どのくらいの未来の日付に対応しているのか、興味本位でやって、これが限界なんだな、と思ったやつ。
後に、これが2038年問題ってやつだと知った。
今年は昭和100年で、システム日付の管理で昭和100年問題を心配していたが、
表面上はなんにも出てこなかった。
過去には2000年問題もあったが、けっこう対策したおかげで、世間が混乱するような話は聞かずに済んだと思う。
しかし、2038年問題はソフトフェアよりもCPUが32ビットだかららしい。
つまり、CPUが32ビットだと、2038年1月19日12時15分になるとエラーになるということ。
とは言っても、気づいて対応している部分もあるし、
今ではCPUが64ビットだし、
OSも32bitを切り捨て出しているし、それほど大きな問題にならないとは思うが、
試しに自分のPCで試してみる。
この通り。
ここで気になったのは古いラズパイだ。
うちのファイルサーバに使っている。
あれ?
そうか、標準時と9時間ズレるんだった。
というか、やっぱり32ビット環境だとダメか。
じゃあ64ビット環境だとどのくらいまで未来日付の指定ができるのか?
試したのはいつものlubuntu24.04lts
なんと9999年を指定してもエラーにならないけれど2446年5月11日で止まっちゃうのね。
このtouchコマンドの-tオプションで指定できる日付がYYYYなので
西暦10000年は指定できないことから、ある意味1万年問題なのかもしれないが、
その前に2446年問題が発生するようだ。
なんとか暦やなんとかの大予言的な終焉説が出てきそう。
このままやり過ごしたら、未来の人たちから恨まれそうだが、
その頃にはAIがなんとかしてくれるだろう。(楽観視)
ちなみに、この32ビットで2038年のやつは
開始が1970年1月1日で、ここからのトータル秒のMAX値なんだそうだ。
これで思いついたのが、ドラえもんの連載開始が1970年で、
第1話が元旦なんだよね。
つまり、このタイミングで現れたのは未来の世界でもこの日付が基準になっていて
これより過去の長期滞在はコンピューターの時刻表示に不具合が発生すると懸念していたのかもしれない、という妄想をしてしまう。



