日々適当

hibitekitou

Spotlightコメントはどこに保持されるのか

mac |2007-02-14
2chの某スレッドを読んでいて、あり?って思ったことがあったのね。
曰く、Spotlightコメントは.DS_Storeに保持される。

その後、そのコメントに対して誰も突っ込みをいれていないことから、正解なのかもしれないと思いつつ、やっぱり納得できないわけです。
ってことで、確認してみます。

JPEGファイルのSpotlightコメントを編集する前。
$ ls -a
.   ..       1162458623321.jpg

Spotlightコメントを編集後。
$ ls -a
.   .DS_Store
..       1162458623321.jpg
なるほど。確かに。編集により、.DS_Storeが出来ています。この状態で、JPEGのメタデータを見てみます。
$ mdls 1162458623321.jpg
1162458623321.jpg -------------
(略)
kMDItemContentTypeTree    = ("public.jpeg", "public.image", "public.data", "public.item", "public.content")
kMDItemDisplayName    = "1162458623321.jpg"
kMDItemFinderComment    = "蝶の写真"
kMDItemFSContentChangeDate = 2006-11-03 02:27:14 +0900
kMDItemFSCreationDate    = 2006-11-03 02:27:14 +0900
(略)
それでは、.DS_Storeを削除してみます。
$ rm .DS_Store
$ ls -a
.   ..       1162458623321.jpg
再びメタデータを見てみます。
$ mdls 1162458623321.jpg
1162458623321.jpg -------------
(略)
kMDItemDisplayName    = "1162458623321.jpg"
kMDItemFinderComment    = "蝶の写真"
kMDItemFSContentChangeDate = 2006-11-03 02:27:14 +0900
(略)
…、消えません。
それじゃ、.DS_Storeには何が保持されるのか、ってぇと、そのフォルダのウィンドウ情報を保持するもの、ってことみたいですね。
少なくとも、.DS_Storeを消したからといってコメントが無くなることはないようなので安心しました。

ついでに、調べていたら、「Tiger:ネットワークボリュームで.DS_Storeを抑制」って記事を見つけました。なるほど、参考になります。
コメント ( 18 )|Trackback ( )
 
コメント
 
 
 
Unknown (D6)
2007-02-14 22:02:48
/.Spotlight-XXX/

っていうディレクトリ(XXXは任意の文字列だと思う)があるので、その中に入っていると思います。rootしか読めないようになっているので、

sudo ls -la /.Spotlight-XXX/

で中身が見えると思います。
 
 
 
なるほど (m4g)
2007-02-15 01:27:45
ファイル→情報を見る、で開くファイル情報のウィンドウから見えるファイルのコメントって、Mac OS X 10.3と10.4では特に見た目変わっていないから、Spotlightをアピールするために、Spotlightコメントなんて言う風に名称変更したのかなぁ、って思っていたのですけど、情報を保持するレベルが大きく変化したがゆえの名称変更だったんですねぇ

例えばデジカメで撮影された画像の情報をデータベースとして保持するために、各ボリュームのトップレベルにファイルを作成しているけど、ファイルその物も当然その情報は保持しています(ファイルそのものの情報を収集したデータベースなんだから当然といえば当然)。それと同様に、Spotlightコメントもファイルに直接関連付けられた形でそれぞれのファイルが(ファイルの作成日とか更新日と化とおんなじレベルで)情報を保持していて、それをデータベース化したものが各ボリュームのトップレベルに保持されている、って思っていたのですけど、そうじゃなかったんですね。

参考になりました。ありがとうございます(^^)
 
 
 
HFS+ (Hiro)
2007-02-20 16:33:47
あれ?HFS+ 自体がファイルとともにそうしたメタデータを保存できるのではありませんでしたっけ?/.Spotlight-XXX/ にはインデックスはあるにしても。

Mac OS X 10.4 Tiger : Metadata revisited
http://arstechnica.com/reviews/os/macosx-10.4.ars/6

Mac OS X 10.4 Tiger : Extended attributes
http://arstechnica.com/reviews/os/macosx-10.4.ars/7
 
 
 
う、英語だ…(^^; (m4g)
2007-02-21 02:50:02
すいません。時間が出来たとき、リンク先をじっくりと読ませていただきたく思います。

でも、おっしゃる内容は個人的にはすっきりしますです。
そうすると、例えば、FATなんかにファイルを書き込むと、作成される ._ が頭につくファイルもでき上がりますが、こいつにSpotlightコメントは書き込まれるってことになるんでしょうかね?
ってことは、FAT上のファイルにSpotlightコメントを入力したときのこいつの容量の増減をみてやれば、本当にSpotlightコメントがHFSの保持する複数フォークのどっかに保持されることが間接的に見て取れるってことになるかな?

うん、明日、USBメモリにて確認してみましょう(^^)
 
 
 
結局よく分からなかった (m4g)
2007-02-23 10:25:53
FATなUSBメモリで試してみたんですけど、ls -alから出てくる数字にコメントを書き込む前と書き込んだ後で、._ファイルのサイズに変化は表れませんでした。
でも、USBメモリの抜き差しをしても、その情報は失われていなかったことから、どこかに保持されているのでしょう。
lsとかFinderからはみることが出来ない領域にFATででも書き込まれているのでしょうかね?
 
 
 
あ、 (m4g)
2007-02-23 10:26:25
英語ページはまだ読んでいません。
ちょっと仕事がテンパリ気味で…
 
 
 
Unknown (Hiro)
2007-02-23 11:15:41
自分ではまったく検証していないんですが、._ファイルを削除したら、コメントは失われますか?

ファイルサイズが変わらないのは、メタデータに割り当てられている領域のサイズが決まっているからかも?

紹介した資料、目を通したのはだいぶ前で、読み返す気力はないのですが、7 のほうにこんな記述がありますね。

”As in earlier versions of Mac OS X, files prefixed with "._" contain all of the metadata for their un-prefixed partner that the native volume format cannot contain in a single file: resource forks, flags, dates, and now in Tiger, extended attributes.”
 
 
 
ますます分からなくなった (m4g)
2007-02-24 23:03:54
以下のように検証してみました。
USBメモリをWindows XPでFAT32で初期化。
USBメモリをMacにマウントし、flvファイルとjpgファイルをコピー。jpgファイルにはSpotlightコメントがついている。

ls -alvとしてみた結果は以下の通り。
-rwxrwxrwx 1 usrorgrp usrorgrp 1000544 10 8 20:54 鬼無双.flv
drwxrwxrwx 1 usrorgrp usrorgrp 4096 2 24 22:56 .
drwxrwxrwt 4 root admin 136 2 24 22:55 ..
drwxrwxrwx 1 usrorgrp usrorgrp 4096 2 24 22:56 .Trashes
-rwxrwxrwx 1 usrorgrp usrorgrp 4096 2 24 22:52 ._.Trashes
-rwxrwxrwx 1 usrorgrp usrorgrp 145248 2 24 22:20 Italian_Girl_with_Fan2.jpg
ご覧の通り、._ファイルが作成されていないのですよ。しかし、確かにコメントは保持されています。flvに追加したコメントも保持されています。
試しにカスタムアイコンを貼付けられたファイル(Jeditで作成したテキストファイル)をコピーすると、こちらの._ファイルは作成されます。

ファイルシステムってものをちゃんと勉強しないと分からないのかもしれないですね(^^;
 
 
 
?? (Hiro)
2007-02-27 18:20:50
謎な結果ですね。紹介した記事では ._ファイルができるような ls の結果が書いてありますが、そう簡単な話ではないのでしょうか…。時間があったら、自分でも試してみたいです。
 
 
 
そうなんですよね (m4g)
2007-02-28 21:26:30
もしかしたら検証のやり方に何か問題があるのかもしれませんし、だから結果が間違っているやもしれず、なんとも気持ちの悪い状況に陥っております(^^)
おいおい調べてこうと思いますですよ。
 
 
 
城山さんの HFS+ 解説 (Hiro)
2007-10-17 10:40:46
古い記事にコメント失礼します。

Undocumented Mac OS X:第11回 HFS Plus独自の機能【後編】http://www.itmedia.co.jp/enterprise/articles/0710/16/news006_2.html

拡張属性として保存されているようですね。少なくとも、/.Spotlight-XXX/ ではなさそうです(検索のために情報のキャッシュは入っていそうですが)。
 
 
 
なるほど (m4g)
2007-10-18 00:15:17
もぉいいや、って放置していた疑問だったんですけど、記憶にとどめていただいてて恐縮です(^^;

コメントがその領域に保持されているのかまではよく分かりませんけれど、とはいえ、有益な情報感謝です。
 
 
 
Leopardでは (Hiro)
2007-11-06 14:00:26
さらにコメント恐縮ですが…。

Leopardでは、はっきりしているようですね。

【コラム】OS X ハッキング! (250) Leopard解体新書(1) ~Terminalから豹を眺める~ | パソコン | マイコミジャーナル
http://journal.mycom.co.jp/column/osx/250/index.html

「Windowsの共有領域などHFS+以外のボリュームへ「@」付きのファイルをコピーすると、Apple Doubleのメカニズムが動作する。すなわち、同じディレクトリに「._」で始まるファイルが作成され、そこへ拡張属性が保存される」
 
 
 
たぶん (m4g)
2007-11-07 09:07:28
そうすると、検証方法がまずかったんだろうな、って想像できますね。
たぶん、Tigerにおいても同様でしょう。

それにしても、ターミナルが使い勝手という意味でとてもよくなりました。@もその存在を知った上で見ると、微妙にうれしい情報ですね。
 
 
 
.DS_Storeに (Hiro)
2007-11-08 11:06:26
この記事を読み返してて思い出しだんですが、確かに Panther 以前では .DS_Store にコメントを保存していたと思います。ファイル単位でリソースフォークにでもコメントを保存しているのではないかと思っていたので、意外に思った記憶があります。

Leopard ではファイル単位で拡張属性として保存されるようになってますが、結局のところ、Tiger はどうなってたんでしょうねー。
 
 
 
ん? (m4g)
2007-11-08 14:36:08
手元にUSBメモリ(FAT32)があったんで、ちょっと確認(Leopardで)。

あり?、コメントが保持されないよーな…

1.USBメモリ上のファイルにFinderの情報を見るからコメントを書き込む。
2.情報を見るウィンドウを閉じてまた開いて、コメントが書き込まれていることを確認する。
3.USBメモリをアンマウント
4.USBメモリを再マウント
5.情報を見るでファイルのコメントを確認→あり?コメント欄が空だ

って感じです。
とか書いている現在、USBメモリがマウントされない状況になっているので、このUSBメモリがちょっと変なのが原因かもしれず、首を傾げております…。
 
 
 
.DS_Store (Hiro)
2007-12-03 13:40:25
情報ばっかりで恐縮ですが、

Leopard解体新書(4) ~拡張された拡張属性~
http://journal.mycom.co.jp/column/osx/253/index.html

> EAへの完全移行は当分先のこと。LeopardでもTigerのときと同様、
> Finderコメント(Spotlightコメント)が.DS_Storeに記録されることから
> 伺えるように、以前のシステムとの互換性を保つ仕組みはしばらく残りそうだ。

この記事によると Leopard では Extended Attributes と .DS_Store の両方に保存されるというですよね…?
 
 
 
たとえば (m4g)
2007-12-05 09:54:10
Finderから記入するコメントはあるいはそうなのかもしれませんね。

TigerでEAが導入されエチルことから、.DS_Storeを消したぐらいじゃコメントが消えない(はず)なことから推測できるように、EA部分にも記録されているんじゃないかと思います。
EAに記録されているとしたら、._ファイルにコメントが保持されるのも納得ですし、そうであって欲しいと思いますが、今度、ちゃんとしたドライブで検証してみようと思います(僕が検証に使っていたUSBメモリの挙動がどうにも怪しいので…)
 
コメントを投稿する
ブログ作成者から承認されるまでコメントは反映されません
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。