जवाबों:
योनि के साथ समय बिताने के बाद मुझे कस्टम बॉक्स के लिए समाधान मिला। सबसे पहले किसी भी Linux OS को libvirt / qvm में इनस्टॉल करें और कस्टमाइजेशन के लिए लॉगिन करें और vagrant
पासवर्ड के साथ यूजर बनाएंvagrant
adduser vagrant
vagrant
उपयोगकर्ता को पासवर्ड प्रॉम्प्ट के बिना sudo कमांड चलाने में सक्षम होना चाहिए
sudo visudo -f /etc/sudoers.d/vagrant
और पेस्ट करें
vagrant ALL=(ALL) NOPASSWD:ALL
जो कुछ भी आप अपने योनि बॉक्स को अनुकूलित करना चाहते हैं उसे करें और openssh-server
पहले से स्थापित नहीं होने पर स्थापित करें
sudo apt-get install -y openssh-server
योनि उपयोगकर्ता से ssh कुंजी रखो
mkdir -p /home/vagrant/.ssh
chmod 0700 /home/vagrant/.ssh
wget --no-check-certificate \
https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub \
-O /home/vagrant/.ssh/authorized_keys
chmod 0600 /home/vagrant/.ssh/authorized_keys
chown -R vagrant /home/vagrant/.ssh
खुला sudo vi /etc/ssh/sshd_config
और परिवर्तन
PubKeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
PermitEmptyPasswords no
PasswordAuthentication no
ssh सेवा का उपयोग करके पुनः आरंभ करें
sudo service ssh restart
उपकरण को ठीक से संकलित करने और स्थापित करने के लिए अतिरिक्त विकास पैकेज स्थापित करें
sudo apt-get install -y gcc build-essential linux-headers-server
कोई भी परिवर्तन जो आप चाहते हैं और VM को बंद करें। अब, मेजबान मशीन पर आओ, जिस पर अतिथि वीएम चल रहा है और गोटो /var/lib/libvirt/images/
और कच्ची छवि चुनें जिसमें आपने परिवर्तन किया है और उदाहरण के लिए कहीं कॉपी करें/test
cp /var/lib/libvirt/images/test.img /test
दो फ़ाइल बनाने metadata.json
और Vagrantfile
में /test
में करते प्रविष्टिmetadata.json
{
"provider" : "libvirt",
"format" : "qcow2",
"virtual_size" : 40
}
और में Vagrantfile
Vagrant.configure("2") do |config|
config.vm.provider :libvirt do |libvirt|
libvirt.driver = "kvm"
libvirt.host = 'localhost'
libvirt.uri = 'qemu:///system'
end
config.vm.define "new" do |custombox|
custombox.vm.box = "custombox"
custombox.vm.provider :libvirt do |test|
test.memory = 1024
test.cpus = 1
end
end
end
का उपयोग कर test.img को qcow2 प्रारूप में बदलें
sudo qemu-img convert -f raw -O qcow2 test.img ubuntu.qcow2
ubuntu.qcow2 को box.img में बदलें
mv ubuntu.qcow2 box.img
नोट: वर्तमान में, libvirt- योनि केवल qcow2 प्रारूप का समर्थन करता है। इसलिए, केवल बॉक्स का नाम बदलें प्रारूप को परिवर्तित न करें ।gg क्योंकि यह डिफ़ॉल्ट रूप से नाम box.img के साथ इनपुट लेता है।
बॉक्स बनाएँ
tar cvzf custom_box.box ./metadata.json ./Vagrantfile ./box.img
योनि में बॉक्स जोड़ें
vagrant box add --name custom custom_box.box
किसी भी डायरेक्टरी में जाएं जहां आप वैजाइनल को इनिशियलाइज़ करना चाहते हैं और कमांड बलो को रन करेंगे जो वैग्रेंट फाइल बनाएगा
vagrant init custom
योनि VM को कॉन्फ़िगर करना शुरू करें
vagrant up --provider=libvirt
का आनंद लें !!!
~/.vagrant.d/boxes/<name>/0/libvirt/