Состряпаем себе маленький мирок
К слову сказать я долго и упорно пытался поставить десктопную убунту, но у меня ничего не выходило даже после плясок с бубном. Вы будете смеяться, но или валился компиз или не получалось поставить дополнения для гостевой ОС. Поэтому решил попробовать хоть так)
Создание гостевой ОС
Если вы качнули новый диск, то вы можете его просто импортнуть, если это *.ova, либо придется его встраивать, как предустановленную систему, если это *.vdi. Тут могут возникнуть проблемы, связанные с тем, что вы встраиваете виртуальный диск в уже встроенную систему простым копированием файлов, но не тут то было: virtual box помнит все свои диски на основе хэша и вываливает такую ошибку:Код ошибки: E_INVALIDARG (0x80070057)Надо сначала удалить диск из под оболочки программы: VirtualBox → File → Virtual Media Manager. На вкладке Hard disks находим “сбойный” виртуальный жесткий диск и удаляем его
Компонент: VirtualBoxWrap
Интерфейс: IVirtualBox {0169423f-46b4-cde9-91af-1e9d5b6cd945}
Код ошибки метода: VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)
Настройка сети
Настраиваем по скринам:
Вообще это избыточное решение, но зато завелось сразу же. Обычно люди ставят нат, что бы быть полностью изолированными. Для обыденных вещей вполне подойдет подключение мост (bridged) и вот почему:
Для простоты запуска и отстановки, создадим где-нибудь пару батников:
Так же если расшаренный каталог постоянно монтируется в `/media/sf_share/`, а не в нужную вам директорию, то стоит проверить настройки на хост-системе:
зато при любом удобном случае всегда можно проверить идею.
В соединении типа "Сетевой мост" виртуальная машина работает также, как и все остальные компьютеры в сети. В этом случае адаптер выступает в роли моста между виртуальной и физической сетями. Со стороны внешней сети имеется возможность напрямую соединяться с гостевой операционной системойПосле этого загрузился и попросил показать все интерфейсы
sudo ifconfig -a
Обратите внимание на ключ. Смотрим в консоль, ищем нужный адаптер по маку. А теперь правим
sudo nano /etc/network/interfaces/где мне нужно было пописать:
auto eth1 iface eth1 inet static address 192.168.56.10 netmask 255.255.255.0Сразу же можно дернуть
/etc/init.d/networking restartа из под оси-хоста постучаться
ping 192.168.56.10Все должно заработать с пол-пинка. В заключение делаем:
sudo apt-get install openssh-server sudo shutdown -r nowЕсли же после всего проделанного, putty отвергает подключение, значит при перезагрузке слетели настройки сети и наго подправить или грохнуть правила в /etc/udev/rules.d/70-persistent-net.rules
Для простоты запуска и отстановки, создадим где-нибудь пару батников:
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm testbed --type headlessЭтот запускает без интерфейса
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" controlvm "testbed" poweroffЭто соответственно завершает.
Настройка гостевой ОС
Отлично, теперь бы поставить гостевые настройки. Для серверной убунты все казалось бы просто нужно просто примонтироватьsudo mount /dev/cdrom /media/cdromфайл (daemon-tool его можно отыскать тут С:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso) и запустить скрипт но у меня отвалилось из-за отсутствия зависимостей. Так и сказал:
Building the main Guest Additions module ...fail!И далее выше по консоли. Но все просто:делаем 3 простых шага:
sudo apt-get install -y dkms build-essential linux-headers-generic linux-headers-$(uname -r) sudo apt-get update --fix-missing # это если будут ошибки об установки gcc sudo /media/cdrom/VBoxLinuxAdditions.runОтлично, у нас есть 5 минут на перекур.
Общие папки
Теперь настроим общие папки, думаю у вас как минимум должны быть директория с проектами, иначе зачем вы все это затеяли? У меня это proj, который я указал в настройках виртуальной машины. Там же в интерфейсе дал ей название projs от избытка фантазии. Теперь смело можно сделать:sudo gpasswd -a mcgr0g vboxsf sudo mount -t vboxsf proj ~/proj/Крутота, но стоит еще прописать в автозагрузке `/etc/rc.local`:
mount -t vboxsf -o rw,uid=1000,gid=1000 proj /home/mcgr0g/projИ после запуска системы папка примонтируется к пользователю, а не к руту ( как если бы было ~/proj).
Проблемы при монтировании
Следует обратить внимание на то, что в скрипте автозагрузки не надо ставить закрывающий слэш.Так же если расшаренный каталог постоянно монтируется в `/media/sf_share/`, а не в нужную вам директорию, то стоит проверить настройки на хост-системе:
Напоследок
Ну а напоследок можно поставить веб-шелл, все равно это тестовая коробочка.зато при любом удобном случае всегда можно проверить идею.