vagrant-libvirt/docs/index.markdown
Anabelle 284b52f57c
Fix broken links (#1756)
Four links on the doc-site's homepage are 404'ing because their
href/URI's fragment identifier is preceded with a /.

Removal of the extra slash fixes.

Closes: #1759
2023-08-15 11:09:11 +00:00

107 lines
3.3 KiB
Markdown

---
title: Quickstart
redirect_from:
- /home/
- /quickstart/
- /extras/
nav_order: 1
toc: true
---
Vagrant-libvirt is a [Vagrant](http://www.vagrantup.com) plugin that adds a
[Libvirt](http://libvirt.org) provider to Vagrant, allowing Vagrant to
control and provision machines via Libvirt toolkit.
{: .info }
Actual version is still a development one. Feedback is welcome and
can help a lot :-)
## Prerequisites
Vagrant-libvirt requires the following:
* Vagrant
* Libvirt (and QEMU)
* GCC and Make (if not using vagrant from your distribution)
{: .warn }
Before you start using vagrant-libvirt, please make sure your Libvirt
and QEMU installation is working correctly and you are able to create QEMU or
KVM type virtual machines with `virsh` or `virt-manager`.
See [Requirements]({{ '/installation#requirements' | relative_url }}) for guides and details.
## Installation
1. Install Vagrant, Libvirt and QEMU for your distribution
* Ubuntu
```
sudo apt-get purge vagrant-libvirt
sudo apt-mark hold vagrant-libvirt
sudo apt-get update && \
sudo apt-get install -y qemu libvirt-daemon-system ebtables libguestfs-tools \
vagrant ruby-fog-libvirt
```
* Fedora
```
sudo dnf remove vagrant-libvirt
sudo sed -i \
'/^\(exclude=.*\)/ {/vagrant-libvirt/! s//\1 vagrant-libvirt/;:a;n;ba;q}; $aexclude=vagrant-libvirt' \
/etc/dnf/dnf.conf
vagrant_libvirt_deps=($(sudo dnf repoquery --disableexcludes main --depends vagrant-libvirt 2>/dev/null | cut -d' ' -f1))
dependencies=$(sudo dnf repoquery --qf "%{name}" ${vagrant_libvirt_deps[@]/#/--whatprovides })
sudo dnf install --assumeyes @virtualization ${dependencies}
```
2. Install the latest release of vagrant-libvirt
```
vagrant plugin install vagrant-libvirt
```
If you encounter any errors during this process, check that you have installed all the prerequisites in [Requirements]({{ '/installation#requirements' | relative_url }}).
If you still have issues, see [Troubleshooting]({{ '/troubleshooting#installation-problems' | relative_url }}).
{: .info }
Installation varies based on your operating system or use of upstream vagrant. See our [guides]({{ '/installation#guides' | relative_url }}) for OS-specific instructions.
## Initial Project Creation
After installing the plugin (instructions above), the quickest way to get
started is to add Libvirt box and specify all the details manually within a
`config.vm.provider` block. So first, add Libvirt box using any name you want.
You can find more Libvirt-ready boxes at
[Vagrant Cloud](https://app.vagrantup.com/boxes/search?provider=libvirt). For
example:
```shell
vagrant init fedora/36-cloud-base
```
Or make a Vagrantfile that looks like the following, filling in your
information where necessary. For example:
```ruby
Vagrant.configure("2") do |config|
config.vm.define :test_vm do |test_vm|
test_vm.vm.box = "fedora/36-cloud-base"
end
end
```
## Start VM
In prepared project directory, run following command:
```shell
$ vagrant up --provider=libvirt
```
Vagrant needs to know that we want to use Libvirt and not default VirtualBox.
That's why there is `--provider=libvirt` option specified. Other way to tell
Vagrant to use Libvirt provider is to setup environment variable
```shell
export VAGRANT_DEFAULT_PROVIDER=libvirt
```