共有サーバーにある mac のリソースフォークを削除する


mac と Windows 混在環境でよくあるトラブル。共有ファイルサーバーにあるフォルダが削除できなくなったり、移動できないなどのトラブル。

これは、macOS が管理するリソースフォークが関連しています。




共有サーバーにある mac のリソースフォークを削除する_a0056607_16425018.png
mac OS のリソースフォーク

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 ではこのリソースフォークの情報は必要がないそうなので、削除して構いません。


共有サーバーにある mac のリソースフォークを削除する_a0056607_16482428.png


Linux + Samba 上のリソースフォークファイルの削除の仕方

Linux + samba や Linux 由縁 NAS の環境では、次のコマンドで邪魔なリソースフォークを削除します。注意するのは、消してはいけない ._xxxxx ファイルも消してしまうことです。前提として、その様なファイルは作らないものとして考える必要があります。

% find . -type f -name '._*' -delete
% find . -type f -name ".DS*" -delete

おそらく Linux ベースでNAS に搭載された OS でも同様に削除できると思います。NAS の内部の仕様にもよります。

※ 当たり前ですが、上のコマンドを実行したら、全ての "._XXX.XXX" は削除されます。



Windows サーバーの中のリソースフォーク

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*.*


.smbdetele ファイル

.smbdelete ファイルは mac OS がリモートのファイルシステムにアクセスする際に一時的に作られるファイルの様です。これもNAS などの中に作られてしまい、Windows 側からフォルダを削除しようとすると削除できなくなったりします。

.smbdelete*** ファイル



mac の exFAT に作られるリソースフォークを mac 側で削除

mac で作ったファイルを Windows ユーザに渡す場合、多くの場合 exFAT でフォーマットされた USB メモリや Flash メモリデバイスを使うと思います。便利で持ち歩きに適しているのでカメラなどのデバイスの保存用にも使われているかもしれません。こうした exFAT でフォーマットされたデバイスにも、リソースフォークファイルは作られてしまいます。

mac の ファインダからは見えないファイルなので、ターミナルを開いて exFAT デバイス上のリソースフォークを削除して渡すのがマナーになっている様です。

mynsme@MacBookAir exFAT % pwd
/Volumes/exFAT
mynsme@MacBookAir exFAT % ls -ahl
total 10525696
drwx------ 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-V100
drwx------ 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.JPG
drwx------ 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.mov

mynsme@MacBookAir exFAT % find . -type f -name '._*' -delete
mynsme@MacBookAir exFAT % ls -alh
total 10524672
drwx------ 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-V100
drwx------ 1 mynsme staff 128K 5 23 2023 .Trashes
drwx------ 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.JPG
drwx------ 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.mov

mynsme@MacBookAir exFAT %


一般的には mac の方が Windows よりファイルの許容範囲は大きい。

体験的にですが、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 に乗り換えたら慣れるまでにやってみること





by islandcenter | 2024-09-27 10:15 | システム管理 | Comments(0)