Files
my-docs/Vagrant/Commands.md
2025-11-26 14:29:12 +03:30

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
```