O Ubuntu 15.10 vboxautostart-service stop não funciona

0

Eu substituí meu sistema 14.04 por uma nova instalação de 15.10. Com o 14.04, usei o script de inicialização vboxautostart para iniciar um guest do vbox no momento da inicialização e pará-lo durante o encerramento do sistema. Isso costumava funcionar muito bem.

Agora estou tentando obter uma configuração semelhante com o Ubuntu 15.10. A principal diferença é que eu tenho que usar systemd que eu não estou muito familiarizado, ainda. Consegui fazer a configuração específica do vbox, para poder ligar /usr/lib/virtualbox/vboxautostart-service.sh start/stop do shell e funciona perfeitamente. Também posso usar systemctl start vboxautostart-service.service para iniciar o convidado do vbox. Ele é iniciado automaticamente na inicialização do sistema depois que eu habilitei o serviço. No entanto, se eu tentar parar o serviço com

systemctl stop vboxautostart-service.service

não faz nada, então o convidado ainda está correndo depois.
O status do systemctl mostra o seguinte:

root@linux:~# systemctl -l status vboxautostart-service.service
● vboxautostart-service.service
   Loaded: loaded (/usr/lib/virtualbox/vboxautostart-service.sh; enabled; vendor preset: enabled)
   Active: inactive (dead) since Sa 2015-10-31 16:39:10 CET; 4min 57s ago
  Process: 5645 ExecStop=/usr/lib/virtualbox/vboxautostart-service.sh stop (code=exited, status=0/SUCCESS)
  Process: 5586 ExecStart=/usr/lib/virtualbox/vboxautostart-service.sh start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/vboxautostart-service.service
           ├─ 875 /usr/lib/virtualbox/VBoxXPCOMIPCD
           ├─ 880 /usr/lib/virtualbox/VBoxSVC --auto-shutdown
           └─5602 /usr/lib/virtualbox/VBoxHeadless --comment server --startvm b3376916-8562-442e-a25e-cfe26fa800db --vrde config

Okt 31 16:37:52 linux systemd[1]: Starting vboxautostart-service.service...
Okt 31 16:37:52 linux vboxautostart-service.sh[5586]: Starting VirtualBox VMs configured for autostart
Okt 31 16:37:52 linux systemd[1]: Started vboxautostart-service.service.
Okt 31 16:39:10 linux systemd[1]: Stopping vboxautostart-service.service...
Okt 31 16:39:10 linux systemd[1]: Stopped vboxautostart-service.service.

O comando ExecStop no serviço parece correto, no entanto, por algum motivo, ele não está funcionando, quando chamado pelo systemd. Alguma ideia do que posso fazer aqui?

    
por Michael Schlueter 31.10.2015 / 16:52

2 respostas

2

Parece que estou tendo o mesmo problema no debian jessie com o systemd e o virtualbox 5.0.10 empacotado no Oracle.

Depois de muita depuração, parece ser algo relacionado à maneira como o daemon start-stop é chamado na função stop () em /usr/lib/virtualbox/vboxautostart-service.sh (em torno da linha 236), que faz não aciona a função start () da mesma maneira

O que eu criei é um hack horrível, mas realmente gostaria que alguém fosse mais amigável para entrar nessa questão.

Eu substituí em /usr/lib/virtualbox/vboxautostart-service.sh:

for user in 'ls $VBOXAUTOSTART_DB/*.stop' 
do
    start_daemon 'basename $user | sed -ne "s/\(.*\).stop//p"' $binary $PARAMS > /dev/null 2>&1
done

com:

for user in 'ls $VBOXAUTOSTART_DB/*.stop'
do
    su - 'basename $user | sed -ne "s/\(.*\).stop//p"' -c "$binary $PARAMS" > /dev/null 2>&1
done
    
por sly 13.11.2015 / 02:34
1

Parece que estou tendo o mesmo problema no ubuntu 16.06 xenial com o systemd e o VirtualBox 5.1.x no Oracle.

Eu encontrei uma solução aqui: link

Alterar em /usr/lib/virtualbox/vboxautostart-service.sh :

  1. start-stop-daemon --background --chuid $usr --start --exec $bin -- $@
  2. start-stop-daemon --chuid $usr --start --exec $bin -- $@
por OnOff 27.04.2017 / 16:53