Поиск по сайту:

Как установить 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

Статьи по данной тематике