Finder情報

Finder情報 (Finder Information, FinderInfo)は、Mac OSが扱うファイルディレクトリメタデータの一種である。

概要

Finderは、Mac OS(いわゆる Classic Mac OS および、macOS(Mac OS X))のGUIシェルであるが、Finder情報の多くは、このFinderが視覚的に(グラフィカルではなくビジュアルに)ユーザに示すようなメタデータである。具体例としては、ファイルのフォーマットを示す「タイプ」、それを扱うアプリケーションを示す「クリエータ」、ファイル属性を示すフラグ、画面に表示する際の位置とサイズ等がある。

API上は構造体として扱うが、事実上16バイトの連続したデータであった。その後さらに16バイトの拡張Finder情報が追加され、現在は両者をまとめて32バイトのFinder情報として扱う場合が多い。

ファイルのためのFinder情報はFile Information (FInfo)[1]、拡張Finder情報はExtended File Information (FXInfo)[2]として定義されている。ディレクトリのためのFinder情報はDirectory Information (DInfo)[3]、拡張Finder情報はExtended Directory Information (FXInfo)[4]として定義されている。

後のmacOSにおいても、カーネルレベルからFinder情報を扱うことができる。これについてはAppleが公開しているカーネルソースで確認できる[5]。ただし、macOSはUnix系オペレーティングシステム (OS) であるDarwinをベースとしており、Unix系のアプリケーションでファイルを扱った場合にFinder情報が損失する場合があった。UNIXにはFinder情報という概念がないからである。

Mac OS X v10.4では、Finder情報はcom.apple.FinderInfoという名前の32バイトの拡張属性として再定義された[6]。次のMac OS X v10.5ではこの拡張属性をUnix系のコマンドで扱えるようになった。

保存及び転送

AppleによるファイルシステムであるHFSと、HFS+、及びファイル共有プロトコルAFPはFinder情報を考慮した設計になっているため、当然のことながらこれを正常に扱うことができる。しかし、他のプラットフォームとの交換の際にこれを損失してしまう可能性がある。

Mac OS用に開発された様々なアーカイブフォーマット(MacバイナリBinHexCompact ProStuffItAppleSingleとAppleDouble等)では、Finder情報の全てあるいはその中の重要な情報を保存するので、リストア側のソフトウェアが対応していれば損失しない。

Classic Mac OSがDOS用のファイルシステムであるFATフロッピーディスクにファイルを保存する場合は、隠しファイルを作ってその中にFinder情報を保存した。

現在のmacOSが他のプラットフォームにファイルを保存する際(FAT、SMB/CIFS等)は隠しファイルにAppleDoubleフォーマットを用いて保存する[7]

Microsoft Windows NTのSFM (Service for Macintosh) サービスを用いてNTFS上にファイルを保存した場合、Finder情報は代替データストリームとして保存される。

閲覧及び変更

Finder情報はOSが内部的に扱うものであるため、OSの一般的なユーザインタフェースではほとんど閲覧や変更ができない。ただし、商用やフリーのソフトウェアを用いれば可能である。

Appleが無償で配布していたResEditは主にリソースフォークを編集するものであるが、Finder情報も扱う事ができる。Xcodeに付属するGetFileInfo、SetFileコマンドを用いれば、タイプとクリエータ、属性を表示/変更することができる。

Mac OS X v10.5以降では拡張属性として扱えるので、OS付属のxattrコマンドにて操作ができる。

参照