1

Windows XP SP2 で最新の Cygwin バージョンの rsync を実行しようとすると、次のエラーが発生します。このエラーは、ローカル同期 (つまり、ローカル ハードディスクのソースと宛先のみ) とリモート同期 (openssh パッケージの「-e ssh」を使用) の両方で発生します。修正/回避方法に関するアドバイスはありますか?

bash-3.2$ rsync -a dir1 dir2
rsync: 複製/クローズに失敗しました: 非ソケットでのソケット操作 (108)
rsync エラー: /home/lapo/packaging/tmp/rsync-2.6.9/pipe.c(143) [receiver=2.6.9] の IPC コード (コード 14) のエラー
rsync: 読み取りエラー: ピアによって接続がリセットされました (104)
rsync エラー: /home/lapo/packaging/tmp/rsync-2.6.9/io.c(604) の IPC コード (コード 14) のエラー [sender=2.6.9]
4

5 に答える 5

3

rsync をブロックしている何かがある可能性があります。私の場合、NOD32 アンチウィルスです。これは、次のように「gdb」で rsync を実行することで確認できます。

$ gdb --args /usr/bin/rsync -a somedir/ anotherdir
GNU gdb 6.8.0.20080328-cvs (cygwin-special)
.....
(no debugging symbols found)
(gdb) run 

gdb が開始された後の「実行」コマンドに注意してください。次のような出力が表示されます。

Starting program: /usr/bin/rsync -a somedir/ anotherdir
.....
(no debugging symbols found)
warning: NOD32 protected [MSAFD Tcpip [TCP/IP]]
warning: NOD32 protected [MSAFD Tcpip [UDP/IP]]
warning: NOD32 protected [MSAFD Tcpip [RAW/IP]]
warning: NOD32 protected [RSVP UDP Service Provider]
warning: NOD32 protected [RSVP TCP Service Provider]
(no debugging symbols found)
(no debugging symbols found)
---Type <return> to continue, or q <return> to quit---
(no debugging symbols found)
[New thread 1508.0x720]
[New thread 1508.0xeb0]
[New thread 1508.0x54c]
rsync: Failed to dup/close: Socket operation on non-socket
(108)
rsync error: error in IPC code (code 14) at
/home/lapo/packaging/rsync-3.0.4-1/src/rsync-3.0.4/pipe.c(147)
[receiver=3.0.4] 

そのため、ウイルス スキャナー (NOD32) の除外リストに rsync を追加する必要があります。

c:\cygwin\bin\rsync.exe

于 2010-03-24T12:21:28.137 に答える
1

Cygwin の長年にわたるパイプ実装のバグにより、SSH 接続を介して使用すると rsync がハングすることに注意してください。

Cygwin v. 1.7 の時点で、rsync で大量のデータを転送する唯一の信頼できる方法は、rsync プロトコルを使用して rsync デーモンに接続することです。DeltaCopy は、このメソッドのかなりのラッパーです。

一部のユーザーは、Unix 側で Windows からデータをプルする代わりに、Windows から Unix にデータをプッシュする SSH を使用して成功したようです。ただし、私たちの経験では、それも信頼できません。

Google で cygwin、rsync、ssh、pipe/hang/stall を検索すると、この問題に関する詳細情報が見つかります。

于 2008-11-14T11:44:35.033 に答える
0

あなたの質問に対する答えではありませんが、 CygwinをいじるよりもDeltaCopyの方がはるかに優れたオプションであることがわかりました。通常のrsyncデーモンにも接続します。

于 2008-09-20T01:42:29.903 に答える
0

これは winsock エラーであることがわかりました。Sierra Wireless Aircard (875U) 用の ATT Communcations Manager (バージョン 6.12.0046.0) のインストールで問題が発生することを確認しました。Communications Manager をアンインストールすると、rsync エラーはなくなります。

于 2009-07-20T17:14:17.550 に答える