Установка Vagrant на Linux
Vagrant доступен в официальных репозиториях большинства дистрибутивов Linux и Unix.
Таким образом, мы можем установить vagrant, используя менеджеры пакетов по умолчанию.
Например, выполните следующую команду, чтобы установить Vagrant на Debian, Ubuntu, Linux Mint:
$ sudo apt install vagrant
На Fedora:
$ sudo dnf install vagrant
На SUSE/openSUSE:
$ sudo zypper install vagrant
Официальные версии в репозиториях могут быть очень устаревшими.
Если вам нужна самая последняя версия, перейдите на официальную страницу скачивания Vagrant и загрузите последний бинарник для своей операционной системы Linux.
Например, если вы используете Debian и другие системы на основе Debian, такие как Ubuntu, просто скачайте версию пакета .deb.
На момент написания этого руководства последней версией была 2.2.10.
Он доступен как для 32-битной, так и для 64-битной архитектуры.
$ sudo apt install gdebi
$ sudo gdebi vagrant_2.2.10_x86_64.deb
Здесь я использовал gdebi потому, что он автоматически устанавливает необходимые зависимости.
Если вы скачали файл .rpm, вы можете установить его с помощью команды:
$ sudo dnf localinstall vagrant_2.2.10_x86_64.rpm
или
$ sudo yum localinstall vagrant_2.2.10_x86_64.rpm
Установка гипервизоров
После установки Vagrant вам необходимо установить любые гипервизоры виртуализации, например VirtualBox или KVM.
Потому что Vagrant не является отдельной программой для виртуализации.
Это просто оболочка и интерфейс для других приложений виртуализации.
Vagrant изначально разрабатывался для VirtualBox.
Начиная с версии 1.1, команда Vagrant3 расширила свою поддержку другого популярного программного обеспечения для виртуализации и серверных сред, включая Aws, Azure, GCE, Docker, KVM, Proxmox, Openstack, Openvz, VMware и многих других.
Вы можете просмотреть полный список поддерживаемых провайдеров / сред тут:
https://github.com/hashicorp/vagrant/wiki/Available-Vagrant-Plugins#providers
В этом руководстве я собираюсь использовать Oracle VirtualBox.
Потому что установить Virtualbox легко, и Vagrant использует VirtualBox в качестве поставщика по умолчанию.
Чтобы установить VirtualBox на Debian, Ubuntu, Linux Mint, выполните следующую команду:
$ sudo apt install virtualbox
Чтобы установить Virtualbox на Red Hat, CentOS, Fedora, запустите:
$ sudo dnf install virtualbox
Чтобы установить Virtualbox в SUSE / openSUSE, запустите:
$ sudo zypper install virtualbox
Проверьте установку Vagrant
Чтобы проверить, правильно ли установлен Vagrant, просто запустите его без каких-либо опций в терминале:
$ vagrant
Usage: vagrant [options] <command> [<args>]
-h, --help Print this help.
Common commands:
box manages boxes: installation, removal, etc.
cloud manages everything related to Vagrant Cloud
destroy stops and deletes all traces of the vagrant machine
global-status outputs status Vagrant environments for this user
halt stops the vagrant machine
help shows the help for a subcommand
init initializes a new Vagrant environment by creating a Vagrantfile
login
package packages a running vagrant environment into a box
plugin manages plugins: install, uninstall, update, etc.
port displays information about guest port mappings
powershell connects to machine via powershell remoting
provision provisions the vagrant machine
push deploys code in this environment to a configured destination
rdp connects to machine via RDP
reload restarts vagrant machine, loads new Vagrantfile configuration
resume resume a suspended vagrant machine
snapshot manages snapshots: saving, restoring, etc.
ssh connects to machine via SSH
ssh-config outputs OpenSSH valid configuration to connect to the machine
status outputs status of the vagrant machine
suspend suspends the machine
up starts and provisions the vagrant environment
upload upload to machine via communicator
validate validates the Vagrantfile
version prints current and latest Vagrant version
winrm executes commands on a machine via WinRM
winrm-config outputs WinRM configuration to connect to the machine
For help on any individual command run `vagrant COMMAND -h`
Additional subcommands are available, but are either more advanced
or not commonly used. To see all subcommands, run the command
`vagrant list-commands`.
--[no-]color Enable or disable color output
--machine-readable Enable machine readable output
-v, --version Display Vagrant version
--debug Enable debug output
--timestamp Enable timestamps on log output
--debug-timestamp Enable debug output with timestamps
--no-tty Enable non-interactive output
Вы также можете использовать параметр -h или –help, чтобы вызвать раздел справки.
$ vagrant --help
или
$ vagrant -h
Чтобы получить справку по отдельным командам, запустите:
$ vagrant <COMMAND-NAME> -h
Чтобы просмотреть версию Vagrant, запустите:
$ vagrant version
Installed Version: 2.2.10
Latest Version: 2.2.10
You're running an up-to-date version of Vagrant!
или
$ vagrant -v Vagrant 2.2.10
Обновление Vagrant
Если вы установили Vagrant из официальных репозиториев с помощью диспетчера пакетов дистрибутива, вы можете просто обновить Vagrant до более новой версии, обновив свою систему.
Например, в системах на основе Debian следующие команды обновят Vagrant до более новой версии:
$ sudo apt update
$ sudo apt upgrade
В системах на основе RPM, таких как RHEL, CentOS, выполните:
$ sudo yum update
на,
$ sudo dnf update
на SUSE/openSUSE:
$ sudo zypper update
Если вы загрузили и установили Vagrant вручную, просто загрузите новую версию с официальной страницы загрузки Vagrant и установите ее, как описано в разделе «Установка Vagrant» выше.
Исправление проблем
Если вы запускаете несколько гипервизоров на одном хост-компьютере, вы, вероятно, столкнетесь с ошибкой, подобной приведенной ниже, при запуске виртуальной машины:
There was an error while executing `VBoxManage`, a CLI used by Vagrant for controlling VirtualBox. The command and stderr is shown below.
Command: ["startvm", <ID of the VM>, "--type", "headless"]
Stderr: VBoxManage: error: VT-x is being used by another hypervisor (VERR_VMX_IN_VMX_ROOT_MODE).
VBoxManage: error: VirtualBox can't operate in VMX root mode. Please disable the KVM kernel extension, recompile your kernel and reboot
(VERR_VMX_IN_VMX_ROOT_MODE)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component ConsoleWrap, interface IConsole
Эта ошибка возникает из-за того, что в настоящее время используется другой гипервизор, например KVM.
Чтобы исправить эту ошибку, вам может потребоваться временно заблокировать этот гипервизор.
Найдите модуль KVM с помощью команды:
$ lsmod | grep kvm
Если ваша хост-система – Intel, вы получите следующий результат:
kvm_intel 282624 0
kvm 663552 1 kvm_intel
Если это AMD, вы получите вместо этого:
kvm_intel 282624 0
kvm 663552 1 kvm_amd
Теперь заблокируйте модуль KVM с помощью команды:
$ echo 'blacklist kvm-intel' >> /etc/modprobe.d/blacklist.conf
Введите «kvm-amd» в приведенной выше команде, если ваш процессор AMD.
Перезагрузите систему и попробуйте снова запустить Vagrant.
На этот раз виртуальная машина запустится без проблем.
Вот и все.
Мы успешно установили Vagrant на Linux.