Гид по технологиям

Vagrant на Ubuntu 20.04 — установка с VirtualBox

• 5 min read • DevOps • Обновлено 25 Nov 2025
Vagrant на Ubuntu 20.04 — установка с VirtualBox
Vagrant на Ubuntu 20.04 — установка с VirtualBox

Схематичное изображение виртуальной машины и инструментов автоматизации

Vagrant — это инструментарий командной строки для создания и управления виртуальными машинами. Для работы Vagrant требуется гипervisор: VirtualBox, Hyper-V, Docker, KVM или VMware (через плагины). Чаще всего Vagrant используют для быстрого разворачивания воспроизводимых сред разработки.

В этой статье описаны шаги установки Vagrant на Ubuntu 20.04 с использованием VirtualBox в качестве гипervisора и пример создания виртуальной машины CentOS 8 через Vagrant.

Что нужно подготовить

  • Ubuntu 20.04 с доступом к пользователю с sudo.
  • Подключение к интернету для загрузки пакетов и box’ов Vagrant.
  • Место на диске минимум 5–10 ГБ для образов и машин (зависит от box и данных).

Важно: Если вы используете окружение с аппаратной виртуализацией отключённой в BIOS/UEFI, VirtualBox может не работать корректно.

Установка VirtualBox

Откройте терминал (Ctrl+Alt+T) и обновите списки пакетов:

$ sudo apt update

Затем установите VirtualBox:

$ sudo apt install virtualbox

Система может запросить подтверждение установки — введите Y и нажмите Enter. Установка может занять несколько минут в зависимости от скорости сети и компьютера.

Скриншот установки VirtualBox в терминале

После установки проверьте приложение в списке установленных программ — должно появиться приложение VirtualBox:

Иконка VirtualBox в списке приложений Ubuntu

Если приложение видно в меню, VirtualBox установлен успешно.

Установка Vagrant

Установите Vagrant через apt:

$ sudo apt install vagrant

Подтвердите установку при запросе (Y) и дождитесь завершения. Затем проверьте установленную версию:

$ vagrant --version

Скриншот процесса установки Vagrant в терминале

Вы увидите строку с номером версии, например: vagrant 2.x.x.

Создание виртуальной машины CentOS 8 через Vagrant

  1. Создайте каталог для проекта и перейдите в него:
$ mkdir ~/my-vagrant-project
$ cd ~/my-vagrant-project
  1. Инициализируйте Vagrant-проект с использованием публичного box’а centos/8:
$ vagrant init centos/8

Это создаст файл Vagrantfile в текущей папке. Откройте его текстовым редактором, чтобы при необходимости внести изменения (настройка провайдеров, порты, синхронизация папок).

  1. Поднимите машину:
$ vagrant up

Команда загрузит box (если он ещё не скачан), создаст и запустит виртуальную машину в VirtualBox.

Vagrant автоматически примонтирует текущую директорию проекта в гостевой системе по пути /vagrant.

  1. Подключитесь по SSH к машине:
$ vagrant ssh
  1. Остановить виртуальную машину:
$ vagrant halt
  1. Удалить созданную виртуальную машину и освободить ресурсы:
$ vagrant destroy

Быстрая шпаргалка команд Vagrant

  • vagrant init — инициализировать проект
  • vagrant up — создать и запустить VM
  • vagrant ssh — подключиться по SSH
  • vagrant halt — остановить VM
  • vagrant suspend — приостановить VM (сохранить состояние)
  • vagrant resume — возобновить приостановленную VM
  • vagrant destroy — удалить VM
  • vagrant box list — список локальных box’ов
  • vagrant box add — добавить box локально
  • vagrant status — статус VM

Советы по настройке Vagrantfile

  • Для выбора провайдера VirtualBox добавьте в Vagrantfile блок:
Vagrant.configure("2") do |config|
  config.vm.box = "centos/8"
  config.vm.provider "virtualbox" do |vb|
    vb.memory = 2048
    vb.cpus = 2
  end
end
  • Для синхронизации других папок используйте config.vm.synced_folder.
  • Для проброса портов: config.vm.network “forwarded_port”, guest: 80, host: 8080.

Отладка и типичные проблемы

Важно: Если vagrant up зависает на этапе провайдера или не может создать VM, проверьте логи VirtualBox и права доступа.

  1. Проблема: Vagrant не может найти провайдер VirtualBox
  • Убедитесь, что VirtualBox установлен и доступен в PATH.
  • Проверьте, что версия VirtualBox совместима с версией Vagrant.
  1. Проблема: Ошибка при загрузке box
  • Можно вручную скачать box через vagrant box add <имя> .
  • Проверьте сетевой доступ и прокси-настройки.
  1. Проблема: Ошибки привилегий при монтировании папки /vagrant
  • На хосте под NFS/SMB проверьте конфигурацию NFS/SMB и права доступа.
  1. Проблема: SSH не подключается
  • Запустите vagrant ssh-config, проверьте ключи и порт.
  • Иногда помогает vagrant reload.

Когда Vagrant не подходит (контрпример)

  • Если цель — легковесные изолированные контейнеры для продакшн‑деплоймента — лучше использовать Docker.
  • Для сложных продакшн‑виртуализаций под KVM/QEMU имеет смысл работать напрямую с tools для libvirt.

Альтернативные подходы

  • Docker + docker-compose — быстрые контейнерные окружения, меньшие накладные расходы.
  • Multipass (для Ubuntu) — простое управление VM под разработку.
  • Terraform + Packer — полноценная автоматизация создания образов и развёртывания в облаках.

Рекомендации по производительности

  • Выделяйте минимум 2 ГБ RAM для гостевой ОС CentOS 8, лучше 4 ГБ для комфортной работы.
  • Отключите ненужные GUI‑настройки в гостевой ОС, используйте headless режим, если работаете через SSH.

Роли и чеклист перед запуском проекта

Для разработчика:

  • Установить VirtualBox и Vagrant.
  • Клонировать репозиторий с Vagrantfile.
  • Запустить vagrant up и проверить приложение.

Для инженера DevOps:

  • Проверить совместимость версий VirtualBox и Vagrant.
  • Настроить provision (Ansible/Chef/Puppet) в Vagrantfile.
  • Добавить CI шаги для проверки reproducibility.

Мини‑методология разворачивания проекта

  1. Создать репозиторий с Vagrantfile и provision-скриптами.
  2. Установить Vagrant и провайдера (VirtualBox).
  3. Прогнать локальную сборку vagrant up и выполнить smoke tests.
  4. Зафиксировать используемые версии box и провайдера в документации.

Команды для удаления Vagrant

Чтобы полностью удалить Vagrant с Ubuntu 20.04:

$ sudo apt-get remove --auto-remove vagrant

Система запросит пароль sudo и подтверждение удаления. Этот шаг удалит пакет Vagrant, но оставит локальные проектные директории и скачанные box’ы в ~/.vagrant.d/boxes, если вы не удалите их вручную.

Важно: Для чистой деинсталляции удалите также каталоги проектов и ~/.vagrant.d, если они больше не нужны.

Краткий словарь терминов

  • Box — предварительно созданный образ гостевой ОС для Vagrant.
  • Provider — платформа виртуализации (VirtualBox, VMware, KVM и т.д.).
  • Vagrantfile — конфигурационный файл проекта Vagrant.

Пример маршрута принятия решения

flowchart TD
  A[Нужна локальная среда разработки?] -->|Да| B{Лёгкая или тяжёлая среда}
  B -->|Лёгкая| C[Docker]
  B -->|Тяжёлая/GUI/полная ОС| D[Vagrant + VirtualBox]
  A -->|Нет| E[Использовать облачные сервисы]

Контрольные сценарии (тесты приёмки)

  • vagrant up успешно завершает процесс без ошибок.
  • vagrant ssh позволяет подключиться и выполнить команду uname -a в гостевой системе.
  • Проектная директория доступна внутри гостя по /vagrant и изменения файлов синхронизируются.

Резюме

В статье показано, как установить VirtualBox и Vagrant на Ubuntu 20.04, создать Vagrant‑проект и развернуть CentOS 8 внутри VirtualBox. Приведены основные команды, советы по настройке Vagrantfile и рекомендации по отладке. Для лёгких контейнерных сценариев стоит рассмотреть Docker, а для более сложной автоматизации — Terraform/Packer.

Важно: сохраняйте Vagrantfile и скрипты настройки в системе контроля версий — это гарантирует воспроизводимость окружений.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро