2024年 09月 27日
共有サーバーにある mac のリソースフォークを削除する
mac と Windows 混在環境でよくあるトラブル。共有ファイルサーバーにあるフォルダが削除できなくなったり、移動できないなどのトラブル。
mac OS から samba の共有フォルダ、ファイルにアクセスすると ".DS_Store" や "._XXXX" などのファイルが作成されます。 これらは mac OS 固有のリソースフォークと呼ばれるファイルで、mac OS では古くからファイルの属性、アプリケーションアイコンや関連するアプリケーションの情報が記述されています。古くからの mac OS では、mac OS のファイル属性の一部としてファインダーの中のアイコンなどの情報に扱われてきました。古く NetWare の様な共有ファイルシステムでは、通常の DOS 8.3 形式や Windows の様な Long File Name と共に mac の名前空間としてオプション定義されていました。 この mac 固有のリソースフォークのファイル属性は純正の mac OS 以外のファイルシステムでは別ファイルとして、samba ファイルシステムや exFAT の外付けデバイスに隠しファイルとされて保存されます。これが "._" で始まるファイル本体に付属するリソースフォーク、".DS_Store" はフォルダの情報のファイルです。mac のリソースフォークは Windows 側からは隠しファイルで操作できないことがあるため、ファイルを移動させても ".~" ファイルが残っていたり、ディレクトリが空ではないためフォルダが削除できないなどのトラブルが出てきます。 通常、これらのリソースフォークは、mac 以外のシステムからも、隠しファイルとして存在しますが、Windows 側の隠し属性をオプションから表示すると、mac でアクセスした痕跡が邪魔で仕方がありません。一挙に削除したい。 今の mac OS ではこのリソースフォークの情報は必要がないそうなので、削除して構いません。
Linux + samba や Linux 由縁 NAS の環境では、次のコマンドで邪魔なリソースフォークを削除します。注意するのは、消してはいけない ._xxxxx ファイルも消してしまうことです。前提として、その様なファイルは作らないものとして考える必要があります。
% find . -type f -name '._*' -delete % find . -type f -name ".DS*" -delete
おそらく Linux ベースでNAS に搭載された OS でも同様に削除できると思います。NAS の内部の仕様にもよります。※ 当たり前ですが、上のコマンドを実行したら、全ての "._XXX.XXX" は削除されます。
Windows + NTFS ファイルシステム上の CIFS 共有フォルダの場合、 NTFS のファイルシステムにリソースフォークが吸収される様です。基本的にリソースフォークは別に作られることはないようですが、exFAT でフォーマットした USB メディアや、Windows 共有では、リソースフォークが作られてしまいます。そこで Windows 側からリソースフォークファイルを削除するには、隠しファイルを削除するため Delete /AH を使って次の様にファイルを削除します。
E:\tmp>del /S /AH ._*.* 削除したファイル - E:\tmp\._.DS_Store 削除したファイル - E:\tmp\._画面収録 2023-03-18 9.49.41.mov 削除したファイル - E:\tmp\._画面収録 2023-03-18 9.49.41のコピー.mov 削除したファイル - E:\tmp\._IMG_0043.JPG 削除したファイル - E:\tmp\._IMG_0037.JPG 削除したファイル - E:\tmp\._IMG_0030.JPG 削除したファイル - E:\tmp\._IMG_0031.JPG E:\tmp>
E:\>del /S /AH ._DS*.*
.smbdelete ファイルは mac OS がリモートのファイルシステムにアクセスする際に一時的に作られるファイルの様です。これもNAS などの中に作られてしまい、Windows 側からフォルダを削除しようとすると削除できなくなったりします。
.smbdelete*** ファイル
mac で作ったファイルを Windows ユーザに渡す場合、多くの場合 exFAT でフォーマットされた USB メモリや Flash メモリデバイスを使うと思います。便利で持ち歩きに適しているのでカメラなどのデバイスの保存用にも使われているかもしれません。こうした exFAT でフォーマットされたデバイスにも、リソースフォークファイルは作られてしまいます。mac の ファインダからは見えないファイルなので、ターミナルを開いて exFAT デバイス上のリソースフォークを削除して渡すのがマナーになっている様です。
mynsme@MacBookAir exFAT % pwd/Volumes/exFATmynsme@MacBookAir exFAT % ls -ahltotal 10525696drwx------ 1 mynsme staff 128K 1 1 1970 .drwxr-xr-x 8 root wheel 256B 9 14 15:36 ..drwx------ 1 mynsme staff 128K 2 23 2023 .Spotlight-V100drwx------ 1 mynsme staff 128K 5 23 2023 .Trashes-rwx------ 1 mynsme staff 4.0K 9 15 17:01 ._GeckoLinux_ROLLING_Cinnamon.x86_64-999.220820.0.iso-rwx------ 1 mynsme staff 4.0K 9 15 16:59 ._favicon.ico-rwx------ 1 mynsme staff 4.0K 9 15 17:01 ._nakajima.JPG-rwx------ 1 mynsme staff 4.0K 9 15 16:59 ._画面収録 2023-03-18 10.18.02.mov: 中略-rwx------@ 1 mynsme staff 350B 10 25 2017 favicon.ico-rwx------@ 1 mynsme staff 62K 11 24 2016 nakajima.JPGdrwx------ 1 mynsme staff 128K 12 13 2023 tmp-rwx------@ 1 mynsme staff 691M 3 18 2023 画面収録 2023-03-18 10.18.02.mov-rwx------ 1 mynsme staff 2.2G 3 18 2023 画面収録 2023-03-18 11.37.22.mov-rwx------ 1 mynsme staff 508M 3 18 2023 画面収録 2023-03-18 9.49.41.movmynsme@MacBookAir exFAT % find . -type f -name '._*' -deletemynsme@MacBookAir exFAT % ls -alhtotal 10524672drwx------ 1 mynsme staff 128K 1 1 1970 .drwxr-xr-x 8 root wheel 256B 9 14 15:36 ..drwx------ 1 mynsme staff 128K 2 23 2023 .Spotlight-V100drwx------ 1 mynsme staff 128K 5 23 2023 .Trashesdrwx------ 1 mynsme staff 128K 8 15 13:36 .fseventsd
: 中略-rwx------ 1 mynsme staff 350B 10 25 2017 favicon.ico-rwx------ 1 mynsme staff 62K 11 24 2016 nakajima.JPGdrwx------ 1 mynsme staff 128K 12 13 2023 tmp-rwx------ 1 mynsme staff 691M 3 18 2023 画面収録 2023-03-18 10.18.02.mov-rwx------ 1 mynsme staff 2.2G 3 18 2023 画面収録 2023-03-18 11.37.22.mov-rwx------ 1 mynsme staff 508M 3 18 2023 画面収録 2023-03-18 9.49.41.movmynsme@MacBookAir exFAT %
体験的にですが、Windows のエクスプローラより、mac OS の方が、ファイル名の許容範囲は大きい様です。Windows には禁忌文字列が多くありますが、mac や Linux のシステムでは "." ドットで始まるファイル名などは許容されますが、Windows では利用できないなどの問題があります。また、機種依存文字の問題も多くありますが、多くの問題は mac 側のファイル名の許容性の高さが原因です。この許容範囲の幅の広さが、mac でアクセスできて Windows ではアクセスできないファイル名の多くの原因になります。ネットワークや外部メモリなどの記憶装置を mac と Windows で共有する場合、なるべく許容範囲も大きな mac 側で処理してあげるのがベターでしょう。
ファイル名とパスの最大長の色々
mac の Music ライブラリを Windows 用 iTunes に移行mac 用 UTM 仮想化ソフトウェアの Shared Network モードと Bridge モードmac, Linux+samba, Windows のファイル名の問題:開けない共有のフォルダ、ファイル2023 Mini PC 買ってみた。大丈夫? 中華ブランド
Windows ユーザが Macbook Air に乗り換えたら慣れるまでにやってみること