Vagrant Başlamıyor. Sanal makineyi oluşturan kullanıcı mevcut kullanıcıyla eşleşmiyor


124

Serseri makinemi başlatmaya çalışıyordum, bu yüzden vagrant dosyamın bulunduğu klasöre gittim ve şunu kullandım:

serseri yukarı && serseri ssh

ancak aşağıdaki hata mesajını aldım:

VirtualBox VM, Vagrant'ı çalıştıran mevcut kullanıcıyla eşleşmeyen bir kullanıcıyla oluşturuldu. VirtualBox, oluşturulan sanal makineyi yönetmek için aynı kullanıcının kullanılmasını gerektirir. Lütfen o kullanıcıyla Vagrant'ı yeniden çalıştırın. Bu bir Vagrant sorunu değil.

VM oluşturmak için kullanılan UID: 0 Sizin UID'niz: 501

Sudo ile de denedim ama bu da işe yaramadı.

UID'leri değiştirmem gerekir mi? Ve bunu nasıl yapacağım?

Yanıtlar:


253

Bugün aynı problemle karşılaştım.
Benim Düzenlenen UID dosyasını açarak .vagrant/machines/default/virtualbox/creator_uidve değişen 501 a 0 .

Dosyayı kaydettikten sonra, komuta serseri bir şampiyon gibi çalıştı.

Not: .vagrantklasör, çalıştırdığınız Vagrantfile ile aynı dizindedirvagrant up


64
Kendimi de aynı durumda buldum, bir ubuntu makinesinden bir tarball'u katran ettim. Dolayısıyla, rm -rf .vagrantubuntu'da oluşturulan dizini kaldırmak da sorunu çözdü.
Jeff Sheffield

1
//, Vay canına, teşekkürler, @Fred! Stackoverflow, daha önce bununla uğraşmak zorunda kalmış birinden bu tür hassas, bulması zor bir çözümle bize en iyi şekilde hizmet ediyor. .vagrantUnix tabanlı makinelerde genellikle klasörü nerede bulacağım ?
Nathan Basanese

1
Emin değilim @Nathan. Creator_uid dosyası için bir konum belirleme komutu çalıştırabilir misiniz? Düzenlenecek dosyanın yolunu bulmak için komut satırında "creator_uid yerini belirle" yi deneyin.
Fred

4
Benim durumumda, creator_uid "90210" içeriyordu, ancak benim UID'm 502'dir. Bu çözümün önerdiği şekilde dosyadaki UID'yi 0 olarak değiştirmek yerine 502 olarak değiştirdim. İyi çalıştı.
LS

5
@NathanBasanese .vagrantklasörü koştuğunuz yerdevagrant up
Harish Reddy

34

Bu problemle biraz farklı bir durumda karşılaştım. Sorun şu ki ".vagrant" git deposunda kontrol ediliyordu ve kaydedici benden farklı bir UID altında çalışıyordu.

Çözüm: .gitignore'a .vagrant ekleyin.


15
Karşılaştığım sorun buydu; Ancak basit toplama .vagrantiçin .gitignoreolacak değil YMMV ama - sorunu çözmek git rm -rf .vagrantçok çalıştırılmalıdır.
Marco Massenzio

@marco: Kesinlikle haklısın. depoya ".vagrant" eklendiyse, daha sonra .gitignore'a eklemek çok geç :)
Chris Cogdon

8

Ben de aynı sorunla karşılaştım, ama benim durumumda bunun nedeni vagrant upaltından kaçmış olmamdı sudove daha sonra geri döndüğümde unutmuştum.

Aptalca bir hata, ama eminim ki bu ilk kez birisi değildir :)


1
Aynı sorun burada, altından geçmeyi unuttum sudo. Ancak hata mesajı maalesef bunun pek de göstergesi değildir.
Zac Blazic

5

.Vagrant \ machines \ default \ virtualbox \ creator_uid içindeki kimliği değiştirmeyi denedim ve bu benim için işe yaramadı, ancak dosyayı silerek creator_uid hile yaptı.


3

burada kullanıcı kimliğini değiştirin. vagrant / machines / default / virtualbox / creator_uid


1

Göre VirtualBox Kullanıcı el kitabı :

Bir güvenlik önlemi olarak, dahili ağın Linux uygulaması yalnızca aynı kullanıcı kimliği altında çalışan VM'lerin dahili bir ağ kurmasına izin verir.

Başka bir deyişle, UID 0çalıştırmak için root ( ) 'a geçmelisiniz.


10
Sudo olarak çalışmamalı, sadece .vagrant dizininizi silin ve kullanıcınız olarak çalıştırın
Jeremy

1

Şu komutu çalıştırmış olabilirsiniz: sudo vagrant up

Bu, normal kullanıcınız olarak /.vagrantklasörü ve dosyaları göremeyeceğiniz ve hatta silemeyeceğiniz anlamına gelir .

Öyleyse, çalıştırın: sudo vagrant destroy -f

Daha sonra çalıştırabilmeniz gerekir (normal kullanıcı hesabınız olarak): vagrant up


0

Aşağıdaki komutları çalıştırın:

bash
sudo vagrant up

0

Yeni bir bilgisayar aldıktan sonra aynı sorunu yaşadım. Eski bilgisayarımdaki tüm dosyaları kopyalamak yerine , git deposundan serseri projeleri tekrar kontrol etmem gerekti . Ondan sonra vagrant upiyi çalıştı.


0

Fred'in https://stackoverflow.com/a/32256848/2065804 yanıtına eklemek için .

Doğru VM makinesini değiştirdiğinizden emin olun. Örneğin, benim VM adım varsayılan DEĞİL, daha ziyade homestead-7 olarak adlandırılıyor.

Öyleyse doğru olana giden yol :

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

ve yok:

.vagrant/machines/default/virtualbox/creator_uid

Bu hata, Mac'imi başka bir Mac ile değiştirdiğimde başıma geldi.


0

Geçerli çalışma dizinindeki .vagrant hidden dizininin içeriğini kaldırın ve vagrant up komutunu yeniden çalıştırın. Hata, Vagranfile / lerin bir sistemden diğerine kopyalanması / yedeklenmesi nedeniyle. kullanıcı kimliğinin Vagrant'a çevreyi gündeme getirme yanlışlığı .. umarım alkışlamaya yardımcı olur .. !! :)) bu klasörü silmek istemiyorsanız, mevcut çalışma dizininin gizli dizinindeki dosyadaki mevcut kullanıcının kullanıcı kimliğini güncelleyebilirsiniz, yani .vagrant / machines / jenkins / virtualbox $ vim creator_uid


0

Aynı durumla karşılaştım ama çok makineli bir Vagrantfile'ım var.

Eski kullanıcı kimliğini (1001) yenisiyle (1000) değiştirmek için aşağıdaki komutu kullandım:

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

0

Daha sudoönce yerleştirmeyi unuttuğum problemin aynısını yaşadım vagrant up, sadece sudo vagrant upserseri dosyanızın klasöründe yürütmeniz gerekiyor.


0

Multi-Machine serseri dosyam var. Kontrol ettim creator_uidve 0hala yüklenemiyor. Bu yüzden creator_uidtüm Multi-Machine için dosyayı sildim ve işe yaradı. Yol olmalı.vagrant\machines\<machine_name>\virtualbox

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.