শুরুতে VBoxHeadless ভিএম শুরু করুন


16

আমি আমার ভিএমটি প্রারম্ভকালে চালানোর জন্য দেখতে পাচ্ছি না।

আমি "স্টার্টআপ অ্যাপ্লিকেশনগুলি" চেষ্টা করেছি এবং ভাগ্য ছাড়াই আপডেট-আরসি.ডি করেছি।

sudo update-rc.d startvms defaults 99 10

এটি বিভিন্ন রান স্তরের জন্য সমস্ত উপযুক্ত প্রতীকী লিঙ্ক তৈরি করেছে কিন্তু ভিএম এখনও শুরু হয় না।

এখানে আমার স্টার্টভিস স্ক্রিপ্ট:

#!/bin/bash
### BEGIN INIT INFO
# Provides:          startvms
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start my VMs at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO
case "$1" in
  start)
        echo "Starting"
        nohup VBoxHeadless --startvm "UbuntuServer" &
        ;;
  stop)
        echo "Stopping $DESC"
        VBoxManage controlvm "UbuntuServer" poweroff
        ;;

  restart|force-reload)
        echo "Restarting $DESC"
        VBoxManage controlvm "UbuntuServer" poweroff
        nohup VBoxHeadless --startvm "UbuntuServer" &
        ;;
  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

আমি কি ভুল করছি?


আপনি কি ভিআরডিপি সমর্থন (হেডলেস মোডের জন্য প্রয়োজনীয়) অন্তর্ভুক্ত করার জন্য ভার্চুয়াল বক্সকে PUEL এ আপগ্রেড করেছেন?
তাক্কাত

@ তক্কাত: হ্যাঁ, আমার উল্লেখ করা উচিত ছিল: হেডলেস মোডটি আমার পক্ষে দুর্দান্ত কাজ করে ... আমি কেবল এটি স্টার্টআপে চালাতে পারি না।
ক্যাপড্রাগন

1
আপনি যদি কমান্ডের VBoxManage startvm --type headless "UbuntuServer"পরিবর্তে চেষ্টা VBoxHeadlessকরেন?
তাককাত

এটির মতো চলতে আপনাকেও মূল হতে হবে su -c 'VBoxHeadless --startvm <MACHINE>'
তাক্কাত

@ টাক্কাত: নেই পাশা। তবে আবার, আমি যে কমান্ডটি ব্যবহার করছি তা দিয়ে আমি VBoxHeadless ঠিক কাজ করতে পারি। আমি যখন এটি একটি স্টার্টআপ স্ক্রিপ্টে করি তখন কেবল এটি কাজ করে না।
ক্যাপড্রাগন

উত্তর:


27

এই হল কি পরিশেষে কাজ!

1) স্টার্টআপ স্ক্রিপ্ট ফাইল তৈরি করুন

ইন /etc/init.d - sudo nano /etc/init.d/StartVM

ফাইলটিতে নিম্নলিখিতটি অনুলিপি করুন এবং আপনার ভিএম নামের জন্য "আমার ভিএম নাম" প্রতিস্থাপন করুন:

#! /bin/sh
# /etc/init.d/StartVM
#

#Edit these variables!
VMUSER=spode
VMNAME="My VM Name"

case "$1" in
  start)
    echo "Starting VirtualBox VM..."
    sudo -H -b -u $VMUSER /usr/bin/VBoxVRDP -s "$VMNAME"
    ;;
  stop)
    echo "Saving state of Virtualbox VM..."
    sudo -H -u  $VMUSER /usr/bin/VBoxManage controlvm "$VMNAME" savestate
    ;;
  *)
    echo "Usage: /etc/init.d/StartVM {start|stop}"
    exit 1
    ;;
esac

exit 0

2) স্ক্রিপ্ট সম্পাদনযোগ্য অনুমতি দিন

সঙ্গে sudo chmod +x /etc/init.d/StartVM

3) স্ক্রিপ্টটি প্রারম্ভকালে চালানোর জন্য বলুন।

স্ক্রিপ্টটি শাটডাউন করার প্রথম এবং শেষ প্রান্তে সর্বশেষ বলুন।

sudo update-rc.d StartVM defaults 99 01


2
ভিআরডিপি কি অতিরিক্ত ওভারহেড যুক্ত করে না, VBoxManage startvm --type headlessআরও ভাল হয়?
মোজিজিস

3
আমার নির্দিষ্ট ক্ষেত্রে, আমি চেয়েছিলাম ভিএম স্ট্যাট সাশ্রয়ের চেয়ে কৌতূহলজনকভাবে বন্ধ করুন। "এসপিপাওয়ারবটন" এর সাথে "সাভেস্টেট" প্রতিস্থাপন করা এর জন্য পুরোপুরি কাজ করেছিল।
মুজমো

2

এফওয়াইআই, এটি কোনওরকম ছাড়াই Opensuse এ কাজ করে।

VBoxHeadless -s "OpenSuSE 11.4 64bit" &

সুতরাং আমি একই স্ক্রিপ্টটি ব্যবহার করেছি নোহুপ ছাড়াই?
ক্যাপড্রাগন

হোহুপ থেকে মুক্তি পেয়েছে, এখনও কাজ করে না। আমি অবশ্যই অন্য কিছু ভুল করছি। আপনি কি নিশ্চিত যে আমরা একই স্ক্রিপ্টটি ব্যবহার করছি? আপনার উত্তরটি সম্পাদনা করুন এবং আপনার স্ক্রিপ্ট অন্তর্ভুক্ত করুন যাতে আমি এটি চেষ্টা করতে পারি।
ক্যাপড্রাগন

2

এটি উবুন্টু সার্ভার 12.04 এবং ভার্চুয়ালবক্স 4.2.20 এর সাথে ঠিক কাজ করছে।

#! /bin/sh
# /etc/init.d/StartVM
#
#Edit these variables!
VMUSER=username
case "$1" in
  start)
    echo "Starting VirtualBox VM SMARTHOST ..."
    sudo -u $VMUSER VBoxManage startvm SMARTHOST --type headless
    echo "Starting VirtualBox VM wxp-acceso ..."
    sudo -u $VMUSER VBoxManage startvm wxp-acceso --type headless
    echo "Starting VirtualBox VM wmmaq_edi ..."
    sudo -u $VMUSER VBoxManage startvm vmmaq_edi --type headless
    ;;
  stop)
    echo "Saving state of Virtualbox VM SMARTHOST ..."
    sudo -u $VMUSER VBoxManage controlvm SMARTHOST savestate
    echo "Saving state of Virtualbox VM wxp-acceso ..."
    sudo -u $VMUSER VBoxManage controlvm wxp-acceso savestate
    echo "Saving state of Virtualbox VM vmmaq_edi ..."
    sudo -u $VMUSER VBoxManage controlvm vmmaq_edi savestate
    ;;
  *)
    echo "Usage: /etc/init.d/StartVM {start|stop}"
    exit 1
    ;;
esac

exit 0

এবং

sudo chmod +x /etc/init.d/StartVM

এবং

sudo update-rc.d StartVM defaults 99 01

আগের উত্তরে নির্দেশিত


এটি আমার পক্ষে দুর্দান্ত কাজ করে! Vbox 5.0 ব্যতীত এর sudo -u $ VMUSER VBoxHeadless --startvm $ VMNAME & সুতরাং startvm এর 2 "-" রয়েছে এবং আপনি কেবলমাত্র টাইপ হেডলেস এর পরিবর্তে VBoxHeadless এর বিরুদ্ধে মামলা করতে পারেন। লক্ষ্য করার মতো বিষয় হ'ল আমি নিশ্চিত যে আমরা কোনও সার্ভারে রয়েছি, শেষে "&" ব্যতীত, সার্ভারটি প্রম্পটে লগইন করতে বুট করে না তবে সমস্ত পরিষেবাদি এসএসএইচ, আরডিপি ইত্যাদির মতো কাজ করে, যা আমি লক্ষ্য করেছি। এটি সার্ভারটিকে আটকে রাখবে বুট লগনের ভার্বোজের তথ্য!
ফ্রিসফটওয়্যার সার্ভারগুলি

1

যেহেতু আপনি উল্লেখ করেছেন যে ভিবিক্সহিডলেস সূক্ষ্মভাবে কাজ করে যদি আপনি এটি কোনও টার্মিনালের কমান্ড লাইন থেকে টাইপ করেন তবে কোনও এনআইপি স্ক্রিপ্ট থেকে আরম্ভ করার সময় কোনও ভিএম শুরু না করে, আমার ধারণা এটি কোনও পরিবেশের পরিবর্তনশীল সন্ধান করছে যা আপনি শেল চালানোর সময় সংজ্ঞায়িত করা হয় আপনার টার্মিনালে তবে init স্ক্রিপ্টের পরিবেশে অপরিজ্ঞাপিত (কার্নেল কমান্ড লাইনে প্রদত্ত প্যারামিটার ব্যতীত যা মূলত খালি)।

আপনি কি স্ক্রিপ্টের মধ্যে VBoxHeadless আমন্ত্রণগুলি প্রতিস্থাপনের চেষ্টা করতে পারেন?

env USER=username HOME=/path/to/user/homedir VBoxHeadless ...same options as before...

আপনি ভিএম শুরু করতে ব্যবহারকারীর সাথে মেলে এখানে "ব্যবহারকারীর নাম" এবং হোম ডিরেক্টরি পথটি পরিবর্তন করা উচিত।

যদি এটি কাজ করে তবে আপনি এই এনভি হ্যাকের পরিবর্তে ভিবক্সহিডলেস চালাতে su -l ব্যবহার করতে চাইতে পারেন ।


+1 এর জন্য su -l- এটি একটি ভাল পয়েন্ট!
তাকদাত

নাহ ... এখনও কাজ করে না। আমি ঠিক করেছি একটি ক্রোন জব ব্যবহার করব
ক্যাপড্রাগন

1

ভার্চুয়ালবক্সের সাম্প্রতিক সংস্করণগুলিতে (৪.২.০ এর পরে) কোনও ভিএম অটোস্টার্ট করার জন্য আপনার নিজের স্ক্রিপ্ট রোল করার দরকার নেই তবে এটি কিছু কনফিগারেশন নেয়। Virtualbox ম্যানুয়াল এর "বিভাগে 9,24 দেখুন সিস্টেম বুট করার সময় ভার্চুয়াল মেশিন থেকে শুরু করে "

দুর্ভাগ্যক্রমে ম্যানুয়ালটি কেবল রূপরেখা নির্দেশ দেয় এবং যুগে যুগে আপডেট হয় নি। আমি এই পোস্টটি ভার্চুয়ালবক্স ফোরামে কিছু অতিরিক্ত বিশদ সহ পেয়েছি ।

আপনি আপনার সার্ভারটি শুরু করতে কেবল rc.local এ একটি লাইন রাখতে পারেন তবে আপনি যদি এটি করতে চান তবে "অফিশিয়াল" উপায়ে পড়ুন ..

এই লাইনগুলি / etc / ডিফল্ট / ভার্চুয়ালবক্সে যুক্ত করুন:

VBOXAUTOSTART_DB=/etc/vbox
VBOXAUTOSTART_CONFIG=/etc/vbox/vboxautostart.cfg

সম্পাদনা /etc/vbox/vboxautostart.cfg (এই উদাহরণটি ব্যবহারকারী "বব" বাদে সমস্ত ব্যবহারকারীর জন্য অটোস্টার্ট অনুমতি অস্বীকার করে:

# Default policy is to deny starting a VM, the other option is "allow".
default_policy = deny

# Bob is allowed to start virtual machines but starting them
# will be delayed for 10 seconds
bob = {
    allow = true
    startup_delay = 10
}

# Alice is not allowed to start virtual machines, useful to exclude certain users
# if the default policy is set to allow.
alice = {
    allow = false
}

Vboxusers গ্রুপ / / etc / vbox এবং স্টিকি বিট যোগ করুন:

# chgrp vboxusers /etc/vbox
# chmod 1775 /etc/vbox

"Vboxusers" গ্রুপে ভার্চুয়ালবক্স ব্যবহার করবে এমন সমস্ত ব্যবহারকারী যুক্ত করুন, যেমন:

# adduser Bob vboxusers

প্রতিটি ব্যবহারকারী যারা স্বতন্ত্র মেশিনগুলির জন্য অটোস্টার্ট সক্ষম করতে চান তাদের সাথে অটোস্টার্ট ডাটাবেস ডিরেক্টরিটির পথ নির্ধারণ করতে হবে:

$ VBoxManage setproperty autostartdbpath /etc/vbox

ব্যবহারকারীগণ তারপরে ভিএমগুলিকে অটোস্টার্টে সেট করতে পারেন এবং কনফিগার করতে পারেন কীভাবে তারা থামবে (যেমন: স্যাসভেস্ট, এসপিশুটডাউন):

$ VBoxManage modifyvm <vmname> --autostart-enabled on
$ VBoxManage modifyvm <vmname> --autostop-type acpishutdown

উপরেরগুলি ভার্চুয়ালবক্স.অর্গ সংগ্রহস্থল থেকে ইনস্টল করা ভার্চুয়ালবক্স 5 নিয়ে আমার জন্য কাজ করেছে।


অভিশাপ, শুধু এই শুধুমাত্র খুঁজে বের করতে নিয়ে ঘুরে বেড়াচ্ছেন সমাপ্ত এটি আগে থেকেই উত্তর এখানে দেওয়া হচ্ছে উপর ভিত্তি করে এই ব্লগ পোস্টে
জুলে

0

ভিআরডিপি ব্যবহার করার সময় কেউ সরাসরি পোর্ট সেট করতেও চাইবে .. উপরের উত্তরে মন্তব্য করুন, যা বিভিন্ন ভিএমএসের জন্য বিভিন্ন স্ক্রিপ্টগুলি ব্যবহার করার জন্য ভালভাবে ভাগ করে দেয়

VBoxVRDP -startvm "myVM" -vrdpport 3391 &

0

বাহ .. আমি এই সমস্ত সমাধানগুলি দেখছি যা কিছুটা জটিল বলে মনে হচ্ছে তবে এটি আমার তৃতীয় ল্যাপটপ যার উপর আমি কেবল লেখার শেষ করেছি:

VBoxHeadless -s "Ubuntu Server"

/ r / ডিরেক্টরিতে আমার আরসি.লোকাল ফাইল এবং এটি বেশ ভাল কাজ করেছে। রিবুটটিতে স্বয়ংক্রিয়ভাবে ভার্চুয়াল মেশিন চালায়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.