使用 Centos 7 的 Vagrant 上的 rsync 错误

rsync error on Vagrant up with Centos 7

我想在我的新笔记本电脑上迁移到 virtualbox 环境,所以想测试一下 vagrant。然而,我一直无法在没有一个错误的情况下通过 Vagrant,我已经经历了很多错误,现在我卡住了。

Rsync 总是无法执行 ssh(下面是完整错误)

rsync 和 putty 添加到系统路径的末尾,如

..;C:\HashiCorp\Vagrant\bin;C:\Users\paul\Desktop\putty.exe;C:\cygwin64\bin;C:\Program Files\Git\cmd

Vagrant 文件包含(包括 windows/rsync 错误修复)

Vagrant.configure(2) do |config|
  config.vm.box = "centos/7"
  ENV["VAGRANT_DETECTED_OS"] = ENV["VAGRANT_DETECTED_OS"].to_s + " cygwin"
 end

我还尝试将 C:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.6.X\plugins\synced_folders\rsync\helper.rb 中的第 43 行更改为 hostpath = "/cygdrive" + Vagrant::Util::Platform.cygwin_path(hostpath )

而不是将其放入 vagrant 文件中。

我仍然无法让 rsync 工作。我什至不确定为什么它需要在 'up' 上执行此操作。

im 运行 cmd 的 vagrant up 是完整的输出。

 C:\Users\paul\Projects\gettingStarted-centos7>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'centos/7' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: No guest additions were detected on the base box for this VM! Guest

    default: additions are required for forwarded ports, shared folders, host on
ly
    default: networking, and more. If SSH fails on this machine, please install
    default: the guest additions and repackage the box to continue.
    default:
    default: This is not an error message; everything may continue to work prope
rly,
    default: in which case you may ignore this message.
==> default: Rsyncing folder: /cygdrive/c/Users/paul/Projects/gettingStarted-cen
tos7/ => /home/vagrant/sync
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/paul/Projects/gettingStarted-centos7/
Guest path: /home/vagrant/sync
Command: rsync --verbose --archive --delete -z --copy-links --chmod=ugo=rwX --no
-perms --no-owner --no-group --rsync-path sudo rsync -e ssh -p 2222 -o StrictHos
tKeyChecking=no -o IdentitiesOnly=true -o UserKnownHostsFile=/dev/null -i 'C:/Us
ers/paul/Projects/gettingStarted-centos7/.vagrant/machines/default/virtualbox/pr
ivate_key' --exclude .vagrant/ /cygdrive/c/Users/paul/Projects/gettingStarted-ce
ntos7/ vagrant@127.0.0.1:/home/vagrant/sync
Error: rsync: Failed to exec ssh: No such file or directory (2)
rsync error: error in IPC code (code 14) at pipe.c(85) [sender=3.1.1]
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]

在阻塞点上,ssh 未安装或未配置为 运行(经 ops 确认)因此它抛出错误(也在 github issue 上评论)

附带说明一下,安装 vagrant vbguest plugin 可能会很好,这样您就可以摆脱警告。 vagrant plugin install vagrant-vbguest 将负责安装 vbguest,共享文件夹将更好地与来宾添加一起使用。