我创建了一个const appBundleID = req.query.appBundleID;
const productIdentifier = req.query.productIdentifier;
const subscriptionOfferID = req.query.offerID;
const applicationUsername = req.query.applicationUsername;
脚本,该脚本应该在重新启动后启动三个VirtualBox VM:
systemd
但是,重新启动后,即使$ systemctl status virtualbox
● virtualbox.service - Keep VirtualBox VMs up-and-running
Loaded: loaded (/etc/systemd/system/virtualbox.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Fri 2019-06-14 14:08:42 PDT; 14min ago
Process: 4219 ExecStart=/home/qa/start_vms.sh (code=exited, status=0/SUCCESS)
Main PID: 4219 (code=exited, status=0/SUCCESS)
Jun 14 14:08:41 lab-rbarak.local pulseaudio[4929]: [pulseaudio] server-lookup.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
Jun 14 14:08:41 lab-rbarak.local pulseaudio[4929]: [pulseaudio] main.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
Jun 14 14:08:41 lab-rbarak.local start_vms.sh[4219]: Waiting for VM "QAT-116-sonarsql-test-virtualbox" to power on...
Jun 14 14:08:41 lab-rbarak.local start_vms.sh[4219]: VM "QAT-116-sonarsql-test-virtualbox" has been successfully started.
Jun 14 14:08:41 lab-rbarak.local start_vms.sh[4219]: VBoxManage: error: Machine 'QAT-116-oracle12' is not currently running
Jun 14 14:08:41 lab-rbarak.local start_vms.sh[4219]: Waiting for VM "QAT-116-oracle12" to power on...
Jun 14 14:08:41 lab-rbarak.local start_vms.sh[4219]: VM "QAT-116-oracle12" has been successfully started.
Jun 14 14:08:41 lab-rbarak.local start_vms.sh[4219]: VBoxManage: error: Machine 'QAT-116-finder-tests_oori' is not currently running
Jun 14 14:08:42 lab-rbarak.local start_vms.sh[4219]: Waiting for VM "QAT-116-finder-tests_oori" to power on...
Jun 14 14:08:42 lab-rbarak.local start_vms.sh[4219]: VM "QAT-116-finder-tests_oori" has been successfully started.
$ systemctl is-enabled virtualbox.service
enabled
似乎正在运行,虚拟机也不会:
virtualbox.service
$ sudo reboot
Connection to lab.local closed by remote host.
Connection to lab.local closed.
...
qa@lab.local's password:
Last login: Fri Jun 14 14:08:54 2019 from 192.168.1.168
$ systemctl status virtualbox
● virtualbox.service - Keep VirtualBox VMs up-and-running
Loaded: loaded (/etc/systemd/system/virtualbox.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Fri 2019-06-14 14:25:33 PDT; 16s ago
Process: 4219 ExecStart=/home/qa/start_vms.sh (code=exited, status=0/SUCCESS)
Main PID: 4219 (code=exited, status=0/SUCCESS)
Jun 14 14:25:32 lab-rbarak.local pulseaudio[4929]: [pulseaudio] server-lookup.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
Jun 14 14:25:32 lab-rbarak.local pulseaudio[4929]: [pulseaudio] main.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
Jun 14 14:25:32 lab-rbarak.local start_vms.sh[4219]: Waiting for VM "QAT-116-sonarsql-test-virtualbox" to power on...
Jun 14 14:25:32 lab-rbarak.local start_vms.sh[4219]: VM "QAT-116-sonarsql-test-virtualbox" has been successfully started.
Jun 14 14:25:32 lab-rbarak.local start_vms.sh[4219]: VBoxManage: error: Machine 'QAT-116-oracle12' is not currently running
Jun 14 14:25:32 lab-rbarak.local start_vms.sh[4219]: Waiting for VM "QAT-116-oracle12" to power on...
Jun 14 14:25:32 lab-rbarak.local start_vms.sh[4219]: VM "QAT-116-oracle12" has been successfully started.
Jun 14 14:25:32 lab-rbarak.local start_vms.sh[4219]: VBoxManage: error: Machine 'QAT-116-finder-tests_oori' is not currently running
Jun 14 14:25:33 lab-rbarak.local start_vms.sh[4219]: Waiting for VM "QAT-116-finder-tests_oori" to power on...
Jun 14 14:25:33 lab-rbarak.local start_vms.sh[4219]: VM "QAT-116-finder-tests_oori" has been successfully started.
$ vboxmanage list runningvms
$
请注意,如果我手动运行脚本(服务将运行该脚本),则VM确实会开始运行:
$ cat /etc/systemd/system/virtualbox.service
[Unit]
Description=Keep VirtualBox VMs up-and-running
After=network.target vboxdrv.service
[Service]
ExecStart=/home/qa/start_vms.sh
User=qa
[Install]
WantedBy=multi-user.target
$ cat /home/qa/start_vms.sh
#!/bin/sh -
/usr/bin/VBoxManage controlvm "QAT-116-sonarsql-test-virtualbox" poweroff ; /usr/bin/VBoxManage startvm QAT-116-sonarsql-test-virtualbox --type headless
/usr/bin/VBoxManage controlvm "QAT-116-oracle12" poweroff ; /usr/bin/VBoxManage startvm QAT-116-oracle12 --type headless
/usr/bin/VBoxManage controlvm "QAT-116-finder-tests_oori" poweroff ; /usr/bin/VBoxManage startvm QAT-116-finder-tests_oori --type headless
如何使virtualbox.service系统单元在重启后启动VirtualBox VM?