четверг, 10 мая 2012 г.

Работа с VirtualBox VM


Часто бывает, что для какого-то проекта нужна особая среда, например, Ruby, и проще настроить одну виртуальную машину и разослать ее всем разработчикам, чем настраивать каждому у себя.
В качестве гостевой машины рекомендую Ubuntu Server 12.04. Тут я пропущу описание процесса установки VirtualBox и самой системы. После успешной загрузки установленной системы сразу устанавливаем ssh сервер командой
sudo apt-get install openssh-server
Если он уже установлен, то ничего не произойдет. Через окно VirtualBox'а работать неудобно, поэтому выключаем машину и продолжаем настройку. Для этого надо открыть к ней доступ с основной системы. VirtualBox предоставляет много средств, вплоть до создания нового сетевого устройства с выделенным IP, но лучшим способом является проброс портов.

Проброс портов

В настройках  виртуальной машины ищем Сеть (Network). По умолчанию создается один сетевой интерфейс, который использует NAT. Его и  будем использовать. Разворачиваем "Дополнительно" (Advanced)
нажимаем "Проброс портов" и заполняем по примеру.

Как минимум надо настроить 2 порта - один для редактирования файлов (ssh/ftp), второй для просмотра результатов, обычно http. Кстати, это можно сделать из консоли, набрав
VBoxManage modifyvm senti --natpf1 "ssh,tcp,,3022,,22"
VBoxManage modifyvm senti --natpf1 "Ruby server,tcp,,3000,,3000"
где senti - имя виртуальной машины.
Главное здесь не выбрать зарезервированные порты, потому начинаем с 3000. 
Теперь настраиваем то, что хотели. Запускать созданную виртуалку можно через оконный VirtualBox Менеджер, но это не всегда удобно.

Запуск и остановка из командной строки

Чтоб лишнее окно Virtualbox'а не мешало или чтоб автоматизировать процесс можно использовать такие команды:
запуск
VBoxHeadless -s senti &
останов
VBoxManage controlvm senti poweroff


Подробнее, как настроить включение/выключение вместе с основной linux системой неплохо написано тут - Run a script on Startup / Shutdown in Linux

Почитать

http://www.virtualbox.org/manual/ch06.html
http://www.virtualbox.org/manual/ch07.html
http://www.virtualbox.org/manual/ch08.html
http://tombuntu.com/index.php/2008/12/17/configure-port-forwarding-to-a-virtualbox-guest-os/

Комментариев нет: