Macにおける特有情報を含まないzipの作成方法

Macを経由でデータを受け取ると、そのストレージ上にはMacOSによって生成された「メタファイル」(フォルダもある)を目にすることがあるが、MacOS上では隠し属性で見えないが、他のOSからだと見える。
これらのデータは、MacOSがファイルたフォルダ、さらにはストレージに対して様々な情報や設定を保持するために生成されるが、Windwosに対しては不要であったり、Linuxはディストリビューションによっては、不要に影響を与えることもあるため、受け渡し時には削除することが推奨されている。

今回は、MacOS上でzipファイルを作成するときの、不要なデータを除外する方法を解説する。

除外方法
まず、除外の文法については「zip unzip(圧縮解凍)」を参照のこと。
さて、ここでよく見かけるMacOS特有のデータをまとめる。

.Spotlight-V100
スポットライト(検索)のインデックス。
.fseventsd
ファイルシステムイベントのログファイル。
.Trashes
ストレージ毎の「ゴミ箱」。
.DS_Store
主にアクセスされたフォルダ内に対して生成されるメタ情報。
._(ファイル名)
Mac標準ファイルシステム「HFS+」以外でファイル毎に対して生成されるメタ情報、対象のファイル名に「._」というプレフィックスがつく。

上記のことを踏まえて、除外オプションの記述は以下の通り。

# zip <オプション> <ファイル圧縮名> <圧縮元のファイル> -x “.*” “.*/*”

除外にはワイルカードを使用し、「.*」=「”.”で始まるファイル名を除外」、「.*/*」=「”.”で始まるフォルダを除外」となる。
注意点として、Linuxでもそうだが”.”で始まる項目は隠しファイル(フォルダ)属性を帯びるので、意図的にそのような名前の項目を含めたい場合はこの例ではない。


既存のzipファイルから対象のデータを除外する場合
すでに圧縮されたアーカイブから、除外する方法があるので、一応解説しておく。

# zip -d <ファイル圧縮名.zip> “.*” “.*/*” “__MACOSX/*”

MacOSで標準の圧縮ソフトを利用したアーカイブには「__MACOSX」というフォルダが生成されるが、これも不要なデータなので追加で除外する。

以上

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください