Tidak ada cara bagi Vagrant untuk mengetahui bahwa mesin sedang di-boot ulang selama penyediaan.
Jika memungkinkan, yang terbaik adalah menghindari me-reboot di sini sama sekali. Misalnya pembaruan kernel harus sudah dilakukan saat membuat kotak dasar.
Cara lain yang mudah (tetapi tidak terlalu nyaman) adalah menanganinya dengan keluaran log atau dokumentasi, atau dengan skrip pembungkus yang memanggil vagrant up && vagrant reload
.
Dan terakhir, Anda dapat menulis plugin yang menyuntikkan semua tindakan pemasangan dll. yang diperlukan ke tumpukan middleware Vagrant setelah penyediaan, tetapi Anda masih perlu memikirkan cara memberi tahu plugin bahwa mesin telah di-boot. Tantangan lainnya adalah hal ini dengan mudah membuat penyedia spesifik.
Anda harus dapat menambahkan sistem file ke /etc/fstab untuk dipasang saat boot.
Inilah contoh saya:
vagrant /vagrant vboxsf defaults 0 0
home_vagrant_src /home/vagrant/src vboxsf defaults 0 0
home_vagrant_presenter-src /home/vagrant/presenter-src vboxsf defaults 0 0
Direktori gelandangan Anda harus memiliki direktori tersembunyi .vagrant di dalamnya, dan di sana Anda harus menemukan jalur ke file "synced_folders" (dalam kasus saya:/vagrant/.vagrant/machines/default/virtualbox/synced_folders
).
File itu akan membantu Anda mengetahui apa label itu dan titik pemasangannya:
{"virtualbox":{"/home/vagrant/src":{"guestpath":"/home/vagrant/src","hostpath":"/home/rkomorn/src","disabled":false,"__vagrantfile":true},"/home/vagrant/presenter-src":{"guestpath":"/home/vagrant/presenter-src","hostpath":"/home/presenter/src","disabled":false,"__vagrantfile":true},"/vagrant":{"guestpath":"/vagrant","hostpath":"/home/rkomorn/vagrant","disabled":false,"__vagrantfile":true}}}
Ini bukan yang termudah untuk dibaca tetapi, dengan menggunakan terminologi python, label tampaknya menjadi kunci kamus bagian dalam, dengan / diterjemahkan ke _ (misalnya:kunci /home/vagrant/presenter-src menjadi label home_vagrant_presenter-src).
Saya sebenarnya tidak yakin mengapa gelandangan tidak hanya menggunakan /etc/fstab untuk folder bersama tapi saya rasa ada alasan bagus.