2012-10-10 8 views
8

Windows-Befehlszeile mit Cygwin, Koch und Ruby installiert. WennWindows-Befehlszeile tar "kann keine Verbindung zu d: beheben fehlgeschlagen" mit Kochmesser

knife cookbook site install mysql 

versucht, den folgenden Fehler zurück

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> 

Wie kann ich dieses Problem beheben? Ich kann manuell entzippen mit

aber das ist weniger als ideal. Ich glaube, das hat mit der colon in filename zu tun, aber wie kann ich das in den Messer- oder Kocheinstellungen ändern?

+1

Haben Sie eine Lösung für dieses Problem gefunden? Es ist in Ordnung, deine eigene Frage zu beantworten. Bitte vergiss nicht, eine Antwort als richtig zu markieren! :) – sethvargo

Antwort

0

Funktioniert der tar-Befehl, wenn er von cmd ausgeführt wird? Auch was ist, wenn die Ausgabe zu einem lokalen Laufwerk ist. Etwas anderes dies versuchen,

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

Ich weiß nicht, eine vollständige Antwort, sondern haben seit einiger Zeit erleben diese auf Linux-Rechnern in letzter Zeit:

$ 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 
$ 

Es scheint, dass tar will eine Art von Remote-Dateiverarbeitung tun wegen des Doppelpunkts im Dateinamen und Sie können es durch eine Art von Umleitung oder Rohrleitung vortäuschen - zum Lesen und Schreiben eines Tarballs. Ich möchte immer noch eine Option oder etwas zu tar zu sagen, nicht auf diese Weise zu verhalten.

6

Der Grund dafür ist, dass tar interpretiert Doppelpunkte (:) in Dateinamen als dh es eine Datei auf einem anderen Rechner ist. Sie können dieses Verhalten mithilfe des Flags --force-local deaktivieren.

Dies ist aus einer Antwort von here.