po spędzeniu czasu z włóczęgą dostałem rozwiązanie dla niestandardowego pudełka. przede wszystkim zainstaluj dowolny system operacyjny Linux w libvirt / qvm i zaloguj się do niego w celu dostosowania i utwórz vagrant
użytkownika za pomocą hasłavagrant
adduser vagrant
vagrant
użytkownik powinien mieć możliwość uruchamiania poleceń sudo bez pytania o hasło
sudo visudo -f /etc/sudoers.d/vagrant
i wklej
vagrant ALL=(ALL) NOPASSWD:ALL
rób wszystko, co chcesz, aby dostosować swoje pudełko Vagrant i zainstaluj, openssh-server
jeśli nie zostało wcześniej zainstalowane
sudo apt-get install -y openssh-server
włóż klucz ssh od błędnego użytkownika
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
otwórz sudo vi /etc/ssh/sshd_config
i zmień
PubKeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
PermitEmptyPasswords no
PasswordAuthentication no
uruchom ponownie usługę ssh za pomocą
sudo service ssh restart
zainstaluj dodatkowe pakiety programistyczne dla narzędzi do prawidłowej kompilacji i instalacji
sudo apt-get install -y gcc build-essential linux-headers-server
wprowadź dowolne zmiany i zamknij maszynę wirtualną. teraz /var/lib/libvirt/images/
przejdź do komputera hosta, na którym działa VM maszyny-gościa, i wybierz surowy obraz, w którym dokonałeś zmiany, i skopiuj gdzieś na przykład/test
cp /var/lib/libvirt/images/test.img /test
utworzenie dwóch plików metadata.json
i Vagrantfile
w /test
wejściu turystycznemetadata.json
{
"provider" : "libvirt",
"format" : "qcow2",
"virtual_size" : 40
}
i w 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
przekonwertować test.img do formatu qcow2 przy użyciu
sudo qemu-img convert -f raw -O qcow2 test.img ubuntu.qcow2
zmień nazwę ubuntu.qcow2 na box.img
mv ubuntu.qcow2 box.img
Uwaga: obecnie libvirt-vagrant obsługuje tylko format qcow2. więc nie zmieniaj formatu, po prostu zmień nazwę na box.img. ponieważ domyślnie wymaga danych wejściowych o nazwie box.img.
utwórz pudełko
tar cvzf custom_box.box ./metadata.json ./Vagrantfile ./box.img
dodaj pole do włóczęgi
vagrant box add --name custom custom_box.box
przejdź do dowolnego katalogu, w którym chcesz zainicjować włóczęgę i uruchom poniższe polecenie, aby utworzyć plik włóczęgi
vagrant init custom
rozpocznij konfigurację wirtualnej maszyny wirtualnej
vagrant up --provider=libvirt
cieszyć się !!!