ฉันจะซิงค์โฟลเดอร์ซิงค์ Vagrant กับ VirtualBox และ CentOS / Windows ได้อย่างไร


3

ฉันไม่สามารถรับโฟลเดอร์ / คนพเนจรไม่ตรงกัน มันจะซิงโครไนซ์จากโฮสต์ Windows ไปยังผู้เยี่ยมชม CentOS แต่ถ้าฉันรันด้วยตนเองvagrant rsyncหรือvagrant upและจะลบไฟล์ใหม่ใด ๆ ในเกสต์ มันจะไม่ซิงค์จากแขกกับโฮสต์

$ vagrant ssh
Last login: Wed Mar 15 21:00:00 2017 from 10.0.2.2
[vagrant@localhost ~]$ cd /vagrant
[vagrant@localhost vagrant]$ ls
Vagrantfile  vagrant.log
[vagrant@localhost vagrant]$ touch tmp.txt
[vagrant@localhost vagrant]$ ls
tmp.txt  Vagrantfile  vagrant.log
[vagrant@localhost vagrant]$ exit
logout
Connection to 127.0.0.1 closed.

Chloe@xps /cygdrive/c/Users/Chloe/Documents/server
$ ls
vagrant.log  Vagrantfile

ฉันพยายามเมานต์ด้วยตนเองและได้รับข้อผิดพลาด

[vagrant@localhost vagrant]$ sudo mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` vagrant /vagrant
/sbin/mount.vboxsf: mounting failed with the error: Protocol error

ฉันพยายามตั้งค่าโฟลเดอร์แชร์ในอินเทอร์เฟซ VirtualBox ด้วยตนเองและเริ่มต้นใหม่

กล่องโต้ตอบตั้งค่าโฟลเดอร์ที่ใช้ร่วมกันเสมือน

จะไม่ให้เกิดข้อผิดพลาดใด ๆvagrant upและมีอะไรในการเข้าสู่ระบบการแก้ปัญหา

เวอร์ชั่น 5.1.16 r113841 (Qt5.6.2)
CentOS Linux ออก 7.3.1611 (Core)
Windows 8.1

คำตอบ:


3

ฉันแก้ไขโดยการเปลี่ยนชื่อ (คอลัมน์ที่ 1) /vagrantใน VirtualBox เป็นvagrantและเรียกใช้คำสั่งนี้ภายในแขก:

[vagrant@localhost ~]$ sudo mount -t vboxsf -o uid=1000,gid=1000 vagrant /vagrant
[vagrant@localhost vagrant]$ touch /vagrant/tmp.txt
[vagrant@localhost vagrant]$ exit
Connection to 127.0.0.1 closed.

Chloe@xps /cygdrive/c/Users/Chloe/Documents/server
$ ls
tmp.txt  vagrant.log  Vagrantfile

แม้จะไม่ได้เลือกช่องทำเครื่องหมาย 'ติดตั้งอัตโนมัติ' จะเป็นการติดตั้งโดยอัตโนมัติ โดยวิธีการ 1,000 เป็น uid และ gid ของvagrantผู้ใช้id -u vagrant; id -g vagrant

คุณสามารถเพิ่มสิ่งนี้ในVagrantfile:

  config.vm.provision "shell", run: "always", inline: <<-SHELL
        mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` vagrant /vagrant
  SHELL

1
ใช้โซลูชันของคุณสำเร็จแล้วขอบคุณที่แบ่งปัน! (ลองข้อเสนออื่น ๆ อีกมากมายไม่มีใครทำงานให้ฉัน) หลังจากติดตั้ง 3 ubuntu และ 2 กล่อง debian ฉันสังเกตเห็นว่ากล่อง ubuntu นั้นโอเค: hashicorp / precision64, ubuntu / trusty64 และ ubuntu / xenial64 ไม่แสดงปัญหา แต่ debian ก็ไม่เป็นไร: debian / (jessie64 | stretch64) แสดงให้เห็น ปัญหาเดียวกันและต้องการการแก้ไขของคุณ ในกรณีที่มีคนต้องการลองทำซ้ำโฮสต์ของระบบปฏิบัติการคือ Windows 10 ที่มี VirtualBox 5.2.2, ผู้ใช้ที่เพิ่มเข้ามา + ติดตั้งปลั๊กอิน vagrant-vbguest คุณพบข้อมูลเกี่ยวกับสาเหตุของปัญหานี้หรือไม่
Zimmi

0

ฉันขอแนะนำให้คุณอัปเดตเป็น Virtualbox เป็นเวอร์ชัน 5.1.18 ซึ่งแก้ปัญหานั้นได้!


โอ้ว้าวพวกเขาเพิ่งเปิดตัวในวันนี้ เพิ่งได้รับการแจ้งเตือนป๊อปอัพ Oracle ไม่มีการทดสอบการถดถอยดังนั้นพวกเขาจึงหยุดทำลายสิ่งต่าง ๆ หรือไม่
Chloe

ยังไม่ได้ผล ฉันอัปเกรดเป็น 'เวอร์ชัน 5.1.18 r114002 (Qt5.6.2)' ลบบรรทัดการเตรียมใช้งานแบบแมนนวลในคำตอบของฉันเริ่มกล่องสัมผัส/vagrant/tmp.txtและไฟล์ยังคงไม่ปรากฏในโฟลเดอร์โฮสต์ของฉัน
Chloe
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.