Как установить Vagrant в Linux
В этом уроке мы увидим, как установить Vagrant в операционных системах Linux. Установить Vagrant довольно просто! Все, что вам нужно сделать, это зайти на страницу загрузок Vagrant, взять подходящую предварительно скомпилированную двоичную версию для вашего дистрибутива Linux и установить ее так, как вы обычно устанавливаете другие приложения. Вы также можете установить Vagrant из репозиториев по умолчанию. Здесь я включил все возможные способы установки Vagrant на ваш компьютер с Linux.
1. Установите Vagrant в Linux
Vagrant доступен в официальных репозиториях большинства дистрибутивов Linux и Unix. Таким образом, мы можем установить vagrant, используя менеджеры пакетов по умолчанию.
Например, выполните следующую команду, чтобы установить Vagrant в Debian, Ubuntu, Linux Mint:
sudo apt install vagrant
В Федоре:
sudo dnf install vagrant
В SUSE/openSUSE:
sudo zypper install vagrant
Официальные версии в репозиториях могут быть сильно устаревшими. Если вам нужна самая последняя версия, перейдите на официальную страницу загрузок Vagrant и загрузите последнюю версию двоичного файла для вашей операционной системы Linux.
Например, если вы используете Debian и другие системы на базе Debian, такие как Ubuntu, просто загрузите версию .deb. На момент написания этого руководства последней версией была 2.2.10. Он доступен как для 32-битной, так и для 64-битной архитектуры.
После загрузки файла .deb перейдите в раздел загрузки и установите его, как показано ниже:
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
2. Установите гипервизоры
После установки Vagrant необходимо установить любые гипервизоры виртуализации, например VirtualBox или KVM. Потому что Vagrant не является отдельным программным обеспечением для виртуализации. Это всего лишь оболочка и интерфейс для других приложений виртуализации.
Vagrant изначально разработан для VirtualBox. Начиная с версии 1.1, команда vagrant расширила поддержку других популярных программ виртуализации и серверных сред, включая Aws, Azure, GCE, Docker, KVM, Proxmox, Openstack, Openvz, VMware и многие другие. Полный список поддерживаемых поставщиков/сред можно просмотреть здесь.
Для целей этого руководства я буду использовать Oracle VirtualBox. Потому что установка Virtualbox проста, а Vagrant использует VirtualBox в качестве поставщика по умолчанию.
Чтобы установить VirtualBox на Debain, Ubuntu, Linux Mint, выполните следующую команду:
sudo apt install virtualbox
Чтобы установить Virtualbox в Red Hat, CentOS, Fedora, запустите:
sudo dnf install virtualbox
Чтобы установить Virtualbox на SUSE/openSUSE, запустите:
sudo zypper install virtualbox
Если вы предпочитаете использовать KVM, вы можете следовать приведенным ниже инструкциям для его установки.
- Установка и настройка KVM на сервере CentOS 8
- Установка и настройка KVM на безголовом сервере Ubuntu 20.04
- Установка и настройка KVM в OpenSUSE Tumbleweed
3. Проверьте установку Vagrant.
Чтобы проверить, правильно ли установлен 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
[Or]
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
4. Обновите Бродягу
Если вы установили 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 выше.
Новые установщики правильно перезапишут и удалит старые файлы. Рекомендуется, чтобы во время процесса обновления не запускались никакие другие процессы Vagrant.
5. Устранение бродячих неполадок
Если вы запускаете несколько гипервизоров на одном хост-компьютере, при запуске виртуальной машины вы, вероятно, столкнетесь с ошибкой, подобной приведенной ниже:
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. Прочтите следующую статью, чтобы узнать, как использовать Vagrant для настройки виртуализированной среды, а также как создавать виртуальные машины и управлять ими с помощью Vagrant.
- Руководство по Vagrant. Начало работы с Vagrant