2007年01月31日(Wed) プチサーマルにのる [長年日記]
● [DocoMomo] run level 1で参照されているファイル実測版
run level 1に行くのに必要なファイルを調べる方法について、okujiさんからツッコミをいただきました。いつもありがとうございます。
いやあ実は、atimeを見ればいい、ということには気づいて、実際に見てみたのですが、USBから起動したDocoMomoの中だったんです。とりあえずls -l --time=atime
してみたら、最終アクセス時刻はぜーんぶ一緒で、ああ、initrdの中ではきっとatimeは記録されないんだな、と思った次第でした(要確認)。考えてみたら、普通にインストールされたシステムでやればいいんですよね。initが見るファイルを用意すればいいので、pivotrootされたかどうかは関係ないはず。
というわけでMomonga 3のノートPCをrun level 1に起動してfind / -amin 15 | tee /tmp/runlevel1.list
した結果 (229KB) です。この状態で / と /home と /dev/shm がマウントされていました。
リストにはどばーっと 8081個のファイルがありますが、半分以上は /sys (ディレクトリそのものも含めて4833個) で、あとは /proc (2257個) /dev (771個) と続き、ようやく /etc (102個) という結果でした。しかし /usr が 13個もあるのも気持ち悪いですよね。あ、find と tee はこのリストを作るのに使ったのか。
/etcの下のファイルでは、passwdとgroupが読まれているのが印象的でした。えー。きっと find コマンドが見たんだよ。DocoMomoではrun level 3以上だけに持たせようと思ってたのに。だめー? < 自分で確かめなさい。
(追記) あ、/usr/bin/id が /etc/passwd と /etc/group を見ますね。/usr/bin/id はいつ実行されたんだろ?
● cpioのアーカイブにはmtimeしか記録されない
cpioのフォーマットは、cpio(4)に記載されているようです。上記の検索の結果からHP-UXのcpio(4)を見させていただくと、stat(2)で参照できる時刻のうち、mtimeしか記録されていないことがわかりました。
atimeが記録されていないファイルについてstat(2)がどのようなatimeを返すのかはまだ調べていませんが、DocoMomoのinitrdはcpioアーカイブとして作っているので、これが理由でDocoMomoのinitrdのファイルに対して、lsが同じatimeを表示したのかもしれません。
● [pda] Palm TX。自己修復機能つき
そういえば。昨日どこかにぶつけて欠損したPalmの液晶は、山を降りるにつれて横に広がり、仮眠している間に消えてしまいました。写真を撮る前にもとどおりのきれいな画面になっちゃった。何だったんだろう?
最近のツッコまれどころ