ホーム > 詳細
Mac OS X 10.6のtarコマンドでのエラー
デプロイツールの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
検索
最近の投稿
作ったもの
写真共有のTWINGAR
CakePHPのまとめノートCakePHP Note
CakePHPのAPIFramework API
About Me
@ZiSTA Tweets
CakePHPとかMacとか

コメント