Ich verwende Git Bash auf einem Windows-Computer: Version 2.7.2 (32-Bit-Version) von Git für Windows, erstellt am 23.02.2016, verfügbar unter https://git-scm.com .
Innerhalb von Bash kann ich ein Verzeichnis von /c/
nach /e/
(einen USB-Stick) kopieren . Ich erhalte jedoch Fehler, wenn ich versuche, zu verwenden rsync
. Ich habe versucht cygdrive
, die Verzeichnisnamen zu ergänzen, aber das hat nicht funktioniert. Ich habe auch versucht hinzuzufügen -e
(nur um zu sehen, was passieren würde), was auch nicht funktioniert hat.
Ich erwähne, dass der Kopierbefehl funktioniert, weil es seltsam ist, dass ich das Laufwerk in eine Richtung sehen kann, aber nicht in eine andere Richtung.
Vielen Dank und bitte kommentieren Sie, wenn Sie abstimmen, um mir zu helfen, die Frage besser zu machen.
Zusätzlicher Hintergrund und Forschung:
Fehler 255
Irgendwann glaube ich, dass ich genau den gleichen Fehler (255) bekommen habe, der mich zu diesem Beitrag geführt hat. Die Lösung hier bezieht sich jedoch cygwin
nicht auf Git Bash.
/programming/16969119/dotcloud-push-on-cygwin-fails-with-rsync-error-unexplained-error-code-255
Vagrant und rsync
Es gibt eine Menge guter Diskussionen über die Mechanik von rsync
, insbesondere von mitchellh
. Ich war mir jedoch nicht sicher, welche Komponenten, auf die sie verweisen, in meiner Installation vorhanden sind oder wie ich sie erkennen soll. Ich habe auf dieser Website eine separate Frage zu diesem Thema gestellt. Quelle: https://github.com/mitchellh/vagrant/issues/3236
Auflisten von Laufwerken in emulierten Linux-Umgebungen
Quelle: http://mingw-users.1079350.n2.nabble.com/Windows-c-drive-td6555321.html
Wenn ich dies tue, cat /etc/fstab
erhalte ich Folgendes:
$ cat /etc/fstab
# For a description of the file format, see the Users Guide
# http://cygwin.com/cygwin-ug-net/using.html#mount-table
# DO NOT REMOVE NEXT LINE. It remove cygdrive prefix from path
none / cygdrive binary,posix=0,noacl,user 0 0
none /tmp usertemp binary,posix=0,noacl 0 0
Was meiner Meinung nach darauf hinweist, dass es ein Volume mit dem Namen gibt cygdrive
, aber ich habe keinen Befehl gefunden, der erfolgreich auf diesen Namen zugreift.
Mögliche doppelte Frage:
@kenorb schlug vor, dass diese Frage ein Duplikat von Warum cwRsync unter Windows nicht funktioniert? .
Ich kann mich nicht erinnern, diesen Beitrag gestern gesehen zu haben, aber dieser sieht meinem am ähnlichsten. Ich denke immer noch, dass es anders ist, weil diese Frage im Jahr 2011 veröffentlicht wurde und diese Version rsync
von 2016 stammt. Die vorherige Version, die ich gestern Morgen verwendet habe (die im Jahr 2015 installiert wurde), hat einen anderen Fehler verursacht und mich aufgefordert, meine Version von git zu aktualisieren / git bash.
Wenn es sich bei dieser Frage um ein Duplikat handelt, gibt es (derzeit) keine akzeptierte Antwort, und die oberste Antwort funktioniert bei mir nicht.
Im Allgemeinen hat mich all diese Forschung zu der Annahme geführt, dass es mehrere Probleme mit rsync
Windows-Ports gab und dass dies nur das aktuellste ist.
Ich denke, das Problem kann gelöst werden, indem ich das Laufwerk anders spezifiziere ... aber ich weiß nicht, was funktionieren würde. Ich habe versucht, den Laufwerksnamen, den Laufwerksbuchstaben und die Windows-Doppelpunkt-Backslash-Syntax zu verwenden. Offensichtlich hat es nicht funktioniert und am Ende rate ich nur.
rsync in msysgit
Am 18.10.11 sagte Werner BEROUX
Ist es möglich zu entkommen, um "/ c / Folder" als Argument an eine Anwendung zu übergeben? Git wandelt das standardmäßig in "C: \ Folder" um und es scheint, dass ich es nicht vermeiden kann, selbst wenn ich gängige Escape-Methoden verwende. https://groups.google.com/forum/#!topic/msysgit/J1hvt9Ave8g
Ich bin mir nicht sicher, ob dies damit zusammenhängt. Ich denke, sie versuchen, rsync innerhalb eines git-Befehls zu verwenden, aber es ist interessant, dass sie Probleme mit den Pfadnamen haben. Ich frage mich, ob diese Fehler, die durch die Übersetzung des Pfads verursacht wurden, ein :
?
Fehlercodes 12 und 255 (Bearbeiten am 21. März 2016)
Da jemand anderes (@davidpostill) sagt, dass dies ebenfalls ein Duplikat ist, dachte ich, ich würde die Antworten / Kommentare in der anderen Frage erneut versuchen .
Die am besten bewerteten Antworten und Kommentare der anderen Frage haben bei mir immer noch nicht funktioniert, was mich zu dem Schluss zurückführt, dass dies ein anderes Problem ist.
Hier sind die Ergebnisse des Versuchs von rsync vom USB-Stick, wie im letzten Kommentar der am besten bewerteten Antwort auf die andere Frage vorgeschlagen :
Zuerst habe ich versucht /c/
, Laufwerke in anderen Befehlen in Bash für Windows zu verwenden.
user@computer MINGW32 /e
$ rsync -trd /c/examp/ .
ssh: Could not resolve hostname c: Name or service not known
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at /home/lapo/package/rsync-3.0.9-1/src/rsync-3.0.9/io.c(605) [Receiver=3.0.9]
Ich habe den gleichen Fehler mit dem /cygwin
Präfix erhalten:
user@computer MINGW32 /e
$ rsync -trd /cygwin/c/examp/ .
ssh: Could not resolve hostname c: Name or service not known
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at /home/lapo/package/rsync-3.0.9-1/src/rsync-3.0.9/io.c(605) [Receiver=3.0.9]
Es wurden verschiedene Arten des Hinzufügens versucht c:
, aber wie bereits in der Vergangenheit erwähnt, lässt der Doppelpunkt vermuten, rsync
dass es sich um eine Remoteverbindung handelt, und dies schlägt mit Fehler 255 fehl.
user@computer MINGW32 /e
$ rsync -trd /c:/examp/ .
ssh: Could not resolve hostname c: Name or service not known
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at /home/lapo/package/rsync-3.0.9-1/src/rsync-3.0.9/io.c(605) [Receiver=3.0.9]
rsync -trd c:/examp/ e:/
?mysys2
könnte helfen, aber ich zögere, diese Schritte zu befolgen. Ich kann ohne lebenrsync
, aber ich kann es mir nicht leisten,git
github.com/git-for-windows/git/wiki/Building-msys2-runtimeAntworten:
Zwei Jahre später habe ich eine Antwort gefunden, die auf meinem neuesten Computer (Windows 10, 64 Bit) zu funktionieren scheint.
rsync
von futureware.at *C:\rsync-3.1.2-2-x86_64.pkg
* Ich weiß nicht, wer hinter futureware.at steht. Ich würde es vorziehen, auf eine primärere Quelle zu verlinken.
Ich habe die Antwort hier auch als Antwort auf eine allgemeinere Frage veröffentlicht, da ich mich nicht erinnern konnte, wo sich diese Frage zu der Zeit befand.
quelle
Laden Sie unter http://repo.msys2.org/msys/x86_64/ die folgenden Pakete herunter:
Packen Sie alle mit
tar -xf
, und dann vonusr/bin
Kopiersync.exe
,msys-2.0.dll
,msys-z.dll
undmsys-iconv-2.dll
in das Verzeichnis aus , wo Sie wollen laufen rsync. Test mitrsync.exe -h
.quelle