4 votes

Comment synchroniser le dossier de synchronisation Vagrant avec VirtualBox et CentOS/Windows?

Je n'arrive pas à synchroniser le dossier /vagrant. Il se synchronisera de l'hôte Windows vers l'invité CentOS, mais seulement si j'exécute manuellement vagrant rsync ou vagrant up, et supprimera tout nouveau fichier dans l'invité. Il ne se synchronisera pas de l'invité vers l'hôte.

$ 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

J'ai essayé de monter manuellement et cela a donné une erreur

[vagrant@localhost vagrant]$ sudo mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` vagrant /vagrant
/sbin/mount.vboxsf: le montage a échoué avec l'erreur: Erreur de protocole

J'ai essayé de définir manuellement un dossier partagé dans l'interface de VirtualBox et redémarré

Boîte de dialogue des paramètres du dossier partagé de VirtualBox

Il n'y a pas d'erreurs sur vagrant up et il n'y a rien dans le journal de débogage.

Version 5.1.16 r113841 (Qt5.6.2)
CentOS Linux release 7.3.1611 (Core)
Windows 8.1

4voto

systempuntoout Points 27584

J'ai corrigé en changeant le nom (1ère colonne) de /vagrant dans VirtualBox en vagrant et en exécutant manuellement cette commande à l'intérieur de l'invité :

[vagrant@localhost ~]$ sudo mount -t vboxsf -o uid=1000,gid=1000 vagrant /vagrant
[vagrant@localhost vagrant]$ touch /vagrant/tmp.txt
[vagrant@localhost vagrant]$ exit
La connexion à 127.0.0.1 est fermée.

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

Même en sélectionnant la case à cocher 'Montage automatique', cela ne montera pas automatiquement. Au fait, 1000 est l'uid et le gid de l'utilisateur vagrant. id -u vagrant; id -g vagrant

Vous pouvez ajouter ceci à votre Vagrantfile :

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

0voto

Heidi Points 11

Je vous suggère de mettre à jour Virtualbox vers la version 5.1.18 qui résout ce problème!

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X