да и просто из-за того что офигеть как странно работал на анстейбле попробовал
в качестве системы виртуализации VirtualBox и мне очень понравилось, да так что решил оставить все это дело на сервере.
Так как это сервер то естественно возникла потребность, чтобы все виртуалки поднимались автоматически после ребута, а так же чтобы ими можно было управлять через
/etc/init.d/ как и любым нормальным демоном.
Недолго покурил примеры runscript и заделал вот такую штуку
#!/sbin/runscript # polovinamozga.blogspot.com depend() { use dns logger need net provide cron } start() { ebegin "Starting VBox" /bin/su -l -c "/opt/bin/VBoxManage startvm xp --type headless" user /bin/su -l -c "/opt/bin/VBoxManage startvm ubuntu --type headless" user /bin/su -l -c "/opt/bin/VBoxManage startvm freebsd --type headless" user eend $? } stop() { ebegin "Stopping VBox" /bin/su -l -c "/opt/bin/VBoxManage controlvm xp savestate" user /bin/su -l -c "/opt/bin/VBoxManage controlvm ubuntu savestate" user /bin/su -l -c "/opt/bin/VBoxManage controlvm freebsd savestate" user eend $? }
А теперь по пунктам, что вся эта черная магия значит.
depend() { use dns logger need net provide cron }Говорит о том что нужно запускать когда включилась сеть, работает логгер,крон это если совсем вкртаце, кто хочет
большего то лучше наверное почитать что пишут по этому поводу на официальном сайте генты.
start() { ebegin "Starting VBox" /bin/su -l -c "/opt/bin/VBoxManage startvm xp --type headless" user /bin/su -l -c "/opt/bin/VBoxManage startvm ubuntu --type headless" user /bin/su -l -c "/opt/bin/VBoxManage startvm freebsd --type headless" user eend $? }
Так как виртуалбокс мы не будем запускать от рута в целях безопасности и по причинам особенностей разбиение дисков
то естественно его нужно запускать от пользователя итак :
/bin/su -l -c "/opt/bin/VBoxManage startvm xp --type headless" user
В переводе на русский означает:
запустить su с логином пользователя передав команду /opt/bin/VBoxManage startvm xp --type headless
Команда эта означает что нужно запустить виртуальную машину без окна.
Потом делаем chmod +x /etc/init.d/vbox
и rc-update add vbox default
И теперь у нас после перезапуска системы стартует демон виртуабокса.
Комментариев нет:
Отправить комментарий