Коротко: Vagrant и VirtualBox по умолчанию едят место на системном диске; разбираем, как перенести их хранилища на отдельный диск в Linux.

По умолчанию Vagrant и VirtualBox складывают свои образы на тот же диск, где стоит ОС, — а это легко десятки гигабайт. Если у вас отдельный SSD под данные, файлы виртуалок логично перенести туда. Разберём, как переназначить директории хранения для обоих инструментов.

В отличие от Docker, Vagrant + VirtualBox занимают много места на диске и аллоцируют ресурсы системы сразу, а не постепенно. Поэтому держать их тяжёлые файлы на системном SSD — не лучшая идея. Сейчас это исправим.

Как сменить папку машин в VirtualBox?

С VirtualBox проще. Открываем интерфейс и переходим в настройки:

Окно Oracle VM VirtualBox Менеджер, стрелка указывает на кнопку Настройки на панели инструментовВ разделе «Общие» в поле «Папка для машин по умолчанию» указываем каталог, где должны храниться файлы виртуальных машин.

Настройки VirtualBox, раздел Общие: папка для машин по умолчанию /ssd/VirtualBox VMsЖмём «ОК» — готово.

Как перенести образы Vagrant на другой диск?

С Vagrant чуть интереснее. По умолчанию он хранит образы в ~/.vagrant.d на системном SSD, что тоже не очень хорошо. Но у Vagrant есть переменная окружения, задающая каталог хранения.

Если вы уже запускали Vagrant и папка .vagrant.d на системном диске существует — сначала перенесите её:

mv ~/.vagrant.d /ssd/.vagrant.d

Так вы перенесёте уже скачанные образы на нужный диск. Если Vagrant ещё ни разу не запускался — шаг можно пропустить.

Теперь меняем переменную окружения:

export VAGRANT_HOME=/ssd/.vagrant.d

Выполненная в терминале, эта команда поменяет переменную только для текущей сессии.

Чтобы настройка стала постоянной, добавьте эту строку в конец ~/.bashrc или ~/.bash_profile — тогда она будет применяться в каждой новой сессии терминала.

Иногда авторы Vagrantfile хардкодят путь ~/.vagrant.d где-то в настройках, жёстко указывая на системный SSD, — и тогда vagrant up или provision падают с ошибкой. Решение — символическая ссылка из домашней директории на новый каталог:

ln -s /ssd/.vagrant.d ~/.vagrant.d

После этого в /home/<имя_пользователя> появится символическая ссылка, по клику на которую вы попадёте в новый каталог.

Файловый менеджер домашней папки, стрелка указывает на символическую ссылку .vagrant.d

Готово. Вы освободили место на системном SSD и настроили Vagrant и VirtualBox так, чтобы их тяжёлые файлы лежали отдельно и не мешали остальной системе.