यहां नवजात शिशु के सापेक्ष, हर बार जब मैं एक नया उबंटू वीएम स्पिन करना चाहता हूं, तो मैन्युअल रूप से इंस्टॉल प्रक्रिया से गुजरने की कोशिश कर रहा हूं।
मेरी सामान्य प्रक्रिया, इंस्टॉल पूरा करने के बाद, मशीन के सभी सॉफ्टवेयर को अपडेट करना है , apt-get update
और apt-get dist-upgrade -y
फिर सभी अपग्रेड प्रभाव को सुनिश्चित करने के लिए इसे रिबूट करना है। उस अंत तक, मैंने वैग्रांटफाइल को इस तरह बनाया:
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.provider "virtualbox" do |vb|
vb.memory = "4096"
end
config.vm.provision "shell", inline: <<-SHELL
apt-get update
apt-get dist-upgrade -y
shutdown -r now
SHELL
end
यह ज्यादातर काम करता है - मैं वीएम से आउटपुट को पैकेज अपडेट के रूप में देख सकता हूं - लेकिन इसके रिबूट होने के बाद और मैं vagrant ssh
इसमें, मेरी कोई भी फाइल सामने नहीं आई /vagrant
। मैं मान रहा हूं कि साझा किए गए फ़ोल्डर को किसी कारण से हटाया नहीं जा रहा है।
मुझे लगता है कि मेरा पहला सवाल यह है: क्या यह इस तरह से सिस्टम को अपडेट करने के लिए समझ में आता है कि शेल प्रोलेक्टर का हिस्सा है? और यदि हां, तो मैं अतिथि को कैसे रिबूट कर सकता हूं और अभी भी /vagrant
शेयर माउंट है?
vagrant provision
कमांड पूरा होने के बाद चलाया जाएगा । पहले प्रावधान किए जाने के बाद यह नहीं चलेगाvagrant up
। (देखें: github.com/hashicorp/vagrant/issues/10480 )