Üdv,
Egyik nap kipróbálom az autostart szolgáltatást (Fc35):
https://docs.oracle.com/en/virtualization/virtualbox/6.0/admin/autostar…
https://forums.fedoraforum.org/showthread.php?319594-Start-VM-(VirtualB…
cat /etc/default/virtualbox
----------------------------------------------------------------
sleep 10
VBOXAUTOSTART_DB=/etc/vbox
VBOXAUTOSTART_CONFIG=/etc/vbox/vboxautostart.cfg
cat /etc/vbox/autostart.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
ralph = {
allow = true
startup_delay = 10
}
De ez gondolom csak a root usernél létrehozott VM-ekre vonatkozik. Sima user VM-jeit nem fogja tudni elindítani.
Jól gondolom?
- 329 megtekintés
Hozzászólások
Szerintem meg el fogja tudni indítani. Bár nem vagyok benne biztos, nem használtam még ilyet. Ha rám hallgatsz, akkor nem Fedora 35 specifikus dolgokkal oldod meg, hanem általános linuxos logikával. Írsz egy scriptet, 2 soros, ami elindítja a vbox-ot az illető VM nevével:
#!/bin/sh
VBoxManage startvm "virtuális_gép_pontos neve"
Ezt vagy beteszed vagy a DE-d autostart-jába (ez DE-nként változó, hogy hová kell betenni, hogy kell beállítani, vagy a WM rc-jébe vagy xinitbe, esetleg írsz rá egy systemd service fájlt (ez is egy script lényegében), és meghívod vele a saját scripted, majd systemctl enable kiadásával engedélyezed bootkor. Sokféle megoldás van, ami minden Linux disztrón menni fog, nem csak Fedora, CentOS, Alma, Rocky, Ubuntu Serveren. Ezt nem értettek már a minap egy másik topikban sem, odavoltak, hogy a Proxmox az isten, közben meg amit azon lehet, azt meg lehet csinálni akármelyik másik generic disztrón is, ha ez ember nem egy bites, egy klikkes egységsugarú user. Aki nem kezdő user, annak a disztró majdnem mindegy, mert meg tud magának oldani bármit bármelyik disztrón, onnantól meg észreveszi, hogy nem számít a disztró, meg hogy LTS legyen, hanem fel tudja építeni bármelyiken a saját workflow-jához szükséges dolgokat. Igazából a disztrók a nagy sokszínűség közepette mind egyformák, mind ugyanaz a systemd+GNU Linux, szokásos GRUB, X + valami témázott DE és előválogatott programok default telepítésével, de ha ezek mögé nézünk, kb. csak abban különböznek, hogy mi a kiadási/frissítési metódusuk (kiadás alapú vagy rolling) és hogy mi a csomagkezelője, meg hogy milyen tárolókban hány csomag van, meg hogy adsz hozzá külső tárolókat.
“The world runs on Excel spreadsheets.” (Dylan Beattie)
- A hozzászóláshoz be kell jelentkezni
Kipróbáltam:
VBoxManage startvm "vm_name"
Az adott felhasználó virtuális gépeit látja. Logikus is.
Olyan megoldást keresek, ami DE független. Tehát elindul a gép és login nélkül elindítja a VMeket (mint szerver).
- A hozzászóláshoz be kell jelentkezni
Szerintem akkor scriptben a runuser vagy a su paranccsal rootként bármelyik user nevében el lehet indítani a gépet.
Erre gondolok:
runuser -l UserName -c 'VBoxManage startvm "vm_name"'
vagy
su - UserName -c 'VBoxManage startvm "vm_name"'
Nagy Péter
- A hozzászóláshoz be kell jelentkezni
A kérdésben levő idézet picit zavaros: comment-ben Bob-ot ír, utána ír egy sort a Ralph nevű user-hez :D
A virtualbox manual-jában jól szerelep (https://www.virtualbox.org/manual/UserManual.html#autostart):
# 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
}
Szóval ha az a feladat, hogy minden felhasználónak automatikusan indulhasson a VM-e, akkor szerintem a default_policy -t át kell lökni "allow" értékre.
Ha csak 1-1 felhasználónál, akkor maradjon "deny" és felsoroljuk, hogy kiknek engedjük (pl bob-nak a fenti példa alapján)
Utána persze definiálni kell azt is, hogy melyik VM-ek indulhatnak automatikusan:
VBoxManage modifyvm VM name or UUID --autostart-enabled on
Ha csak 1-1 felhasználó 1-1 VM-ét akarjuk automatikusan indítani, akkor cron-ba csak belökném, hogy "@reboot VBoxManage startvm name --type headless"
Ezek után szerintem szépen el fog indulni automatikusan a megadott felhasználókkal a megadott VM-ek
- A hozzászóláshoz be kell jelentkezni
Bár nem tudom, hogy mennyire hasznos neked, de ilyen feladtokhoz én mindig Vagrant-ot (https://www.vagrantup.com/) használok. Sok terhet levesz a válladról.
- A hozzászóláshoz be kell jelentkezni
Most csak egy gyors, egyszerű megoldást kerestem.
A vagrant-ot, ansible-t próbáltam már. Jók!
:)
- A hozzászóláshoz be kell jelentkezni
Én így csináltam:
touch /etc/systemd/system/vm.service
A file tartalma:
[Unit]
Description=VM service
After=network.target vboxdrv.service
[Service]
ExecStart=/bin/su -c "/usr/bin/vboxheadless -s vm" - username
ExecStop=/bin/su -c "/usr/bin/vboxmanage controlvm vm savestate" - username
[Install]
WantedBy=multi-user.target
Utána:
systemctl daemon-reload
systemctl enable vm
Tiszta shutdown save state valamiért nem megy host reboot-kor, még nem álltam neki kideríteni miért... De az autostart jól megy. Az OS stabil Debian.
- A hozzászóláshoz be kell jelentkezni
Köszi, ez is egy jó opció!!
- A hozzászóláshoz be kell jelentkezni