Debian 12 bookworm
Sponsored Link

Vagrant : Install2023/06/20

 
Install Vagrant that is wrapper tool for Virtualization software like Libvirt or VirtualBox and others.
Vagrant supports many Virtualization software like VirtualBox or Libvirt and others,
this example is based on the Libvirt installed environment.
[1] Install Vagrant.
root@dlp:~#
apt -y install vagrant-libvirt
# if use by common users, add them to [libvirt] group

root@dlp:~#
usermod -aG libvirt debian
[2] Basic usage of Vagrant. It's possible to use it by any common user.
# download and add virtual machine images
# for downloadable image, refer to the official site below
# ⇒ https://app.vagrantup.com/boxes/search

debian@dlp:~$
vagrant box add generic/debian11 --provider libvirt

==> box: Loading metadata for box 'generic/debian11'
    box: URL: https://vagrantcloud.com/generic/debian11
==> box: Adding box 'generic/debian11' (v4.2.16) for provider: libvirt
    box: Downloading: https://vagrantcloud.com/generic/boxes/debian11/versions/4.2.16/providers/libvirt.box
    box: Calculating and comparing box checksum...
==> box: Successfully added box 'generic/debian11' (v4.2.16) for 'libvirt'!

# initialize ([Vagrantfile] is created on the current path)

debian@dlp:~$
vagrant init generic/debian11

A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

# start virtual machine

debian@dlp:~$
vagrant up

Bringing machine 'default' up with 'libvirt' provider...
==> default: Checking if box 'generic/debian11' version '4.2.16' is up to date...
==> default: Uploading base box image as volume into Libvirt storage...
==> default: Creating image (snapshot of base box volume).
==> default: Creating domain with the following settings...
==> default:  -- Name:              debian_default
==> default:  -- Description:       Source: /home/debian/Vagrantfile
==> default:  -- Domain type:       kvm
==> default:  -- Cpus:              2
==> default:  -- Feature:           acpi
==> default:  -- Feature:           apic
==> default:  -- Feature:           pae
==> default:  -- Clock offset:      utc
==> default:  -- Memory:            2048M
==> default:  -- Base box:          generic/debian11
==> default:  -- Storage pool:      default
==> default:  -- Image(vda):        /var/lib/libvirt/images/debian_default.img, virtio, 128G
==> default:  -- Disk driver opts:  cache='default'
==> default:  -- Graphics Type:     vnc
==> default:  -- Video Type:        cirrus
==> default:  -- Video VRAM:        256
==> default:  -- Video 3D accel:    false
==> default:  -- Keymap:            en-us
==> default:  -- TPM Backend:       passthrough
==> default:  -- INPUT:             type=mouse, bus=ps2
==> default: Creating shared folders metadata...
==> default: Starting domain.
==> default: Domain launching with graphics connection settings...
==> default:  -- Graphics Port:      5900
==> default:  -- Graphics IP:        127.0.0.1
==> default:  -- Graphics Password:  Not defined
==> default:  -- Graphics Websocket: 5700
==> default: Waiting for domain to get an IP address...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 192.168.121.211:22
    default: SSH username: vagrant
    default: SSH auth method: private key
    default:
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default:
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!

# show state of virtual machine

debian@dlp:~$
vagrant status

Current machine states:

default                   running (libvirt)

The Libvirt domain is running. To stop this machine, you can run
`vagrant halt`. To destroy the machine, you can run `vagrant destroy`.

# connect to virtual machine with SSH

debian@dlp:~$
vagrant ssh


vagrant@debian11:~$ uname -a 
Linux debian11.localdomain 5.10.0-21-amd64 #1 SMP Debian 5.10.162-1 (2023-01-21) x86_64 GNU/Linux

vagrant@debian11:~$ exit 

# stop virtual machine

debian@dlp:~$
vagrant halt

==> default: Attempting graceful shutdown of VM...
# if you'd like to change settings of virtual machine, edit Vagrantfile

debian@dlp:~$
vi Vagrantfile
# for example to change CPU and Memory settings
# uncomment line 57 like follows and add or change values

  config.vm.provider "virtualbox" do |vb|
  #   # Display the VirtualBox GUI when booting the machine
  #   vb.gui = true
  #
  #   # Customize the amount of memory on the VM:
     vb.memory = "4096"
     vb.cpus = 2
  end
Matched Content