Mac業界の最新動向はもちろん、読者の皆様にいち早くお伝えしたい重要な情報、
日々の取材活動や編集作業を通して感じた雑感などを読みやすいスタイルで提供します。

Mac Fan メールマガジン

掲載日:

「._」で始まる謎ファイル。身に覚えのない「__MACOSX」ファイル。Mac固有の「リソースフォーク問題」を解決する方法。 – Mac活用“ワンランクアップ”講座 第20回

著者: 海上忍

本ページはアフィリエイト広告を利用しています

「._」で始まる謎ファイル。身に覚えのない「__MACOSX」ファイル。Mac固有の「リソースフォーク問題」を解決する方法。 – Mac活用“ワンランクアップ”講座 第20回

USBメモリ内に「._」とついたファイルが現れる理由

先日、Macでファイルを書き込んだUSBメモリを知人に渡したときのこと。支障なくファイルが開けることを確認していたのだけれど、翌日ファイルが壊れているとの連絡が。聞けば、同じ名前のファイルが2つある、そのうち1つは先頭に「._」が付いている、と。

久しぶりに出ました、Mac固有の「リソースフォーク問題」です。

リソースフォークとは、ファイル本体(データフォーク)に添える形でさまざまなデータを格納できる領域のこと。元々はClassic Mac OS(Mac OS X登場以前のMac OS)で利用されていたファイルフォーマットで、同じくMac用のファイルシステムであるHFSと、その後継HFS+で利用されることが想定されていました(現行ファイルシステムAPFSでの扱いは別の機会に)。

さまざまなデータとは、タグやFinder情報といったMac特有のメタデータのこと。Finderでフォルダを開いて適当な位置へファイルを置くと、次回以降同じフォルダを開いたときも同じ位置で表示されますが、それはファイル固有のFinder情報があってこそ。つまり、リソースフォークは”ファイルのMacらしさ”を支えているのです。

リソースフォークはHFS/HFS+でしか存在できませんが、Finder/Mac OS Xではほかのファイルシステムとの互換性を考慮しました。リソースフォーク付きのファイルがMac以外のファイルシステムへ移動すると、自動的にリソースフォークを名前が「._」から始まる別ファイルとして保存するのです。

Finderでは、先頭が「.」から始まるファイル/フォルダは不可視属性として扱われます。だから、FAT32やexFATでフォーマットされたUSBメモリへファイルをコピーしても、Finderで表示すればファイルは1つ。しかし、そのUSBメモリをほかの環境(ほかのOSやデジタルガジェット)へ持ち込むと、「同じ名前のファイルが2つあり、そのうち1つは先頭に「._」が付いている問題」が勃発するわけです。

Macで書き込んだファイルをMac以外の環境で見ると、先頭に「._」が付いたファイルが増えていることがあります。




ZIPを解凍すると、謎フォルダ「__MACOSX」ができる理由

MacのFinderで作成したZIPファイルをほかの環境で解凍/展開すると、作成した覚えのない「__MACOSX」フォルダが現れて困惑することがあります。実は、この現象も前述したリソースフォーク問題であり根は同じ、現れ方が異なるに過ぎません。

タグやFinder情報といったMac特有のメタデータを含む複数のファイルをFinderの機能(コンテキストメニューから「圧縮」を選択)でZIP圧縮すると、リソースフォーク部分が分離され、「__MACOSX」フォルダに保存されます。

この「__MACOSX」フォルダに保存されるのは、前述した「.」から始まる別ファイルで、Mac以外の環境では利用されないリソースフォークです。Macで解凍すればあるべき状態に戻りますが(データフォークとリソースフォークが結合される)、Mac以外の環境では何も起こりません。

MacのFinderで作成したZIPファイルをほかの環境で解凍すると、「__MACOSX」フォルダが作成されることがあります。
「__MACOSX」フォルダには、このような「.」から始まるファイルが保存されています。

リソースフォーク問題への事前/事後対策

私たちMacユーザが「._」と「__MACOSX」に取るべき対策は、事前に対策するか、事後に対策するかのどちらかに大別されます。

事前に対策する場合は、APFSフォーマットされたUSBメモリやSDカードを用意することがベストです。しかし、そうするとMac以外の環境では読み書きできなくなる(APFSをサポートする環境はAppleデバイスくらいのもの)ため、リソースフォークを別ファイル化しない方法を採用することになります。

未圧縮のファイルを対象にするときは、コピー/移動前に「dot_clean」コマンドを実行します。これでファイルのリソースフォーク部分が削除されるため、FAT32やexFAT領域へコピーしても「._」から始まるファイルが作成されることはありません。「dot_clean」コマンドを実行する場合は、ターミナルで「dot_clean」と入力したあと、Finderから対象のファイルをターミナル画面へドラッグ&ドロップすると簡単です。

dot_clean ファイル名

ZIPファイルはFinderの圧縮機能ではなく、ターミナルでzipコマンドを使うことが近道です。作成されたZIPファイルにリソースフォークは含まれませんが、「__MACOSX」フォルダが作成される問題はこれで解消できます。

事後に対策する場合は、「何もしない」でかまいません。「._」から始まるファイルや「__MACOSX」フォルダはMacでのみ意味を持つもの、ほかの環境ではなんら害を及ぼさないため、放っておけばいいのです。ファイルが壊れている、同じ名前のファイルが2つある、といった質問に答える必要はありますが…「気にするなよ」で済む相手以外は、やはり事前に対策しておいたほうがいいのかもしれません。

FAT32やexFAT領域へコピーする前に、ターミナルで「dot_clean」コマンドを実行すると、リソースフォーク部分が削除されます。




おすすめの記事

著者プロフィール

海上忍

海上忍

IT/AVコラムニスト。UNIX系OSやスマートフォンに関する連載・著作多数。テクニカルな記事を手がける一方、エントリ層向けの柔らかいコラムも好み執筆する。執筆以外では、オーディオ特化型Raspberry Pi向けLinuxディストリビューションの開発に情熱を注いでいる。2012年よりAV機器アワード「VGP」審査員。

この著者の記事一覧

×
×