setelah menghabiskan waktu dengan gelandangan saya mendapat solusi untuk kotak kustom. pertama-tama instal OS Linux apa pun di libvirt / qvm dan login ke sana untuk penyesuaian dan buat vagrant
pengguna dengan kata sandivagrant
adduser vagrant
vagrant
pengguna harus dapat menjalankan perintah sudo tanpa prompt kata sandi
sudo visudo -f /etc/sudoers.d/vagrant
dan tempel
vagrant ALL=(ALL) NOPASSWD:ALL
lakukan apa pun yang ingin Anda sesuaikan kotak gelandangan Anda dan instal openssh-server
jika belum diinstal sebelumnya
sudo apt-get install -y openssh-server
menaruh kunci ssh dari pengguna gelandangan
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
buka sudo vi /etc/ssh/sshd_config
dan ubah
PubKeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
PermitEmptyPasswords no
PasswordAuthentication no
restart layanan ssh menggunakan
sudo service ssh restart
instal paket pengembangan tambahan untuk alat untuk dikompilasi dan diinstal dengan benar
sudo apt-get install -y gcc build-essential linux-headers-server
lakukan perubahan yang Anda inginkan dan matikan VM. sekarang, datang ke mesin host di mana tamu VM berjalan dan kebagian /var/lib/libvirt/images/
dan pilih gambar mentah di mana Anda melakukan perubahan dan menyalin di suatu tempat misalnya/test
cp /var/lib/libvirt/images/test.img /test
buat dua file metadata.json
dan Vagrantfile
di /test
lakukan entri dimetadata.json
{
"provider" : "libvirt",
"format" : "qcow2",
"virtual_size" : 40
}
dan masuk 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
konversi format test.img ke qcow2 menggunakan
sudo qemu-img convert -f raw -O qcow2 test.img ubuntu.qcow2
ganti nama ubuntu.qcow2 ke box.img
mv ubuntu.qcow2 box.img
Catatan: saat ini, libvirt-gelandangan hanya mendukung format qcow2. jadi, jangan ubah formatnya, ganti nama saja menjadi box.img. karena dibutuhkan input dengan nama box.img secara default.
buat kotak
tar cvzf custom_box.box ./metadata.json ./Vagrantfile ./box.img
tambahkan kotak ke gelandangan
vagrant box add --name custom custom_box.box
buka direktori mana pun di mana Anda ingin menginisialisasi vagrant dan jalankan perintah di bawah ini yang akan membuat file Vagrant
vagrant init custom
mulai mengkonfigurasi VM gelandangan
vagrant up --provider=libvirt
Nikmati !!!
~/.vagrant.d/boxes/<name>/0/libvirt/