プロビジョニング中にマシンが再起動されていることを Vagrant が知る方法はありません。
可能であれば、ここでの再起動を完全に回避することをお勧めします。たとえば、ベース ボックスを構築するときに、カーネルの更新が既に行われている必要があります。
もう 1 つの簡単な (しかしあまり便利ではない) 方法は、ログ出力またはドキュメント、または vagrant up && vagrant reload
を呼び出すラッパー スクリプトで処理することです。 .
最後に、プロビジョニング後に必要なすべてのマウントなどのアクションを Vagrant ミドルウェア スタックに挿入するプラグインを作成できますが、マシンが起動したことをプラグインに知らせる方法を考える必要があります。もう 1 つの課題は、これがプロバイダー固有のものになりやすいことです。
ファイルシステムを /etc/fstab に追加して、起動時にマウントできるはずです。
これが私の例です:
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
vagrant ディレクトリには .vagrant 隠しディレクトリがあり、そこに「synced_folders」ファイルへのパスが見つかるはずです (私の場合:/vagrant/.vagrant/machines/default/virtualbox/synced_folders
).
このファイルは、ラベルとそのマウント ポイントを理解するのに役立ちます:
{"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}}}
読むのは簡単ではありませんが、Python の用語を使用すると、ラベルは / を _ に変換した内部辞書のキーのように見えます (例:/home/vagrant/presenter-src キーは home_vagrant_presenter-src ラベルになりました)。
vagrant が共有フォルダーに /etc/fstab を使用しない理由は実際のところわかりませんが、それには十分な理由があると思います。