Skocz do zawartości

Zapisanie Wirtualnego Systemu Przy Wyjściu


borzole

Rekomendowane odpowiedzi

Chciałbym, aby maszyny wirtualne same się zapisywały przy wylogowaniu/zamknięciu systemu.

Dopisałem do plików:

~/.bash_logout oraz /etc/gdm/PostSession/Default

taką sekwencję

for v in $(VBoxManage -q list runningvms | cut -d'"' -f2) 
do
       VBoxManage -q controlvm $v savestate
done

Na sucho działa, ale nie w tych plikach. Wydaje mi się, że system zwyczajnie ubija proces, bo się ociąga. Jest na to sposób?

Odnośnik do komentarza
Udostępnij na innych stronach

Może spróbuj zmodyfikować /etc/init.d/halt tak, żeby na początku sprawdzał w pętli czy proces VBoxManage jest jeszcze aktywny i dopiero potem wykonywał się dalej.

Tzn. głowy nie dam, że to ten skrypt, ale w tych okolicach bym szukał.

 

Odnośnik do komentarza
Udostępnij na innych stronach

Przed /etc/init.d/halt wyłączana jest usługa /etc/init.d/vboxdrv

Zaglądam do środka, a tam instrukcja na mój problem :)

$ cat /etc/default/virtualbox

# enter the following variables in /etc/default/virtualbox:
SHUTDOWN_USERS="root lucas"
#   check for running VMs of user foo and user bar
#   SHUTDOWN=poweroff
#   SHUTDOWN=acpibutton
SHUTDOWN=savestate
#   select one of these shutdown methods for running VMs

Niestety nadal nie działa ;( nie kumam co źle robię.

 

Odnośnik do komentarza
Udostępnij na innych stronach

Tu się chyba tylko określa kto może wyłączyć maszynę (root i Ty) i sposób wyłączenia (zapisanie stanu maszyny). Jednak nic tu nie określa opóźnienia i/lub warunków kiedy "shutdown" gospodarza ma zabijać wszystkie pozostające procesy.

Odnośnik do komentarza
Udostępnij na innych stronach

Właściwie to nazwy userów się wpisuje tylko po to, żeby pętla się wykonała chociaż raz i do posprzątania śmieci z /tmp (tak pobieżnie przejrzałem skrypt ). Ale to nie istotne. Mając taki plik /etc/default/virtualbox jak wyżej, maszynki się ładnie zapisują przy ręcznym zatrzymywaniu usługi

service vboxdrv stop

niestety nie przy init 0/6

Kombinowałem z czymś takim

notes="logger -t ratatui"
$notes "TEST: VBoxManage -q list runningvms"
VBoxManage -q list runningvms
$notes "TEST: VBoxManage -q list runningvms | grep . "
VBoxManage -q list runningvms | grep .
while VBoxManage -q list runningvms | grep . >/dev/null
do
    $notes "Oczekuje na zamknięcie VMs"
    for v in $(VBoxManage -q list runningvms | cut -d'"' -f2)
    do
        $notes "VBoxManage -q controlvm $v savestate"
        VBoxManage -q controlvm $v savestate
    done
done
$notes "TEST: VMS zakończony"

w skryptach /etc/init.d/halt potem /etc/init.d/killall w końcu na początku /etc/rc.d/rc ale nadal nie działa i ubija maszynki. Logger też nic nie zapisuje

$ sudo grep ratatui /var/log/messages

nic nie zwraca, chociaż "z palca" działa.

Sprawdzałem przez "strace" czy chkconfig jakieś inne pliki otwiera, ale nic nie znalazłem.

Nadal nie wiem, który program ubija mi maszynki.

 

[EDIT]

Cholercia, nigdy nie grzebcie w pliku /etc/rc.d/rc ot tak sobie. System przy starcie zaczął wariować z tym wpisem i nie dawał się uruchomić nawet w init 1 (nic dziwnego zresztą).

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...