ホーム > 詳細

Mac OS X 10.6のtarコマンドでのエラー

固定リンク:#0000000134   投稿者: ZiSTA 日付:2011-09-19 22:35:07   コメント( 0

デプロイツールのCapistranoを試していると以下のようなtarコマンド実行時のエラーがでてデプロイ出来ませんでした。

executing "cd /var/www/sample.com/releases && tar xzf /tmp/20110919103603.tar.gz && rm /tmp/20110919103603.tar.gz"
tar:
Ignoring unknown extended header keyword `SCHILY.dev'
tar:
Ignoring unknown extended header keyword `SCHILY.ino'
tar:
Ignoring unknown extended header keyword `SCHILY.nlink'
tar:
Ignoring unknown extended header keyword `SCHILY.dev'


それぞれのOSにインストールされているtarコマンドを調べてみます。

インストールされているtarコマンドのバージョン

Mac OS X 10.6.8 にインストールされているtar

$ tar --version
bsdtar 2.6.2 - libarchive 2.6.2

CentOS 5.6にインストールされているtar

$ tar --version
tar (GNU tar) 1.15.1


いろいろ違いますね。

エラーの原因

tarコマンドをGNUに統一したらエラーが発生しなくなりました。
上記のバージョンチェックでも分かるようにMac OS Xではtarコマンドは'BSD'でCentOSのtarコマンドは'GNU'。
Mac OS XはSnow Leopardから'BSD'を使用するようになったようです。

MacのtarコマンドをGNU tarに変更する

Mac OS Xではbsdtarに加えgnutar もインストールされていて/usr/bin/tarが/usr/bin/bsdtarへのシンボリックリンクになっています。このシンボリックリックを変更すればtarコマンドをgnutarに変更する事が可能です。


gnutarに変更する

$ sudo ln -fs /usr/bin/gnutar /usr/bin/tar


badtarに変更する(標準に戻す)

$ sudo ln -fs /usr/bin/bsdtar /usr/bin/tar

 

コメント

↑ ページトップ