OS X の tar と GNU tar の互換性

June 12, 2014


Mac (OS X 10.9 Mavericks) に置いてある日本語ファイル名を含むフォルダを CentOS にコピーしようとして例えば

tar cf - Folder | ssh user@centos.server.jp 'tar xf -'

みたいなことをすると、または単に Mac で作った tar ファイルを CentOS で展開すると、

tar: 未知の拡張ヘッダキーワード `SCHILY.dev' を無視
tar: 未知の拡張ヘッダキーワード `SCHILY.ino' を無視
tar: 未知の拡張ヘッダキーワード `SCHILY.nlink' を無視

のようなメッセージが出てくる。これは BSD tar がアーカイブに付加するヘッダを gnu tar が解釈しないことによる、つまり BSD tar と gnu tar の互換性の問題らしい。 Mac 側に gnu tar をインストールしてそれを使えばこんな警告は出なくなる。 または、メッセージが出ても展開は行われているので、単に無視してもよい。 あるいは BSD tar でアーカイブを作る時に

tar --format=ustar -cf Folder.tar Folder

みたいにオプションを指定する。