Creació de boxes de vagrant de cada una de les 5 MVs creades
Crear boxes de Vagrant amb l’usuari vagrant
Què és Vagrant i una “box”
Vagrant: eina per gestionar màquines virtuals (VMs) de manera fàcil.
Box: és una plantilla de màquina virtual, ja configurada, que pots usar per crear noves VMs.
Exemple: una box pot ser Ubuntu 22.04 amb Python i Docker instal·lats.
VAGRANT CHEAT SHEET
# 1. Arrencar la màquina del projecte actual
vagrant up
# Engega la VM. Si no existeix, la crea a partir de la box configurada al Vagrantfile.
# 2. Apagar la màquina
vagrant halt
# Apaga la VM de manera segura sense eliminar-la.
# 3. Reiniciar la màquina
vagrant reload
# Reinicia la VM i aplica canvis del Vagrantfile
# 4. Destruir la màquina
vagrant destroy
# Elimina completament la VM creada pel projecte. No toca la box.
# Afegeix -f per forçar sense confirmació:
# 5. Veure l’estat de la màquina
vagrant status
# Mostra si la VM està running, poweroff o saved.
# 6. Connectar-se per SSH
vagrant ssh
# Et connecta a la VM.
# 7. Veure totes les boxes instal·lades
vagrant box list
# 8. Afegir una box nova
vagrant box add Nom_Box "C:\ruta\Nom_Box.box"
# 9. Esborrar una box
vagrant box remove Nom_Box
# 10. Empaquetar la màquina actual en una box
vagrant package --output "C:\ruta\Nom_Box.box"
# Crea un fitxer .box amb l’estat actual de la VM, que després pots afegir amb vagrant box add.
RockyLinux
Comprovar l’entorn
vagrant --version
vboxmanage --version Crear un directori per al teu projecte Vagrant
mkdir ~/vagrant-rocky
cd ~/vagrant-rocky Això crea un fitxer Vagrantfile.
El Vagrantfile és on definim la configuració de la VM (sistema operatiu, memòria, xarxa, etc).
Inicialitzar un Vagrantfile
vagrant init rocky/8 rocky/8→ Box pública de Rocky Linux 8.Aquesta comanda crea un fitxer
Vagrantfile.
Comprova que existeix. Hauries de veure Vagrantfile a la llista.
ls -l
Revisar i editar el Vagrantfile
vim Vagrantfile
Descarregar la box i aixecar la VM
vagrant up Aquesta comanda descarrega la box si no està local.
Aixeca la VM i configura xarxa i recursos.
Comprova l’estat:
vagrant status
W10
Per crear boxes:
Crea un directori temporal per empaquetar la box:
mkdir C:\VagrantBoxTemp
cd C:\VagrantBoxTemp
Crea un fitxer de configuració mínim de Vagrant (Vagrantfile) si cal:
Crea un fitxer anomenat Vagrantfile al directori actual.
Aquest fitxer és la configuració de la teva nova màquina Vagrant.
generic/ubuntu2004és la box de base que Vagrant utilitzarà per crear la màquina virtual.
vagrant init generic/ubuntu2004
Ara que tens el Vagrantfile:
vagrant up Vagrant descarregarà la box
generic/ubuntu2004si no la tens ja.Crearà una nova màquina virtual amb aquesta box.
Configurarà la VM segons el Vagrantfile (per defecte, només l’usuari
vagrantamb SSH).
Ara tindràs una màquina en funcionament dins de la teva VM (o Windows, depenent d’on estàs).
Veure les boxes a la màquina host (Windows)
vagrant box list
W2k19
Crea un directori temporal per empaquetar la box:
cd $env:USERPROFILE
mkdir vagrant-local
cd vagrant-local Afegir una box
vagrant box add ubuntu/jammy64 Comprova
vagrant box list
Inicialitzar
vagrant init ubuntu/jammy64
Ubuntu
Crear un directori per al teu projecte
mkdir ~/vagrant_test
cd ~/vagrant_test Afegir una box
Baixa una box oficial d’Ubuntu:
vagrant box add ubuntu/jammy64 Comprova:
vagrant box list
Debian
Creació d’un directori de treball
mkdir ~/vagrant_box
cd ~/vagrant_box Inicialització de la box
S’ha inicialitzat un Vagrantfile amb una box de Debian Bullseye:
vagrant init debian/bullseye64 Afegir la box oficial de Debian Bullseye:
vagrant box add debian/bullseye64 Després es pot comprovar amb:
vagrant box list
1. Creació de les 5 boxes (una per cada MV)
A cada màquina de VirtualBox s’executa:
vagrant package --base "Nom_VM" --output nom_vm.box
En el nostre cas:
vagrant package --base "debian" --output debian.box
vagrant package --base "rocky" --output rocky.box
vagrant package --base "ubuntu" --output ubuntu.box
vagrant package --base "w10client" --output w10client.box
vagrant package --base "w2k19" --output w2k19.box
Totes aquestes .box s’han de guardar en una carpeta, per exemple:
Box/
├── debian.box
├── rocky.box
├── ubuntumate.box
├── w10.box
└── w2k19.box
Compartir la carpeta amb els altres membres
scp -r /home/aborrego/Documents/Boxes nom_usuari@IP_DESTINACIÓ:/home/nom_usuari/Documents/
Cada membre afegeix les boxes al seu Vagrant
cd /home/nom_user/Documents/Box
vagrant box add --name debian debian.box
vagrant box add --name rocky rocky.box
vagrant box add --name ubuntu ubuntu.box
vagrant box add --name w10client w10client.box
vagrant box add --name w2k19 w2k19.box
Crear projecte i iniciar.
Per provar una de les boxes:
Crear carpeta de projecte:
mkdir prova_ubuntu
cd prova_ubuntu Inicialitzar Vagrant amb la box desitjada:
vagrant init ubuntu iniciar la VM:
vagrant up
Errors habituals durant vagrant up:
/vagrant no creadaThe following SSH command responded with a non-zero exit status.
mkdir -p /vagrant
Significat: Vagrant no pot crear la carpeta compartida
/vagrant.Solució: crear manualment dins la MV:
vagrant ssh
sudo mkdir -p /vagrant
sudo chown vagrant:vagrant /vagrant
exit
La VM funciona igual encara que aparegui aquest error
Com comprovar que pots treballar dins la MV
Entrar per SSH, Provar comandes dins la VM…
vagrant ssh
pwd
ls -la
whoami
mkdir ~/projecte
cd ~/projecte
Tot funciona encara que /vagrant no estigui disponible.