2012-10-10 22 views
8

Windowsコマンドラインでcygwin、chef、およびrubyをインストールしました。しようとするとWindowsコマンドラインtar "d:接続できませんでした"シェフナイフ

knife cookbook site install mysql 

は、次のエラーを返します

Begin output of tar zxvf D:/path/to/chef-repo/cookbooks/mysql.tar.gz 
STDOUT: 
STDERR: tar<child>: Cannot connect to D: resolve failed 
gzip: stdin: undexpected end of file 
tar: Child returned status 128 
tar: Error is not recoverable: exiting now</code> 

どのように私はこの問題を解決することができますか?

tar zxvf mysql.tar.gz 

ただし、これは理想的ではありません。これはcolon in filenameと関係がありますが、どのようにナイフやシェフの好みで変更できますか?

+1

この問題の解決方法をお探しですか?あなた自身の質問に答えるのは大丈夫です。正しいと答えていることを忘れないでください! :) – sethvargo

答えて

0

cmdから実行した場合、tarコマンドは動作しますか?また、出力がローカルドライブの場合はどうなりますか。他の何かが、私は完全な答えを知らないが、最近のLinuxマシン上でこれを見ている

tar zxvf "D:/path/to/chef-repo/cookbooks/mysql.tar.gz" 
4

、これを試してみてください。

$ date > today 
$ tar -czf - today > to:day.tgz 
$ tar -tzf to:day.tgz 
ssh: connect to host to port 22: Connection refused 
tar (child): to\:day.tgz: Cannot open: Input/output error 
tar (child): Error is not recoverable: exiting now 

gzip: stdin: unexpected end of file 
tar: Child returned status 2 
tar: Error is not recoverable: exiting now 
$ tar -tzf - < to:day.tgz 
today 
$ 

tarは、リモートファイル処理のいくつかの並べ替えを行うことを望んでいることが表示されますファイル名にコロンがあるため、リダイレクションやパイピングを使って、タールボールの読み取りと書き込みの両方を行うことができます。私はまだこのような振る舞いをしないようにするためのオプションや何かを見つけたいと思っています。tar

6

理由は、tarはファイル名のコロン(:)を別のマシンのファイルであると解釈するためです。この動作を無効にするには、フラグ--force-localを使用します。

これは、hereの回答です。

関連する問題