Автор Тема: Не получается Автозапуск Гостевой на Sysvinit...  (Прочитано 10846 раз)

Оффлайн San

  • Завсегдатай
  • *
  • Сообщений: 683
Что то всю голову сломал и все варианты перепробовал? Не получается Автозапуск гостевой Virtualbox при старте системы, до ввода логина и пароля. Раньше как то делал, но вспомнить не могу? Возможно что то изменилось?

Хостовая система Стартеркит Р9-XFCE-SYSV
$ cat /etc/altlinux-release
ALT p9 starter kit (Hypericum)
$ uname -a
Linux comp-celeron-cpu-68263b 5.4.68-std-def-alt1.1 #1 SMP Sat Oct 3 03:14:56 UTC 2020 x86_64 GNU/Linux
$ uname -rvm
5.4.68-std-def-alt1.1 #1 SMP Sat Oct 3 03:14:56 UTC 2020 x86_64
$ rpm -qa | grep virtualbox-*
kernel-modules-virtualbox-addition-guest-std-def-6.1.8-alt1.328766.1.x86_64
kernel-modules-virtualbox-addition-video-std-def-6.1.8-alt1.328772.1.1.x86_64
kernel-modules-virtualbox-std-def-6.1.8-alt1.328772.1.1.x86_64
virtualbox-guest-common-vboxguest-6.1.8-alt1.x86_64
kernel-modules-virtualbox-addition-guest-std-def-6.1.8-alt1.328772.1.1.x86_64
virtualbox-guest-common-vboxvideo-6.1.8-alt1.x86_64
virtualbox-guest-common-6.1.8-alt1.x86_64
virtualbox-guest-additions-6.1.8-alt1.x86_64
kernel-modules-virtualbox-addition-std-def-6.1.8-alt1.328766.1.x86_64
virtualbox-common-6.1.8-alt1.x86_64
virtualbox-6.1.8-alt1.x86_64
kernel-modules-virtualbox-addition-video-std-def-6.1.8-alt1.328766.1.x86_64
virtualbox-doc-6.1.8-alt1.x86_64
kernel-modules-virtualbox-addition-std-def-6.1.8-alt1.328772.1.1.x86_64
virtualbox-guest-utils-6.1.8-alt1.x86_64
$ VBoxManage list vms
"Windows XP Alternative" {55515fa5-830f-4c45-9ab3-28568ff9136b}

Из командной строки Запускается и Останавливается, пытаюсь сделать Автозапуск как написано тут: https://forum.altlinux.org/index.php?topic=6665.msg230068#msg230068 - Ни каких признаков жизни...
# cat >> /etc/rc.d/rc.local
#!/bin/sh

su -l -c  "VBoxManage startvm "Windows XP Alternative" --type headless" san

# chmod uga+x /etc/rc.d/rc.local
# reboot

Главное ошибок видимых нет? Может имя машины как то изменить? Оно мешает?

Оффлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 153
Заэкранируйте "внутренние" кавычки
su -l -c  "VBoxManage startvm \"Windows XP Alternative\" --type headless" san

Оффлайн San

  • Завсегдатай
  • *
  • Сообщений: 683
Заэкранируйте "внутренние" кавычки
Так
su -l -c  "VBoxManage startvm \"Windows XP Alternative\" --type headless" sanИли так
su -l -c  "VBoxManage startvm \"Windows XP Alternative"\ --type headless" san

Оффлайн San

  • Завсегдатай
  • *
  • Сообщений: 683
Заэкранируйте "внутренние" кавычки
Самое Огромное Спасибо!
Я сегодня ДЕНЬ потерял из за этих двух палочек...  ;-D

Все таки так:
su -l -c  "VBoxManage startvm \"Windows XP Alternative\" --type headless" san
А как завершить машину, при завершении работы? Например дистанционный Poweroff? Куда поставить скрипт завершения и как должен выглядеть этот скрипт?

Вручную завершаю так:
$ VBoxManage controlvm {55515fa5-830f-4c45-9ab3-28568ff9136b} acpipowerbutton

Оффлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 153
По-хорошему, надо сделать init-скрипт (по образцу имеющихся, и как я понял из соседней ветки, используется система p9-xfce-sysv), который запускается одним из последних, а останавливается одним из первых.

Кстати, для удобства в скрипте имя VM (или её uuid, что равнозначно) лучше вынести в переменную и уже её использовать в параметрах VBoxManage. А в идеале, считывать этот параметр из конфиг-файла (образцы в init-скриптах есть)

Оффлайн San

  • Завсегдатай
  • *
  • Сообщений: 683
По-хорошему, надо сделать init-скрипт (по образцу имеющихся, и как я понял из соседней ветки, используется система p9-xfce-sysv), который запускается одним из последних, а останавливается одним из первых.
Скрипты (init-скрипты) находятся в папке /etc/init.d я правильно понял? Да... Хорошая почва для размышлений... А еще папка скриптов /etc/rc.d С наскока не разобраться. Но если я правильно понял, для скриптов из /etc/init.d, один скрипт отвечает и за запуск и остановку сервиса?
Кстати, для удобства в скрипте имя VM (или её uuid, что равнозначно) лучше вынести в переменную и уже её использовать в параметрах VBoxManage.
Натолкните на идею? Погуглил... Пока ни чего не нахожу...
А в идеале, считывать этот параметр из конфиг-файла (образцы в init-скриптах есть)
Тоже самое... Будем изучать...

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Частичное цитирование Ответ #18 из другой темы:
Система должна была быть простой, надёжной, предсказуемой, но и предоставлять инструменты администрирования.
Да я уже почти разобрался. Все что требовалось уже нашел. Осталось найти как сделать Остановку приложения перед завершением системы: https://forum.altlinux.org/index.php?topic=44306.msg352333#msg352333 Да, скрипт остановки по завершению работы от UPS я опробовал, но иногда могу тупо забыть что VirtualBox запущен (а его не видно, кроме как по команде: $ VBoxManage list runningvms) и отключить гостевую на горячую...

Если напишете скрипт завершающий работу гостевых ОС,
VBoxManage control and manage Virtualbox from command line
https://www.garron.me/en/go2linux/vboxmanage-control-and-manage-virtualbox-command-line.html
How do I shutdown all Virtualbox VMs at once?
https://stackoverflow.com/questions/29020290/how-do-i-shutdown-all-virtualbox-vms-at-once
Shutting down all VirtualBox (vagrant) VMs in one easy to use bash command (that can be put into a bash file)
https://askubuntu.com/questions/457329/shutting-down-all-virtualbox-vagrant-vms-in-one-easy-to-use-bash-command-that
How to safely shutdown Guest OS in VirtualBox using command line
https://askubuntu.com/questions/42482/how-to-safely-shutdown-guest-os-in-virtualbox-using-command-line

то его можно  будет повесить кнопкой на Панель 2 как "запускаемое приложение".

На всякий:
Здесь описано, как можно организовать только как stop-сервис (не start-сервис!) по аналогии, где достаточно детально описана логика:
Приёмы профессиональной работы в shell
Корректное размонтирование самба-ресурсов на разгрузке или останове системы sysv

https://forum.altlinux.org/index.php?topic=32361.msg253079#msg253079
« Последнее редактирование: 14.10.2020 00:22:02 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
По-хорошему, надо сделать init-скрипт (по образцу имеющихся, и как я понял из соседней ветки, используется система p9-xfce-sysv), который запускается одним из последних, а останавливается одним из первых.
...
(образцы в init-скриптах есть)

Да:
(template - файл-заготовка сервис-скрипта)
$ ls -l /etc/rc.d/init.d/template
-rw-r--r-- 1 root root 1355 мар 16  2018 /etc/rc.d/init.d/template
$ sed "" /etc/rc.d/init.d/template
#!/bin/sh
#
# template Summary of the service.
#
# chkconfig: - 90 10
# description: multi-line \
# description \
# of the service.
# processname: template
# config: /etc/template.conf
# pidfile: /var/run/template.pid

# Do not load RH compatibility interface.
WITHOUT_RC_COMPAT=1

# Source function library.
. /etc/init.d/functions

PIDFILE=/var/run/template.pid
LOCKFILE=/var/lock/subsys/template
RETVAL=0

start()
{
start_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root -- template
RETVAL=$?
return $RETVAL
}

stop()
{
stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root -- template
RETVAL=$?
return $RETVAL
}

restart()
{
stop
start
}

reload()
{
msg_reloading template
stop_daemon --pidfile "$PIDFILE" --expect-user root -HUP -- template
RETVAL=$?
return $RETVAL
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
restart
;;
condstop)
if [ -e "$LOCKFILE" ]; then
stop
fi
;;
condrestart)
if [ -e "$LOCKFILE" ]; then
restart
fi
;;
condreload)
if [ -e "$LOCKFILE" ]; then
reload
fi
;;
status)
status --pidfile "$PIDFILE" --expect-user root -- template
RETVAL=$?
;;
*)
msg_usage "${0##*/} {start|stop|reload|restart|condstop|condrestart|condreload|status}"
RETVAL=1
esac

exit $RETVAL

Сервис скрипт должен иметь атрибут exec.
Например:
$ ls -l /etc/rc.d/init.d/osspd
-rwxr-xr-x 1 root root 1374 фев  4  2014 /etc/rc.d/init.d/osspd
« Последнее редактирование: 13.10.2020 14:07:10 от Speccyfighter »

Оффлайн San

  • Завсегдатай
  • *
  • Сообщений: 683
Ок. Всем Огромное Спасибо. Мне нужно пару дней на переваривание ВСЕГО ЭТОГО!  ;-D Сейчас поставлю Хромиум с Переводчиком и...

Оффлайн San

  • Завсегдатай
  • *
  • Сообщений: 683
Кстати, для удобства в скрипте имя VM (или её uuid, что равнозначно) лучше вынести в переменную и уже её использовать в параметрах VBoxManage. А в идеале, считывать этот параметр из конфиг-файла (образцы в init-скриптах есть)
Александр, подскажите Пожалуйста как это делается? Хотя бы с чего начать?

Возник уже Вопрос! Довольно тупой, но... Скажите, а как проконтролировать процесс завершения работы Гостевой?
# cat /var/log/messages
..

2020-10-14T12:19:51.238141+07:00 comp-celeron-cpu-68263b ahttpd: ahttpd shutdown succeeded
2020-10-14T12:19:51.400323+07:00 comp-celeron-cpu-68263b alteratord: alteratord shutdown succeeded
2020-10-14T12:19:52.568266+07:00 comp-celeron-cpu-68263b dm: rundm shutdown succeeded
2020-10-14T12:19:52.663370+07:00 comp-celeron-cpu-68263b virtualbox: Unloading VirtualBox module (vboxnetadp): succeeded
2020-10-14T12:19:52.687678+07:00 comp-celeron-cpu-68263b modprobe: FATAL: Module vboxnetflt is in use.
2020-10-14T12:19:52.690689+07:00 comp-celeron-cpu-68263b virtualbox: Unloading VirtualBox module (vboxnetflt): failed
2020-10-14T12:19:52.726061+07:00 comp-celeron-cpu-68263b modprobe: FATAL: Module vboxdrv is in use.
2020-10-14T12:19:52.728570+07:00 comp-celeron-cpu-68263b virtualbox: Unloading VirtualBox module (vboxdrv): failed
2020-10-14T12:19:52.770813+07:00 comp-celeron-cpu-68263b spice-vdagentd: vdagentd quitting, returning status 0
2020-10-14T12:19:52.887968+07:00 comp-celeron-cpu-68263b spice-vdagentd: spice-vdagentd shutdown succeeded
2020-10-14T12:19:53.048862+07:00 comp-celeron-cpu-68263b crond: crond shutdown succeeded
2020-10-14T12:19:53.171986+07:00 comp-celeron-cpu-68263b acpid: exiting
2020-10-14T12:19:53.210716+07:00 comp-celeron-cpu-68263b acpid: acpid shutdown succeeded
2020-10-14T12:19:53.249303+07:00 comp-celeron-cpu-68263b rc: Stopping keytable: succeeded
2020-10-14T12:19:53.285780+07:00 comp-celeron-cpu-68263b rc: Stopping fbsetfont: succeeded
2020-10-14T12:19:53.355849+07:00 comp-celeron-cpu-68263b chronyd[3211]: chronyd exiting
2020-10-14T12:19:53.473079+07:00 comp-celeron-cpu-68263b chronyd: chronyd shutdown succeeded
2020-10-14T12:19:53.512579+07:00 comp-celeron-cpu-68263b dd: 1+0 records in
2020-10-14T12:19:53.512676+07:00 comp-celeron-cpu-68263b dd: 1+0 records out
2020-10-14T12:19:53.512813+07:00 comp-celeron-cpu-68263b dd: 512 bytes copied, 0.000166858 s, 3.1 MB/s
2020-10-14T12:19:53.515141+07:00 comp-celeron-cpu-68263b random: Saving random seed: succeeded
2020-10-14T12:19:53.576104+07:00 comp-celeron-cpu-68263b dbus-daemon[2493]: [system] Activating service name='org.freedesktop.nm_dispatcher' requested by ':1.0' (uid=0 pid=2602 comm="/usr/sbin/NetworkManager --pid-file=/var/run/Netwo") (using servicehelper)
2020-10-14T12:19:53.592913+07:00 comp-celeron-cpu-68263b dbus-daemon[2493]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
2020-10-14T12:19:53.595012+07:00 comp-celeron-cpu-68263b nm-dispatcher: req:1 'connectivity-change': new request (5 scripts)
2020-10-14T12:19:53.595238+07:00 comp-celeron-cpu-68263b nm-dispatcher: req:1 'connectivity-change': start running ordered scripts...
2020-10-14T12:19:53.597388+07:00 comp-celeron-cpu-68263b nm-dispatcher: req:2 'connectivity-change': new request (5 scripts)
2020-10-14T12:19:53.633238+07:00 comp-celeron-cpu-68263b nm-dispatcher: req:2 'connectivity-change': start running ordered scripts...
2020-10-14T12:19:53.727227+07:00 comp-celeron-cpu-68263b NetworkManager: NetworkManager shutdown succeeded
2020-10-14T12:19:53.752660+07:00 comp-celeron-cpu-68263b ModemManager[2682]: <info>  Caught signal, shutting down...
2020-10-14T12:19:53.755366+07:00 comp-celeron-cpu-68263b ModemManager[2682]: <info>  ModemManager is shut down
2020-10-14T12:19:53.800704+07:00 comp-celeron-cpu-68263b network: Computing interface groups:
2020-10-14T12:19:53.813806+07:00 comp-celeron-cpu-68263b network: .
2020-10-14T12:19:53.816663+07:00 comp-celeron-cpu-68263b network:  1 interfaces found
2020-10-14T12:19:53.817433+07:00 comp-celeron-cpu-68263b network: Processing /etc/net/vlantab:
2020-10-14T12:19:53.817677+07:00 comp-celeron-cpu-68263b network: empty.
2020-10-14T12:19:53.824859+07:00 comp-celeron-cpu-68263b network: Stopping group 0/virtual (1 interfaces)
2020-10-14T12:19:53.828902+07:00 comp-celeron-cpu-68263b network: #011Stopping lo:
2020-10-14T12:19:53.950469+07:00 comp-celeron-cpu-68263b network: .
2020-10-14T12:19:53.977195+07:00 comp-celeron-cpu-68263b network: .
2020-10-14T12:19:53.978949+07:00 comp-celeron-cpu-68263b network: OK
2020-10-14T12:19:53.984036+07:00 comp-celeron-cpu-68263b rc: Stopping network: succeeded
2020-10-14T12:19:54.033142+07:00 comp-celeron-cpu-68263b bluetoothd[2806]: Disconnected from D-Bus. Exiting.
2020-10-14T12:19:54.033419+07:00 comp-celeron-cpu-68263b bluetoothd[2806]: Stopping SDP server
2020-10-14T12:19:54.033499+07:00 comp-celeron-cpu-68263b bluetoothd[2806]: Exit
2020-10-14T12:19:54.036989+07:00 comp-celeron-cpu-68263b nm-dispatcher: System bus stopped. Exiting
2020-10-14T12:19:54.147015+07:00 comp-celeron-cpu-68263b messagebus: dbus-daemon shutdown succeeded
2020-10-14T12:19:54.318491+07:00 comp-celeron-cpu-68263b udevd: systemd-udevd shutdown succeeded

2020-10-14T12:22:22.994985+07:00 comp-celeron-cpu-68263b rsyslogd: rsyslogd startup succeeded
2020-10-14T12:22:23.039015+07:00 comp-celeron-cpu-68263b rc: Starting fbsetfont: succeeded
2020-10-14T12:22:23.072020+07:00 comp-celeron-cpu-68263b sysfs: Setting sysfs variables...
2020-10-14T12:22:23.077068+07:00 comp-celeron-cpu-68263b sysfs: #033[73G
2020-10-14T12:22:23.077419+07:00 comp-celeron-cpu-68263b sysfs: [
2020-10-14T12:22:23.080417+07:00 comp-celeron-cpu-68263b sysfs: #033[1m#033[32m
2020-10-14T12:22:23.080886+07:00 comp-celeron-cpu-68263b sysfs: DONE
2020-10-14T12:22:23.083200+07:00 comp-celeron-cpu-68263b sysfs: #033[39;49m#033[m#017
2020-10-14T12:22:23.085808+07:00 comp-celeron-cpu-68263b rc: Starting sysfs: succeeded
2020-10-14T12:22:23.167782+07:00 comp-celeron-cpu-68263b keytable: Loading keymap: ruwin-Corwin_alt_sh-UTF-8
2020-10-14T12:22:23.192446+07:00 comp-celeron-cpu-68263b setsyskeytable: Loading keymap: ruwin-Corwin_alt_sh-UTF-8 succeeded
2020-10-14T12:22:23.195424+07:00 comp-celeron-cpu-68263b keytable: #033[73G
2020-10-14T12:22:23.195681+07:00 comp-celeron-cpu-68263b keytable: [
2020-10-14T12:22:23.198141+07:00 comp-celeron-cpu-68263b keytable: #033[1m#033[32m
2020-10-14T12:22:23.198426+07:00 comp-celeron-cpu-68263b keytable: DONE
2020-10-14T12:22:23.200772+07:00 comp-celeron-cpu-68263b keytable: #033[39;49m#033[m#017
2020-10-14T12:22:23.206671+07:00 comp-celeron-cpu-68263b keytable: Loading compose keys: compose.latin
2020-10-14T12:22:23.217043+07:00 comp-celeron-cpu-68263b setsyskeytable: Loading compose keys: compose.latin succeeded
2020-10-14T12:22:23.219451+07:00 comp-celeron-cpu-68263b keytable: #033[73G
2020-10-14T12:22:23.219731+07:00 comp-celeron-cpu-68263b keytable: [
2020-10-14T12:22:23.221699+07:00 comp-celeron-cpu-68263b keytable: #033[1m#033[32m
2020-10-14T12:22:23.221968+07:00 comp-celeron-cpu-68263b keytable: DONE
2020-10-14T12:22:23.223939+07:00 comp-celeron-cpu-68263b keytable: #033[39;49m#033[m#017
2020-10-14T12:22:23.224660+07:00 comp-celeron-cpu-68263b keytable: Binding extra Win keys, loading: windowkeys-compose.inc
2020-10-14T12:22:23.237212+07:00 comp-celeron-cpu-68263b setsyskeytable: Binding extra Win keys, loading: windowkeys-compose.inc succeeded
2020-10-14T12:22:23.239783+07:00 comp-celeron-cpu-68263b keytable: #033[73G
2020-10-14T12:22:23.240084+07:00 comp-celeron-cpu-68263b keytable: [
2020-10-14T12:22:23.242533+07:00 comp-celeron-cpu-68263b keytable: #033[1m#033[32m
2020-10-14T12:22:23.242837+07:00 comp-celeron-cpu-68263b keytable: DONE
2020-10-14T12:22:23.245126+07:00 comp-celeron-cpu-68263b keytable: #033[39;49m#033[m#017
2020-10-14T12:22:23.246001+07:00 comp-celeron-cpu-68263b keytable: The BackSpace key sends: ^? loading delete.inc
2020-10-14T12:22:23.256187+07:00 comp-celeron-cpu-68263b setsyskeytable: The BackSpace key sends: ^? loading delete.inc succeeded
2020-10-14T12:22:23.258736+07:00 comp-celeron-cpu-68263b keytable: #033[73G
2020-10-14T12:22:23.259064+07:00 comp-celeron-cpu-68263b keytable: [
2020-10-14T12:22:23.261372+07:00 comp-celeron-cpu-68263b keytable: #033[1m#033[32m
2020-10-14T12:22:23.261668+07:00 comp-celeron-cpu-68263b keytable: DONE
2020-10-14T12:22:23.264062+07:00 comp-celeron-cpu-68263b keytable: #033[39;49m#033[m#017
2020-10-14T12:22:23.269562+07:00 comp-celeron-cpu-68263b rc: Starting keytable: succeeded
2020-10-14T12:22:23.389576+07:00 comp-celeron-cpu-68263b crond[3026]: (CRON) STARTUP (V5.0)
2020-10-14T12:22:23.396374+07:00 comp-celeron-cpu-68263b crond: crond startup succeeded
2020-10-14T12:22:23.488174+07:00 comp-celeron-cpu-68263b rsyslogd: action '*' treated as ':omusrmsg:*' - please use ':omusrmsg:*' syntax instead, '*' will not be supported in the future [v8.1901.0 try https://www.rsyslog.com/e/2184 ]
2020-10-14T12:22:23.488204+07:00 comp-celeron-cpu-68263b rsyslogd: error during parsing file /etc/syslog.conf, on or before line 68: warnings occured in file '/etc/syslog.conf' around line 68 [v8.1901.0 try https://www.rsyslog.com/e/2207 ]
2020-10-14T12:22:23.488221+07:00 comp-celeron-cpu-68263b rsyslogd:  [origin software="rsyslogd" swVersion="8.1901.0" x-pid="2881" x-info="https://www.rsyslog.com"] start
2020-10-14T12:22:23.515817+07:00 comp-celeron-cpu-68263b dm: rundm startup succeeded
2020-10-14T12:22:23.615243+07:00 comp-celeron-cpu-68263b chronyd[3171]: chronyd version 3.5.1 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +SECHASH +IPV6 -DEBUG)
2020-10-14T12:22:23.617149+07:00 comp-celeron-cpu-68263b chronyd[3171]: Frequency 14.805 +/- 0.108 ppm read from /var/lib/chrony/drift
2020-10-14T12:22:23.624860+07:00 comp-celeron-cpu-68263b chronyd: chronyd startup succeeded
2020-10-14T12:22:23.741018+07:00 comp-celeron-cpu-68263b spice-vdagentd: Error creating login monitor: No such file or directory
2020-10-14T12:22:23.741047+07:00 comp-celeron-cpu-68263b spice-vdagentd: no session info, max 1 session agent allowed
2020-10-14T12:22:23.745111+07:00 comp-celeron-cpu-68263b spice-vdagentd: spice-vdagentd startup succeeded
2020-10-14T12:22:23.869591+07:00 comp-celeron-cpu-68263b virtualbox: Loading VirtualBox module (vboxdrv): succeeded
2020-10-14T12:22:23.886542+07:00 comp-celeron-cpu-68263b virtualbox: Loading VirtualBox module (vboxnetflt): succeeded
2020-10-14T12:22:23.906896+07:00 comp-celeron-cpu-68263b virtualbox: Loading VirtualBox module (vboxnetadp): succeeded
2020-10-14T12:22:24.083969+07:00 comp-celeron-cpu-68263b ahttpd: ahttpd startup succeeded
2020-10-14T12:22:24.202814+07:00 comp-celeron-cpu-68263b alteratord: alteratord startup succeeded
2020-10-14T12:22:24.983696+07:00 comp-celeron-cpu-68263b rc.sysinit: Mounting /proc: succeeded
2020-10-14T12:22:24.983719+07:00 comp-celeron-cpu-68263b rc.sysinit: Remounting /sys: succeeded
2020-10-14T12:22:24.983726+07:00 comp-celeron-cpu-68263b systemd-tmpfiles[1774]: /lib/tmpfiles.d/open-vm-tools-vgauthd.conf:1: Line references path below legacy directory /var/run/, updating /var/run/vmware → /run/vmware; please update the tmpfiles.d/ drop-in file accordingly.
2020-10-14T12:22:24.983736+07:00 comp-celeron-cpu-68263b udevd: systemd-udevd startup succeeded
..

При повторной загрузке сразу дистанционно вхожу в систему, она уже в загруженном состоянии. В корневой паке появляется файл с Логом от VBoxSVC. Правда время какое то дебильное? Файл ниже совпадает с выключение на cat /var/log/messages
$ cat /home/san/2020-10-14-05-19-54.067-VBoxSVC-3472.log
Log created: 2020-10-14T05:19:54.674738000Z
Process ID:  3472 (0xd90)
Parent PID:  1 (0x1)
Executable:  /usr/lib64/virtualbox/VBoxSVC
Arg[0]: /usr/lib64/virtualbox/VBoxSVC
Arg[1]: --auto-shutdown
AddRef: illegal refcnt=3221225469 state=2

Оффлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 153
Цитата: Александр Ерещенко от Вчера в 09:35:18

    Кстати, для удобства в скрипте имя VM (или её uuid, что равнозначно) лучше вынести в переменную и уже её использовать в параметрах VBoxManage. А в идеале, считывать этот параметр из конфиг-файла (образцы в init-скриптах есть)

Александр, подскажите Пожалуйста как это делается? Хотя бы с чего начать?
Начать пожалуй надо с основ программирования на bash. Есть старый хороший текст "Advanced Bash-Scripting Guide" например здесь http://rus-linux.net/MyLDP/BOOKS/abs-guide/flat/abs-book.html
Можно посмотреть на уже имеющиеся скрипты, там обычно есть строчка типа
SourceIfNotEmpty /etc/sysconfig/clockВ файле /etc/sysconfig/clock , как можете глянуть, есть объявления переменных (с комментариями для удобства). Эти переменные потом используются далее в скрипте.
Например, у вас есть свой файл с конфигом /etc/sysconfig/my_vb_config
# Имя VM для автозапуска
VMNAME="Windows XP Alternative"
В скрипте это используется так (ваши же команды для образца):
SourceIfNotEmpty /etc/sysconfig/my_vb_config

# Запуск
su -l -c  "VBoxManage startvm \"$VMNAME\" --type headless" san

# Останов
VBoxManage controlvm "$VMNAME" acpipowerbutton
Кавычки, который обрамляют переменную, обязательны, чтобы корректно отработалось значение переменной (имя VM) с пробелами внутри.

Возник уже Вопрос! Довольно тупой, но... Скажите, а как проконтролировать процесс завершения работы Гостевой?
Список запущенных VM можно увидеть так:
VBoxManage list runningvmsМожно анализировать вывод этой команды - если пусто, то все уже завершились.
if [ -z "`VBoxManage list runningvms`" ]
then
    echo "Никто не запущен"
else
    echo "Кто-то выполняется"
fi
Обратите внимание на обратные кавычки, которые обрамляют команду - это означает, что будет использоваться вывод этой команды, подробнее читать в руководстве по BASH

ЗЫ. Напоминание: практически все консольные и не только консольные программы выдают подсказку по своим аргументам, если запустить их в консоли с ключом --help
« Последнее редактирование: 14.10.2020 21:30:22 от Александр Ерещенко »

Оффлайн San

  • Завсегдатай
  • *
  • Сообщений: 683
В файле /etc/sysconfig/clock , как можете глянуть, есть объявления переменных (с комментариями для удобства). Эти переменные потом используются далее в скрипте.
Например, у вас есть свой файл с конфигом /etc/sysconfig/my_vb_config
Ок. Спасибо. Сейчас попробую...
Список запущенных VM можно увидеть так:
VBoxManage list runningvmsМожно анализировать вывод этой команды - если пусто, то все уже завершились.
Немного не то. Возможно я вопрос не корректно поставил... Командой VBoxManage list runningvms я пользуюсь, но это уже в работе. Мне бы понять, правильно ли завершилась работа Гостевой при Выключении питания Хоста?

Я написал там, что не пойму, ни по выводу cat /var/log/messages, не по лог файлу Гостевой cat /home/san/2020-10-14-05-19-54.067-VBoxSVC-3472.log что  происходит?
« Последнее редактирование: 15.10.2020 10:07:18 от San »

Оффлайн San

  • Завсегдатай
  • *
  • Сообщений: 683
Например, у вас есть свой файл с конфигом /etc/sysconfig/my_vb_config
А как конфиг /etc/sysconfig/my_vb_config к системе прикрутить? Или достаточно разместить его в этой папке?

Оффлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 153
Например, у вас есть свой файл с конфигом /etc/sysconfig/my_vb_config
А как конфиг /etc/sysconfig/my_vb_config к системе прикрутить? Или достаточно разместить его в этой папке?
Да, это просто файл. Насчет выбора имени для него - логично называть по аналогии имени своего скрипта (сервиса) в init.d, главное чтобы не пересекалось с теми, что там есть и могут быть когда-либо установлены.

Оффлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 153
Немного не то. Возможно я вопрос не корректно поставил... Командой VBoxManage list runningvms я пользуюсь, но это уже в работе. Мне бы понять, правильно ли завершилась работа Гостевой при Выключении питания Хоста?

Я написал там, что не пойму, ни по выводу cat /var/log/messages, не по лог файлу Гостевой cat /home/san/2020-10-14-05-19-54.067-VBoxSVC-3472.log что  происходит?
Тут вопрос непростой.
По команде VBoxManage controlvm "$VMNAME" acpipowerbutton гостевой системе посылается сигнал "нажатия кнопки питания", который уже сама гостевая система должна обработать. Обычно действие на это событие - завершение работы, но могут быть и варианты - уйти в сон (как в винде на ноутах по-умолчанию) или спросить пользователя "что делать" (бывает такая настройка в DE в линуксе). И насколько корректно обработался сигнал и завершилась работа системы, можно увидеть только в логах самой гостевой системы.
Может оказаться так, что сигнал acpipowerbutton никак не обработается и система продолжит работать.
В скрипте останова VM лучше это предусмотреть. Например, дать сигнал acpipowerbutton, потом подождать некоторое время (5-10 сек. - сколько обычно надо вашей гостевой системе на завершение), проверить, завершилась ли, можно еще подождать, ещё раз проверить и так сделать цикл ожидания раз 3-10 (сколько не надоест :) ) , а потом, если всё-таки надоело, дать сигнал гостевой системе poweroff для принудительного завершения:VBoxManage controlvm "$VMNAME" poweroff