🐧 Как установить Vagrant на Linux

by itisgood
В этом руководстве мы расмотрим, как установить Vagrant в операционных системах Linux.
Установить Vagrant довольно просто!
Все, что вам нужно сделать, это перейти на страницу скачивания Vagrant, взять подходящую предварительно скомпилированный бинарную версию для вашего дистрибутива Linux и установить ее так, как вы обычно устанавливаете другие приложения.
Вы также можете установить Vagrant из репозиториев по умолчанию.
Здесь я включил все возможные способы установки Vagrant на ваш Linux.

Установка 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-битной архитектуры.

После загрузки файла .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

Установка гипервизоров

После установки 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
Система вернет раздел помощи 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» выше.

Новые установщики будут правильно перезаписывать и удалять старые файлы.
Рекомендуется, чтобы в процессе обновления не выполнялись другие процессы 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. 

You may also like

Leave a Comment