
2024-05-10
Как изменить директории хранения данных для vagrant и virtualbox linux
2023-11-03
Отличительной особенностью Vagrant + Virtualbox в сравнении с docker является то, что они съедают довольно много места на жестком диске, а также аллоцируют ресурсы системы изначально в моменте, а не постепенно, как это делает docker.
Сегодня речь пойдет о том как сделать так, чтоб vagrant и virtualbox хранили свои файлы на отдельном от операционной системы жестком диске. Допустим у вас есть ssd с операционной системой и ssd для работы с прочими файлами и программами. По-умолчанию Vagrant и Virtualbox будут хранить все свои файлы, которые могут весить десятки гигабайт на ssd с вашей операционной системой, что не очень хорошо. Итак, сейчас мы это изменим.
Первым делом разберемся с virtualbox, так как с ним немного проще. Заходим в интерфейс virtualbox и переходим в настройки:
В настройках выбираем "общие" и в "Папка для машин по умолчанию" указываем ту папку, где мы хотим, чтобы хранились файлы наших виртуальных машин.
Жмём "ОК" и на этом всё готово.
Но с Vagrant всё чуть более интересно. По-умолчанию Vagrant будет хранить свои образы в директории ~/.vagrant.d на ssd диске с операционной системой, что естественно довольно не хорошо. При этом у Vagrant есть переменная окружения, которая указывает ему где хранить образы.
Если вы уже запускали vagrant и у вас на ssd с операционкой уже есть папка .vagrant.d то сначала выполните команду
mv ~/.vagrant.d /ssd/.vagrant.d
Таким образом вы перенесёте уже существующие образы в директорию/ на тот диск, где бы вы хотели, чтобы оно хранилось. Если vagrant еще ни разу не запускался - то это действие можно пропустить.
Теперь вам необходимо изменить значение переменной окружения Vagrant по-умолчанию командой:
export VAGRANT_HOME=/ssd/.vagrant.d
Выполнив эту команду в терминале вы замените эту переменную только для текущей сессии терминала.
Чтобы настройка сохранилась на постоянную основу и не приходилось каждый раз повторять эту команду - можно использовать файл /home/имя_пользователя/.bashrc или .bash_profile.
Добавьте эту команду в конец файла с новой строки и тогда в каждой сессии терминала - это будет работать.
Также зачастую разработчики Vagrantfile могут хардкодить путь до папки ~/.vagrant.d где-то в настройках, указывая эту папку именно на ssd с операционной системой и в этом случае vagrant up или provision будут падать с ошибкой. Чтобы решить эту проблему - можно создать символическую ссылку из директории "хомяка" в новую директорию куда вы перенесли папку следующей командой:
ln -s /ssd/.vagrant.d ~/.vagrant.d
После выполнения команды у вас в папке /home/имя_пользователя должен появиться вот такая вот символическая ссылка, при клике на которую вас должно перебрасывать в вашу искомую новую директорию.
На этом всё. Теперь вы смогли освободить место на ssd с операционной системой, настроить Vagrant и Virtualbox так, чтобы они складывали свои тяжеловесные файлы в отдельное место и не мешали работе всей остальной части системы.
Ура! Я наконец-то дописал статью как собирать собственные бандлы на Symfony 6!!!
Статья про EasyAdmin всё ещё в процессе )))
Не, ну мне же надо на чем-то тестировать твиттер локальный...
Я тут еще много полезного буду выкладывать, так что заходите обязательно почитать.
Сайтик пока что в разработке - это далеко не окончательная версия - по сути это то что удалось слепить за 8 часов.
Комментарии