Установка VirtualBox на OpenSuSe 11.3
Привет возникла необходимость установить на линукс вирталбокс =))), что б работал USB и так приступим.
Оговорюсь сразу, речь пойдет об установке проприетарной версии VirtualBox, а не бесплатной. Бесплатная, она же "OSE" (Open Source Edition) содержит в себе ряд ограничений: нет поддержки USB, отсутствует встроенный RDP-сервер. Но зато установить ее проще простого: она по умолчанию входит в комплект всех современных популярных дистрибутивов. С другой стороны, проприетарная версия (она называется просто "VirtualBox", без "OSE") бесплатна только для личного использования и ознакомительных целей. Выпускается под лицензией PUEL.
Собственно, установка "небесплатной" версии мало чем отличается от установки открытой (OSE), поскольку на офсайте всегда можно скачать RPM-ку с последней версией приложения. Но есть два маленьких затыка:
- добрый дядя-мэнтейнер не собрал заранее модуль поддержки виртуализации для вашей версии ядра, и компилировать вам его придется самостоятельно;
- Из-за того, что VirtualBox использует usbfs для доступа к USB-устройствам, а запускается он (VirtualBox), как правило, от имени непривилегированного пользователя, то часто ему тупо не хватает прав и USB-устройства внутри виртуальных машин недоступны. С этим можно бороться, немного подправив fstab.
Итак, чтобы конкретно в OpenSuSe 11.3 установка "коммерческого" VirtualBox-а прошла без сучка и задоринки, необходимо проделать следующее.
- До установки VirtualBox-а убедиться в том, что в системе установлены пакеты "make", "gcc" и "kernel-devel" вместе со всеми их зависимостями. Если таковые отсутсвтуют, то нужно установить их. Они понадобятся для сборки модуля ядра.
- Собственно, скачать с офсайта RPM-ку, соответсвтующую архитектуре системы (i386 или amd64) и установить (к примеру, "rpm -Uvh VirtualBox-4.1-4.1.6_74713_openSUSE113-1.i586.rpm"). Во время установки init-скрипты автоматически попытаются осуществить сборку и загрузку модуля.
- Убедиться, что модуль "vboxdrv" успешно собрался и загрузился. Так, вывод "lsmod | grep vboxdrv" должен показывать что-то вроде
~> lsmod | grep vboxdrv
vboxdrv 1806531 2 vboxnetadp,vboxnetflt
- Дальше VirtualBox по сценарию должен был создать системную группу "vboxusers". Смотрим, какой gid присвоен этой группе. Например, так:
fol@beast:/> getent group vboxusers
vboxusers:!:123:
У меня он равен 123, у вас может быть другим.
- Идем в fstab (/etc/fstab) и если видим там строку вида
usbfs /proc/bus/usb usbfs noauto 0 0
то редактируем ее. Если нет, то добавляем так, это одна длинная строка:
none /proc/bus/usb usbfs auto,busgid=123,busmode=0775,devgid=123,devmode=664 0 0
где вместо числа "123" нужно подставить тот gid, который мы выяснили на шаге номер 4.
- Потом добавляем себя-любимого в группу "vboxusers". Иначе не сможем воспользоваться чудо-технологиями виртуализации.
usermod -A vboxusers fol
(Вместо "fol", разумеется, нужно подставить имя своей учетной записи.)
- Дальше придется либо полностью перезагрузить "реальный" компьютер (что проще), либо выйти-войти в систему (чтобы обновились привилегии для пользователя) плюс перемонтировать файловую систему usbfs (чтобы обновились права доступа). Все, можно пользоваться.
- Ура РАБОТАЕТ!!! =)))