web-dev-qa-db-fra.com

Le vagabond ne démarre pas. Utilisateur qui a créé VM ne correspond pas à l'utilisateur actuel

J'essayais de démarrer ma machine vagabonde, alors je suis allé dans le dossier où se trouve mon fichier vagrant et ai utilisé: 

vagrant up && vagrant ssh

mais j'ai le message d'erreur suivant:

Le VirtualBox VM a été créé avec un utilisateur qui ne correspond pas à utilisateur actuel exécutant Vagrant. VirtualBox nécessite le même utilisateur être utilisé pour gérer le VM qui a été créé. Veuillez relancer Vagrant avec cet utilisateur. Ce n'est pas un problème vagabond.

L'UID utilisé pour créer le VM était: 0 Votre UID est: 501

J'ai aussi essayé avec Sudo, mais ça n'a pas marché non plus.

Dois-je changer d'ID utilisateur? Et comment ferais-je cela?

113
Luke

J'ai rencontré le même problème aujourd'hui.
J'ai édité monUIDen ouvrant le fichier .vagrant/machines/default/virtualbox/creator_uid et en changeant le 501 en a 0

Après avoir sauvegardé le fichier, la commande vagabond a fonctionné comme un champion.

NB: le dossier .vagrant est dans le même répertoire que votre fichier Vagrant, où vous avez exécuté vagrant up.

229
Fred

Couru dans ce problème dans une situation légèrement différente. Le problème était que ".vagrant" était enregistré dans le dépôt git, et que le committer fonctionnait sous un UID différent de celui que j'étais.

Solution: ajoutez .vagrant à .gitignore.

29
Chris Cogdon

J'ai rencontré le même problème, mais dans mon cas c'était parce que j'avais couru vagrant up sous Sudo, et quand je suis revenu plus tard, j'avais oublié.

Silly erreur, mais je suis sûr que ce n'est pas la première fois que c'est arrivé quelqu'un :)

7
ConorLuddy

J'ai essayé de changer l'identifiant dans .vagrant\machines\default\virtualbox\creator_uid et cela n'a pas fonctionné pour moi, mais la suppression du fichier, creator_uid a fonctionné.

5
Canje027

il suffit de changer l'ID utilisateur ici . vagrant/machines/default/virtualbox/creator_uid

3
Oleg Tokar

Il est possible que vous ayez exécuté la commande: Sudo vagrant up

Cela voudrait dire que votre utilisateur habituel ne peut ni voir ni même supprimer le dossier et les fichiers /.vagrant.

Si oui, lancez simplement: Sudo vagrant destroy -f

Ensuite, vous devriez pouvoir exécuter (en tant que votre compte d'utilisateur normal): vagrant up

1
brandon

Selon le VirtualBox User Manual :

Par mesure de sécurité, l’implémentation sous Linux de la mise en réseau interne autorise uniquement les machines virtuelles exécutées sous le même ID utilisateur à établir un fichier réseau interne.

En d'autres termes, vous devez passer à root (UID 0) pour l'exécuter.

1
dmargol1

Juste pour ajouter à la réponse https://stackoverflow.com/a/32256848/2065804 de Fred

Assurez-vous que vous avez changé la bonne machine virtuelle. Par exemple, mon VM nom n'est PAS le nom par défaut mais plutôt appelé Homestead-7. 

Donc, le chemin vers le correct est: 

.vagrant/machines/Homestead-7/virtualbox/creator_uid

et pas: 

.vagrant/machines/default/virtualbox/creator_uid

Cette erreur m'est arrivée lorsque j'ai remplacé mon Mac par un autre Mac.

0

Exécutez les commandes suivantes:

bash
Sudo vagrant up
0
vixadd

J'ai fait face à la même situation, mais j'ai un multi-machine Vagrantfile.

Pour remplacer l'ancien uid (1001) par le nouveau (1000), j'ai utilisé la commande suivante:

for i in $(find . -type f -iname "creator_uid" ) ; do echo 1000 > $i ; done

J'ai eu le même problème après avoir eu un nouvel ordinateur. Au lieu de copier tous les fichiers de mon ancien ordinateur, je devais extraire les projets vagabonds encore du référentiel git. Après cela, vagrant up a bien fonctionné. 

0
matschmann

Supprimez le contenu du répertoire caché .vagrant dans le répertoire de travail en cours et exécutez à nouveau la commande vagrant up . Erreur en raison de la copie/sauvegarde de Vagranfile/s d'un système à un autre. La méchanceté de l'ID utilisateur envers le vagabond pour évoquer l'environnement… espérons qu'elle aide à encourager… !! :)) Si vous ne souhaitez pas supprimer ce dossier, vous pouvez mettre à jour l'ID de l'utilisateur actuel du fichier dans le répertoire caché du répertoire de travail actuel, à savoir .vagrant/machines/jenkins/virtualbox $ vim creator_uid 

0
siva krishna

J'ai eu le même problème que j'avais oublié de placer Sudo avant vagrant up, il vous suffit d'exécuter Sudo vagrant up dans le dossier de votre fichier vagrant.

0
luis matos