{"id":47,"date":"2016-02-25T14:42:23","date_gmt":"2016-02-25T08:42:23","guid":{"rendered":"http:\/\/altai22.ru\/?p=47"},"modified":"2016-02-25T14:42:23","modified_gmt":"2016-02-25T08:42:23","slug":"rc-d-%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82-%d0%b0%d0%b2%d1%82%d0%be%d0%b7%d0%b0%d0%bf%d1%83%d1%81%d0%ba%d0%b0-virtualbox-%d0%b4%d0%bb%d1%8f-freebsd","status":"publish","type":"post","link":"https:\/\/altai22.ru\/?p=47","title":{"rendered":"rc.d \u0441\u043a\u0440\u0438\u043f\u0442 \u0430\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a\u0430 Virtualbox \u0434\u043b\u044f FreeBSD"},"content":{"rendered":"<p>\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d.<\/p>\n<p><!--more--><\/p>\n<p>\u0412\u0430\u0440\u0438\u0430\u043d\u0442 1.<\/p>\n<blockquote><p>#!\/bin\/sh<\/p>\n<p>. \/etc\/rc.subr<br \/>\nBASEDIR=&#187;\/usr\/local\/bin\/&#187;<br \/>\nUSER=&#187;vbox_user&#187;<br \/>\nname=&#187;vms&#187;<br \/>\nstart_cmd=&#187;${name}_start&#187;<br \/>\nstop_cmd=&#187;${name}_stop&#187;<\/p>\n<p>vms_start()<br \/>\n{<br \/>\nif [ -x ${BASEDIR}\/VBoxManage ]; then<br \/>\necho &#171;Starting virtual machines&#8230;&#187;<br \/>\nsu -l ${USER} -c &#171;${BASEDIR}\/VBoxManage startvm JUPITER &#8212;type headless&#187; &gt;\/dev\/null 2&gt;&amp;1<br \/>\nsu -l ${USER} -c &#171;${BASEDIR}\/VBoxManage startvm PLUTO &#8212;type headless&#187; &gt;\/dev\/null 2&gt;&amp;1<br \/>\nfi<br \/>\n}<\/p>\n<p>vms_stop()<br \/>\n{<br \/>\nif [ -x ${BASEDIR}\/VBoxManage ]; then<br \/>\necho &#171;Saving virtual machines state&#8230;&#187;<br \/>\nsu -l ${USER} -c &#171;${BASEDIR}\/VBoxManage controlvm JUPITER savestate&#187; &gt;\/dev\/null 2&gt;&amp;1<br \/>\nsu -l ${USER} -c &#171;${BASEDIR}\/VBoxManage controlvm PLUTO savestate&#187; &gt;\/dev\/null 2&gt;&amp;1<br \/>\nfi<br \/>\n}<\/p>\n<p>load_rc_config $name<br \/>\nrun_rc_command &#171;$1&#187;<\/p><\/blockquote>\n<p>\u0412\u0430\u0440\u0438\u0430\u043d\u0442 2.<\/p>\n<blockquote><p><code>#!\/bin\/sh<\/code><\/p>\n<p># PROVIDE: vms<br \/>\n# REQUIRE: vboxnet<br \/>\n# KEYWORD: shutdown<\/p>\n<p>. \/etc\/rc.subr<br \/>\nBASEDIR=&#187;\/usr\/local\/bin\/&#187;<br \/>\nUSER=&#187;vbox_user&#187;<br \/>\nname=&#187;vms&#187;<br \/>\nrcvar=${name}_enable<br \/>\nstart_cmd=&#187;${name}_start&#187;<br \/>\nstop_cmd=&#187;${name}_stop&#187;<\/p>\n<p>vms_start()<br \/>\n{<br \/>\nif [ -x ${BASEDIR}\/VBoxManage ]; then<br \/>\necho &#171;Starting virtual machines&#8230;&#187;<br \/>\nsu -l ${USER} -c &#171;${BASEDIR}\/VBoxManage startvm JUPITER &#8212;type headless&#187; &gt;\/dev\/null 2&gt;&amp;1<br \/>\nsleep 15<br \/>\nsu -l ${USER} -c &#171;${BASEDIR}\/VBoxManage startvm PLUTO &#8212;type headless&#187; &gt;\/dev\/null 2&gt;&amp;1<br \/>\nfi<br \/>\n}<\/p>\n<p>vms_stop()<br \/>\n{<br \/>\nif [ -x ${BASEDIR}\/VBoxManage ]; then<br \/>\necho &#171;Saving virtual machines state&#8230;&#187;<br \/>\nsu -l ${USER} -c &#171;${BASEDIR}\/VBoxManage controlvm JUPITER savestate&#187; &gt;\/dev\/null 2&gt;&amp;1<br \/>\nsu -l ${USER} -c &#171;${BASEDIR}\/VBoxManage controlvm PLUTO savestate&#187; &gt;\/dev\/null 2&gt;&amp;1<br \/>\nfi<br \/>\n}<\/p>\n<p>load_rc_config $name<br \/>\n: ${vms_enable=&#187;NO&#187;}<br \/>\nrun_rc_command &#171;$1&#187;<\/p><\/blockquote>\n<p>\u0412\u0430\u0440\u0438\u0430\u043d\u0442 3.<\/p>\n<blockquote><p>#!\/bin\/sh<br \/>\n# PROVIDE: vbox<br \/>\n# REQUIRE: LOGIN NETWORKING SERVERS<br \/>\n# KEYWORD: shutdown<\/p>\n<p>. \/etc\/rc.subr<\/p>\n<p>name=&#187;vbox&#187;<br \/>\nrcvar=`set_rcvar`<\/p>\n<p>load_rc_config $name<\/p>\n<p>: ${vbox_enable=&#187;NO&#187;}<br \/>\n: ${vbox_user=&#187;&#187;}<br \/>\n: ${vbox_virtual=&#187;&#187;}<\/p>\n<p>pidfile=&#187;\/var\/run\/${name}.pid&#187;<br \/>\ncommand=&#187;\/usr\/local\/bin\/VBoxManage&#187;<\/p>\n<p>start_cmd()<br \/>\n{<br \/>\nVPID=`ps -U ${vbox_user} |grep VBoxHeadless |grep ${vbox_virtual} |awk &#8216;{print $1}&#8217;`<br \/>\nif [ &#171;$VPID&#187; = &#171;&#187; ] ; then<br \/>\necho &#171;Starting vboxwebsrv&#8230;&#187;<br \/>\nsu -l ${vbox_user} -c &#171;VBoxManage startvm &#8212;type headless ${vbox_virtual}&#187;<br \/>\necho $VPID &gt; ${pidfile}<br \/>\necho &#171;Done.&#187;<br \/>\nelse<br \/>\necho &#171;no start have runing service pid $VPID &#187;<br \/>\nfi<br \/>\n}<\/p>\n<p>stop_cmd()<br \/>\n{<br \/>\nVPID=`ps -U ${vbox_user} |grep VBoxHeadless |grep ${vbox_virtual} |awk &#8216;{print $1}&#8217;`<br \/>\nif [ &#171;$VPID&#187; != &#171;&#187; ] ; then<br \/>\necho &#171;stop vbox&#8230;&#187;<br \/>\nsu -l ${vbox_user} -c &#171;VBoxManage controlvm ${vbox_virtual} acpipowerbutton&#187;<br \/>\nrm -f ${pidfile}<br \/>\necho &#171;Done.&#187;<br \/>\nelse<br \/>\necho &#171;No runing service&#187;<br \/>\nfi<br \/>\n}<\/p>\n<p>status_cmd()<br \/>\n{<br \/>\nsu vb -c &#171;VBoxManage list runningvms | grep ${vbox_virtual}&#187;<br \/>\nVPID=`ps -U ${vbox_user} |grep VBoxHeadless |grep ${vbox_virtual} |awk &#8216;{print $1}&#8217;`<br \/>\nif [ &#171;$VPID&#187; != &#171;&#187; ] ; then<br \/>\necho Service runing pid $VPID<br \/>\nps axu -U ${vbox_user} |grep VBoxHeadless |grep ${vbox_virtual} |awk &#8216;{print &#171;pid:&#187;$2&#187; &#171;&#187;%CPU:&#187; $3&#8243; &#171;&#187;memMB:&#187;$6 }&#8217;<br \/>\nelse<br \/>\necho &#171;No runing service&#187;<br \/>\nfi<br \/>\n}<\/p>\n<p>start_cmd=&#187;start_cmd&#187;<br \/>\nstop_cmd=&#187;stop_cmd&#187;<br \/>\nstatus_cmd=&#187;status_cmd&#187;<\/p>\n<p>run_rc_command &#171;$1&#187;<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[5],"tags":[],"class_list":["post-47","post","type-post","status-publish","format-standard","hentry","category-linuxfreebsd"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7ekzS-L","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/altai22.ru\/index.php?rest_route=\/wp\/v2\/posts\/47","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/altai22.ru\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/altai22.ru\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/altai22.ru\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/altai22.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=47"}],"version-history":[{"count":2,"href":"https:\/\/altai22.ru\/index.php?rest_route=\/wp\/v2\/posts\/47\/revisions"}],"predecessor-version":[{"id":49,"href":"https:\/\/altai22.ru\/index.php?rest_route=\/wp\/v2\/posts\/47\/revisions\/49"}],"wp:attachment":[{"href":"https:\/\/altai22.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=47"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/altai22.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=47"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/altai22.ru\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=47"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}