Mac OS X の tar でリソースフォークを含めないように書庫化する
提供:maruko2 Note.
Mac OS X 10.4 以降、tar
などのコマンドラインツールは標準でリソースフォークを扱えるようになった。
リソースフォークは Mac OS 特有のファイル構造で、アイコンや Finder 情報を記録しているファイル。ファイル名は ._ で始まる。 Finder 上には表示されないが、Windows や Linux ではファイルとして表示されてしまう。 |
Mac の tar
コマンドでリソースフォークを含めずに書庫化するには、環境変数を設定し書庫化することで可能になる。
OS | 環境変数 |
---|---|
10.4 | COPY_EXTENDED_ATTRIBUTES_DISABLE=1 |
10.5 以降 | COPYFILE_DISABLE=1 |
また、.DS_Store も含めずに書庫化するには tar
コマンドの --exclude オプションを使う。
Mac OS X 10.4 の場合
COPY_EXTENDED_ATTRIBUTES_DISABLE=1 tar cf folder.tar --exclude ".DS_Store" folder
Mac OS X 10.5 以降の場合
COPYFILE_DISABLE=1 tar cf folder.tar --exclude ".DS_Store" folder
tar
コマンドでの --exclude 指定方法
c, x, t, f などのオプションの直後に書庫ファイル名を記述し、ソースよりも前に --exclude を書く。
tar cf foo.tar src1 src2 src3 tar cf foo.tar --exclude "string" src1 src2 src3 tar cf foo.tar --exclude "string" --exclude "other string" src1 src2 src3
うまくいかない例: ソースの後ろに --exclude を記述すると、--exclude もソースだと認識することがある。(バージョンによっては、うまくいく時もある。)
tar cf foo.tar src1 src2 src3 --exclude "string"