Después de pasar tiempo con vagabundo, obtuve la solución para la caja personalizada. En primer lugar, instale cualquier sistema operativo Linux en libvirt / qvm e inicie sesión para personalizarlo y cree un vagrant
usuario con contraseñavagrant
adduser vagrant
vagrant
el usuario debería poder ejecutar comandos sudo sin una solicitud de contraseña
sudo visudo -f /etc/sudoers.d/vagrant
y pegar
vagrant ALL=(ALL) NOPASSWD:ALL
haga lo que quiera para personalizar su caja de vagabundo e instálela openssh-server
si no se instaló previamente
sudo apt-get install -y openssh-server
poner clave ssh del usuario vagabundo
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
abrir sudo vi /etc/ssh/sshd_config
y cambiar
PubKeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
PermitEmptyPasswords no
PasswordAuthentication no
reiniciar el servicio ssh usando
sudo service ssh restart
Instalar paquetes de desarrollo adicionales para las herramientas para compilar e instalar correctamente
sudo apt-get install -y gcc build-essential linux-headers-server
realice cualquier cambio que desee y apague la VM. ahora, venga a la máquina host en la que se está ejecutando la máquina virtual invitada y vaya a /var/lib/libvirt/images/
y elija la imagen sin formato en la que realizó el cambio y copie en algún lugar, por ejemplo/test
cp /var/lib/libvirt/images/test.img /test
crear dos archivos metadata.json
y Vagrantfile
en /test
la entrada en Dometadata.json
{
"provider" : "libvirt",
"format" : "qcow2",
"virtual_size" : 40
}
y en 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
convertir test.img al formato qcow2 usando
sudo qemu-img convert -f raw -O qcow2 test.img ubuntu.qcow2
cambie el nombre de ubuntu.qcow2 a box.img
mv ubuntu.qcow2 box.img
Nota: actualmente, libvirt-vagrant solo admite el formato qcow2. por lo tanto, no cambie el formato, simplemente cambie el nombre a box.img. porque toma entrada con el nombre box.img por defecto.
crear caja
tar cvzf custom_box.box ./metadata.json ./Vagrantfile ./box.img
agregar caja a vagabundo
vagrant box add --name custom custom_box.box
vaya a cualquier directorio donde desee inicializar vagrant y ejecute el siguiente comando que creará el archivo Vagrant
vagrant init custom
comenzar a configurar VM vagabundo
vagrant up --provider=libvirt
disfruta !!!
~/.vagrant.d/boxes/<name>/0/libvirt/