витративши час із бродячим, я отримав рішення для власної коробки. Перш за все, встановіть будь-яку ОС Linux у 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
відкрити судо 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. тепер, перейдіть на хост-машину, на якій працює гостьовий 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-vagrant підтримує лише формат qcow2. тому не змінюйте формат, просто перейменуйте його на box.img. тому що він за замовчуванням займає введення з ім'ям box.img.
створити вікно
tar cvzf custom_box.box ./metadata.json ./Vagrantfile ./box.img
додати коробку до бродячого
vagrant box add --name custom custom_box.box
перейдіть до будь-якого каталогу, де ви хочете ініціалізувати бродягу та запустіть команду внизу, яка створить файл Vagrant
vagrant init custom
почати налаштування бродячого VM
vagrant up --provider=libvirt
насолоджуйся !!!