160 lines
2.0 KiB
Markdown
160 lines
2.0 KiB
Markdown
# Vagrant Installation and Operations Guide (Debian/Ubuntu)
|
|
|
|
## 1. Install Vagrant on Debian/Ubuntu
|
|
|
|
Add the HashiCorp GPG key and repository, then install Vagrant:
|
|
|
|
```bash
|
|
wget -O - https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
|
|
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(grep -oP '(?<=UBUNTU_CODENAME=).*' /etc/os-release || lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
|
|
sudo apt update && sudo apt install vagrant
|
|
```
|
|
|
|
---
|
|
|
|
## 2. Project Setup
|
|
|
|
### Initialize a Vagrant Environment
|
|
|
|
```bash
|
|
vagrant init
|
|
```
|
|
|
|
### Initialize with a Specific Base Box
|
|
|
|
```bash
|
|
vagrant init ubuntu/focal64
|
|
```
|
|
|
|
---
|
|
|
|
## 3. Lifecycle Management
|
|
|
|
### Start and Provision the VM
|
|
|
|
```bash
|
|
vagrant up
|
|
```
|
|
|
|
### Stop the VM (Graceful Shutdown)
|
|
|
|
```bash
|
|
vagrant halt
|
|
```
|
|
|
|
### Force Stop (Power Off)
|
|
|
|
```bash
|
|
vagrant halt -f
|
|
```
|
|
|
|
### Reboot the VM
|
|
|
|
```bash
|
|
vagrant reload
|
|
```
|
|
|
|
### Reload and Re-Provision
|
|
|
|
```bash
|
|
vagrant reload --provision
|
|
```
|
|
|
|
---
|
|
|
|
## 4. Provisioning
|
|
|
|
### Run Provisioners Without Restarting
|
|
|
|
```bash
|
|
vagrant provision
|
|
```
|
|
|
|
---
|
|
|
|
## 5. Box Operations
|
|
|
|
### List Installed Boxes
|
|
|
|
```bash
|
|
vagrant box list
|
|
```
|
|
|
|
### Add a Box
|
|
|
|
```bash
|
|
vagrant box add ubuntu/focal64
|
|
```
|
|
|
|
### Remove a Box
|
|
|
|
```bash
|
|
vagrant box remove ubuntu/focal64
|
|
```
|
|
|
|
---
|
|
|
|
## 6. VM Management and Access
|
|
|
|
### SSH into the Machine
|
|
|
|
```bash
|
|
vagrant ssh
|
|
```
|
|
|
|
### Get SSH Configuration
|
|
|
|
```bash
|
|
vagrant ssh-config
|
|
```
|
|
|
|
### Check VM Status
|
|
|
|
```bash
|
|
vagrant status
|
|
```
|
|
|
|
### Show Machine Information
|
|
|
|
```bash
|
|
vagrant info
|
|
```
|
|
|
|
---
|
|
|
|
## 7. Cleanup
|
|
|
|
### Destroy a VM
|
|
|
|
```bash
|
|
vagrant destroy
|
|
```
|
|
|
|
### Destroy Without Confirmation
|
|
|
|
```bash
|
|
vagrant destroy -f
|
|
```
|
|
|
|
---
|
|
|
|
## 8. Synced Folder and Debugging
|
|
|
|
### View Global VM List
|
|
|
|
```bash
|
|
vagrant global-status
|
|
```
|
|
|
|
### Prune Stale Global Entries
|
|
|
|
```bash
|
|
vagrant global-status --prune
|
|
```
|
|
|
|
### Enable Debug Output
|
|
|
|
```bash
|
|
vagrant up --debug
|
|
```
|