【问题标题】:Rsync on windows - dup() in/out/err failedWindows 上的 Rsync - dup() 输入/输出/错误失败
【发布时间】:2017-10-23 07:19:22
【问题描述】:

我正在使用 Vagrant 来管理用于开发目的的虚拟机。我的操作系统是 Windows 10,我使用的是 Vagrant 1.9.1。由于文件夹同步的默认驱动程序很慢,我想实现 Rsync。

为此,我使用了 Cygwin 并安装了 Rsyn 和 OpenSSL。

当我在 Cygwin 控制台中运行 vagrant 时,我收到了这个错误:

There was an error when attempting to rsync a synced folder.
Please inspect the error message below for more info.

Host path: /cygdrive/c/Users/User/my-project/my-project/
Guest path: /var/www
Command: "rsync" "--verbose" "--archive" "-z" "--chmod=ugo=rwX" "--no-perms" "--no-owner" "--no-group" "--rsync-path" "sudo rsync" "-e" "ssh -p 2222 -o LogLevel=FATAL   -o IdentitiesOnly=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i 'C:/Users/User/my-project/my-project/.vagrant/machines/gbb-my-project-sys-web-dev-1/virtualbox/private_key'" "--exclude" ".vagrant/" "--exclude" ".git/" "/cygdrive/c/Users/User/my-project/my-project/" "vagrant@127.0.0.1:/var/www"
Error: dup() in/out/err failed
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.1]

我用来运行 vagrant 的命令

export VAGRANT_DETECTED_OS=cygwin
VAGRANT_HOME=/cygdrive/c/Users/User
export VAGRANT_HOME
vagrant up

流浪配置:

synced_folder:
            vflsf_udtdv3aeexfs:
                owner: www-data
                group: www-data
                source: ./
                target: /var/www
                sync_type: rsync
                smb:
                    smb_host: ''
                    smb_username: ''
                    smb_password: ''
                    mount_options:
                        dir_mode: '0775'
                        file_mode: '0664'
                rsync:
                    args:
                        - '--verbose'
                        - '--archive'
                        - '-z'
                    exclude:
                        - .vagrant/
                        - .git/
                    auto: 'true'

【问题讨论】:

  • 你用的是哪个盒子?以及如何在 Windows 机器上运行 ssh(是来自 cygwin 还是像 git-bash 一样单独安装)
  • @FrédéricHenri 这是 VirtualBox 上的 CentOs 6。此外,我已将 ssh bin 添加到 Windows 环境 PATH 变量以运行 ssh 连接

标签: vagrant cygwin rsync vagrantfile vagrant-windows


【解决方案1】:

您是否通过 cygwin 安装了ssh?如果你有来自其他来源的ssh(例如 Windows 的 git),它可能是来自 cygwin 的 not compatiblersync

【讨论】:

  • 我更新了 gurst 机器上的 rsync 并从路径环境中删除了 SSH
猜你喜欢
  • 1970-01-01
  • 2019-07-18
  • 1970-01-01
  • 1970-01-01
  • 2021-04-10
  • 1970-01-01
  • 1970-01-01
  • 2014-06-15
  • 1970-01-01
相关资源
最近更新 更多