База знаний

www. IT-Mehanika .ru --  журнал доброго админа

Виртуальная зарядка для танкистов или виртуалка как служба на Ubuntu Server

Статья не претендует на супер-пупер уникальность, делалась что бы не забыть и помочь таким танкистам как я установить VirtualBox как службу на Ubuntu Server:) За четыре упражнения этой зарядки дополз до финала. Спасибо всем интернет авторам из статей которых я выдирал кусочки.

делай раз :

nano /etc/apt/sources.list

вставить строку

deb http://download.virtualbox.org/virtualbox/debian maverick contrib non-free

# или свой дистриб - смотри строки на https://www.virtualbox.org/wiki/Linux_Downloads

зацепить ключик :

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

обновить и установить :

sudo apt-get update

sudo apt-get install virtualbox-4.1

 

 

делай два :

создаем пользователя vbuser (нефиг от рута запускать)

useradd vbuser -m -U

passwd vbuser

usermod -a -G virtualbox vbuser

делай три :

цепляемся со своей машины и ставим патчик для USB 2.0:

скачиваем с сайта Oracle_VM_VirtualBox_Extension_Pack-4.1.8-75467.vbox-extpack и кладем в папочку /home/vbuser

со своей машины в терминале набираем

ssh -X root@<ваш сервер> 'VirtualBox /home/vbuser/Oracle_VM_VirtualBox_Extension_Pack-4.1.8-75467.vbox-extpack'

поставилось, закрыли.

теперь просто открываем сеанс и создаем виртуальную машину ssh -X vbuser@<ваш сервер> 'VirtualBox'

у меня winsrv. Создали, сохранили, установили ОС и вышли.

Делай четыре:

Создаем файлик для запуска. Пусть после загрузки виртуалка winsrv (можете свое имя придумать) последней стартует и выключается при выключении сервера

nano /etc/init.d/startvm

вставляем :

#!/bin/sh

. /lib/lsb/init-functions

 

# Perform start of Slave's virtual machine with delay 2 minutes

perform_start()

{

log_daemon_msg "Starting Vbox Slave machine"

sleep 60 && su -l -c "VBoxHeadless -s winsrv &" vbuser

log_end_msg 0

return 0

}

 

# Send POWEROFF ACPI signal for Slave's virtual machine

perform_save()

{

log_daemon_msg "Sending ACPI POWER OFF signal for Vbox Slave machine"

su -l -c "VBoxManage controlvm winsrv poweroff" vbuser

log_end_msg 0

return 0

}

perform_status()

{

su -l -c "VBoxManage list runningvms"

return 0

}

 

case "$1" in

start)

perform_start

;;

stop)

perform_save

;;

status)

perform_status

;;

*)

echo "Usage: /etc/init.d/startvm {start|stop|status}"

exit 3

;;

esac

 

далее заставляем скрипт запускаться при старте последним и первым при выключении.

chmod 0777 /etc/init.d/startvm

update-rc.d startvm start 99 2 3 4 5 . stop 01 0 1 6 .

Водные процедуры (можно с пивом)

я так понимаю что машину вы создали, гостевую ОС установили. теперь тестим скрипт

/etc/init.d/startvm status. Видим пусто. Если нет - выдаст список работающих машин.

/etc/init.d/startvm start - минуту думаем и запускается ваша машина.

Дальше цепляйтесь к ней как угодно. В смысле как у вас настроено :)

You have no rights to post comments