v_lizedlab
Inhaltsverzeichnis
VlizedLab
Download
http://proxy.asn-graz.ac.at/~d4e/experimental/
tar xvfj vlizedlab.x86_64.tar.bz2 -C /
- PXE Installationsdateien
/srv/tftpboot
- Skripte (künftig als YaST-Modul)
/opt/s4e/vlizedlab
- Globale Konfiguration für alle virtuellen Maschinen
/usr/share/vlizedlab/scripts/vb…
- Beispiel-Konfigurationsdateien für die jeweilige virtuelle Maschine
/vm/vb/Windows7…
Installation via PXE
LABEL vlizedlabclient32 MENU LABEL V'lizedLab Client 32-bit installieren KERNEL /vlizedlab/i386/boot/vmlinuz APPEND ip=dhcp boot=live netboot=nfs nfsroot=192.168.100.14:/daten/tftpboot/vlizedlab/i386/ root=/dev/nfs initrd=/vlizedlab/i386/boot/initrd.img FAI_FLAGS="verbose,createvt" FAI_ACTION=install hostname=vlclientde panic=60 vga=788 fb=false nomodeset LABEL vlizedlabclient64 MENU LABEL V'lizedLab Client 64-bit installieren KERNEL /vlizedlab/amd64/boot/vmlinuz APPEND ip=dhcp boot=live netboot=nfs nfsroot=192.168.100.14:/daten/tftpboot/vlizedlab/amd64/ root=/dev/nfs initrd=/vlizedlab/amd64/boot/initrd.img FAI_FLAGS="verbose,createvt" FAI_ACTION=install hostname=vlclientde panic=60 vga=788 fb=false nomodeset
Konfiguration
- Standardbenutzer
- root : open23
- student : student
apt-get update apt-get install mc vim htop hwinfo screen virtualbox virtualbox-ose hal ntpdate ntfs-3g apt-get dist-upgrade
-
- vimrc
- inputrc
apt-get purge linux-headers-3.1.0-1-486 linux-headers-3.1.0-1-686-pae linux-headers-3.1.0-1-common linux-image-3.1.0-1-486 linux-image-3.1.0-1-686-pae linux-kbuild-3.1 linux-headers-3.2.0-2-486 linux-image-3.2.0-2-486 linux-image-486
vi /etc/default/grub
update-grup
ntpdate bgweiz.at; hwclock -w -u; date
- /home/student/.xinitrc
... exec vlstartvbmachine vb/d4e2012 & exec xterm -fn 9x15bold -title "Virtual Machine Start Menu" -e /usr/share/vlizedlab/scripts/startmenustudent
- /usr/share/vlizedlab/scripts/startmenustudent
#!/bin/bash # normally started as user Student within X VLCOMMON=/usr/share/vlizedlab/scripts/common if [ -f $VLCOMMON ]; then source $VLCOMMON ; else exit 1; fi TITLE="VlizedlabClient - Bundesgymnasium und Bundesrealgymnasium Weiz - `hostname`" sleep 1 DOEXIT=no while [ "$DOEXIT" != yes ]; do MENU="" NR=1 for XC in \ `find $VBHOME -maxdepth 2 -a -type f -a \( -name '*.sh' -o -name '*.vdi' \) -exec dirname {} \; \ | sort -ru ` ; do MNAME=`basename $XC` MDIR=`dirname $XC` MTOOL=`basename $MDIR` MENU="$MENU $NR ${MNAME}" NR=`expr $NR + 1` done MENU="$MENU u Wechseldatenträger_aushängen x xterm t Beenden" choice=`dialog --cr-wrap \ --backtitle "$TITLE" \ --defaultno \ --menu 'Bitte auswählen:' 0 0 0 $MENU 3>&1 1>&2 2>&3` clear #echo "Updating Virtual Machine $choice" case $choice in [1-9]|[0-9][0-9]) VM="" NR=1 for XC in \ `find $VBHOME -maxdepth 2 -a -type f -a \( -name '*.sh' -o -name '*.vdi' \) -exec dirname {} \; \ | sort -ru ` ; do if [ "$NR" = "$choice" ]; then MNAME=`basename $XC` MDIR=`dirname $XC` MTOOL=`basename $MDIR` fi NR=`expr $NR + 1` done if [ "$MTOOL" = vb ]; then vlstartvbmachine $MTOOL/$MNAME fi echo "waiting..." ;; um) clear devmon --unmount-recent sleep 2 ;; u) clear devmon --unmount-all sleep 2 ;; vv) sudo /usr/sbin/vlviewremote -viewonly ;; v) sudo /usr/sbin/vlviewremote ;; sr) vlsetresolution menu ;; x) xterm -e bash -c "echo 'Logging in as user >student<; Please provide password.'; sudo /bin/login student" & ;; t) DOEXIT=yes ;; esac done
- /etc/X11/ion3/cfg_ioncore.lua
... --kpress(ALTMETA.."F12", "mod_query.query_menu(_, _sub, 'mainmenu', 'Main menu:')"), --kpress(ALTMETA.."F12", "mod_menu.menu(_, _sub, 'mainmenu', {big=true})"), ... bdoc("Query for manual page to be displayed."), --kpress(ALTMETA.."F1", "mod_query.query_man(_, ':man')"), bdoc("Show the Ion manual page."), --kpress(META.."F1", "ioncore.exec_on(_, ':man ion3')"), bdoc("Run a terminal emulator."), --kpress(ALTMETA.."F2", "ioncore.exec_on(_, XTERM or 'x-terminal-emulator')"), bdoc("Query for command line to execute."), --kpress(ALTMETA.."F3", "mod_query.query_exec(_)"), bdoc("Query for Lua code to execute."), --kpress(META.."F3", "mod_query.query_lua(_)"), bdoc("Query for host to connect to with SSH."), --kpress(ALTMETA.."F4", "mod_query.query_ssh(_, ':ssh')"), bdoc("Query for file to edit."), --kpress(ALTMETA.."F5", -- "mod_query.query_editfile(_, 'run-mailcap --action=edit')"), bdoc("Query for file to view."), --kpress(ALTMETA.."F6", -- "mod_query.query_runfile(_, 'run-mailcap --action=view')"), bdoc("Query for workspace to go to or create a new one."), --kpress(ALTMETA.."F9", "mod_query.query_workspace(_)"), bdoc("Query for a client window to go to."), --kpress(META.."G", "mod_query.query_gotoclient(_)"), bdoc("Display context menu."), --kpress(META.."M", "mod_menu.menu(_, _sub, 'ctxmenu')"), --kpress(META.."M", "mod_query.query_menu(_, _sub, 'ctxmenu', 'Context menu:')"), ...
- /etc/X11/ion3/cfg_defaults.lua
... --dopath("mod_statusbar") --dopath("mod_dock") ...
chmod 4755 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
- /var/spool/cron/crontabs/root
... 0 20 * * * /sbin/halt
Virtuelle Maschinen
- Globale Konfiguration:
- /usr/share/vlizedlab/scripts/vb.init.default.sh
#!/bin/bash -x VERSION=2 echo "starting MACHINE >$MACHINE< in >$MACHINEDIR<" VBoxManage --nologo createvm --name $MACHINE --register --basefolder $MACHINEDIR VBoxManage --nologo modifyvm $MACHINE --synthcpu on --memory 1536 --vram 21 --pae off --ioapic on --hwvirtex off --bioslogofadein off --bioslogofadeout off --bioslogodisplaytime 1 --nic1 nat --audio alsa --accelerate2dvideo on --accelerate3d on if [ -f $MACHINEDIR/init.add.sh ]; then source $MACHINEDIR/init.add.sh fi ( sleep 10 && ( VBoxManage controlvm $MACHINE setvideomodehint 800 600 32 ) ) &
Windows 7
- /vm/vb/Windows7/init.add.sh
VBoxManage --nologo modifyvm $MACHINE --ostype "Windows7" VBoxManage --nologo modifyvm $MACHINE --nictype1 "82540EM" --audiocontroller hda VBoxManage --nologo storagectl $MACHINE --name C$MACHINE --add sata --controller IntelAHCI --hostiocache on VBoxManage --nologo sharedfolder add $MACHINE --name media --hostpath /media --automount mtyp="immutable" #mtyp="normal" VBoxManage --nologo storageattach $MACHINE --storagectl C$MACHINE --port 1 --device 0 \ --type hdd --medium $MACHINEDIR/$MACHINE.vdi --mtype $mtyp #VBoxManage --nologo storageattach $MACHINE --storagectl C$MACHINE --port 1 --device 0 \ # --type dvddrive --medium $MACHINEDIR/Windows7_AIO.iso
WindowsXP
- /vm/vb/WindowsXP/init.add.sh
VBoxManage --nologo modifyvm $MACHINE --ostype "WindowsXP" VBoxManage --nologo modifyvm $MACHINE --nictype1 "Am79C970A" --audiocontroller hda VBoxManage --nologo storagectl $MACHINE --name C$MACHINE --add ide --controller PIIX4 --hostiocache on VBoxManage --nologo sharedfolder add $MACHINE --name media --hostpath /media --automount mtyp="immutable" #mtyp="normal" VBoxManage --nologo storageattach $MACHINE --storagectl C$MACHINE --port 1 --device 0 \ --type hdd --medium $MACHINEDIR/$MACHINE.vdi --mtype $mtyp #VBoxManage --nologo storageattach $MACHINE --storagectl C$MACHINE --port 1 --device 0 \ # --type dvddrive --medium $MACHINEDIR/WindowsXP.iso
d4e2012
- /vm/vb/d4e2012/init.add.sh
VBoxManage --nologo modifyvm $MACHINE --ostype "OpenSUSE" VBoxManage --nologo modifyvm $MACHINE --nictype1 "82540EM" --audiocontroller ac97 VBoxManage --nologo storagectl $MACHINE --name C$MACHINE --add ide --controller PIIX4 --hostiocache off VBoxManage --nologo sharedfolder add $MACHINE --name media --hostpath /media --automount mtyp="immutable" #mtyp="normal" VBoxManage --nologo storageattach $MACHINE --storagectl C$MACHINE --port 1 --device 0 \ --type hdd --medium $MACHINEDIR/$MACHINE.vdi --mtype $mtyp #VBoxManage --nologo storageattach $MACHINE --storagectl C$MACHINE --port 1 --device 0 \ # --type dvddrive --medium $MACHINEDIR/d4e2012.i586.iso
Windows 8
- /vm/vb/Windows8/init.add.sh
VBoxManage --nologo modifyvm $MACHINE --synthcpu on --memory 3000 --vram 21 --pae on --ioapic on --hwvirtex on --bioslogofadein off --bioslogofadeout off --bioslogodisplaytime 1 --nic1 nat --audio alsa --accelerate2dvideo off --accelerate3d off VBoxManage --nologo modifyvm $MACHINE --ostype "Windows8" VBoxManage --nologo modifyvm $MACHINE --nictype1 "82540EM" --audiocontroller hda VBoxManage --nologo storagectl $MACHINE --name C$MACHINE --add sata --controller IntelAHCI --hostiocache on VBoxManage --nologo sharedfolder add $MACHINE --name media --hostpath /media --automount mtyp="immutable" #mtyp="normal" VBoxManage --nologo storageattach $MACHINE --storagectl C$MACHINE --port 1 --device 0 \ --type hdd --medium $MACHINEDIR/$MACHINE.vdi --mtype $mtyp #VBoxManage --nologo storageattach $MACHINE --storagectl C$MACHINE --port 1 --device 0 \ # --type dvddrive --medium $MACHINEDIR/de_windows_8_x64_x86_aio.iso
d4e2012-live
- /vm/vb/d4e2012-live/init.add.sh
VBoxManage --nologo modifyvm $MACHINE --ostype "Debian" VBoxManage --nologo modifyvm $MACHINE --chipset piix3 --pagefusion on VBoxManage --nologo storagectl $MACHINE --name C$MACHINE --add ide --controller PIIX4 --hostiocache on VBoxManage --nologo modifyvm $MACHINE --mouse usbtablet VBoxManage --nologo sharedfolder add $MACHINE --name media --hostpath /media --automount VBoxManage --nologo storageattach $MACHINE --storagectl C$MACHINE --port 1 --device 0 \ --type dvddrive --medium $MACHINEDIR/d4e2012-live.iso
Lernstick
- /vm/vb/lernstick/init.add.sh
#!/bin/bash MACHINE="geogebra" MACHINEDIR="/home/matthias/Downloads/geogebra" rm -rf $MACHINEDIR/$MACHINE VBoxManage --nologo createvm --name $MACHINE --register --basefolder $MACHINEDIR VBoxManage --nologo modifyvm $MACHINE --synthcpu on --memory 1536 --vram 21 --ioapic on --hwvirtex off --bioslogofadein off --bioslogofadeout off --bioslogodisplaytime 1 --nic1 nat --audio alsa --accelerate2dvideo on --accelerate3d on VBoxManage --nologo modifyvm $MACHINE --ostype "Debian" VBoxManage --nologo modifyvm $MACHINE --chipset piix3 --pagefusion on VBoxManage --nologo storagectl $MACHINE --name C$MACHINE --add ide --controller PIIX4 --hostiocache on VBoxManage --nologo modifyvm $MACHINE --mouse usbtablet VBoxManage --nologo storageattach $MACHINE --storagectl C$MACHINE --port 1 --device 0 \ --type dvddrive --medium $MACHINEDIR/geogebra-lernstick-2014-02-18.iso VBoxManage --nologo startvm $MACHINE 2>&1 3>&1
Dateien und Ordner auf alle Clients übertragen
Sender
- Dateien und Ordner in Liste eintragen, welche übertragen werden sollten:
- /root/udpcastlist
/home/student/.xinitrc /usr/share/vlizedlab/scripts/vb.init.default.sh
Empfänger
- /usr/local/bin/getfiles
#!/bin/bash udp-receiver --nosync --nokbd | tar -xvz -C /
chmod 700 /usr/local/bin/getfiles
- getfiles auf Clients in screen Sitzung starten
- Am Sender:
tar -czv udpcastlist `cat udpcastlist` | udp-sender
Verteilen der virtuellen Maschinen
Empfänger
vludpreceiveVMs
Sender
vludpsendVMs
Deployment auf einen anderen Rechner
- Knoppix 32/64bit LIVE System starten
cfdisk /dev/sda
sda1 Boot-Flag Primary Linux 5229.51MB sda2 Primary Linux-swap 2113.90MB sda3 Primary Linux Rest
mkfs.ext2 /dev/sda1 mkswap /dev/sda2 mkfs.xfs /dev/sda3
rsync -av -P --exclude=dev --exclude=proc --exclude=sys --exclude=vm -e ssh root@192.168.100.130:/ /media/sda1/.
rsync -av -P -e ssh root@192.168.100.130:/vm/ /media/sda3/.
mkdir /media/sda3/{dev,proc,sys,vm}
rm /media/sda1/etc/udev/rules.d/70-persistent-net.rules
mount --bind /proc /media/sda1/proc mount --bind /dev /media/sda1/dev mount --bind /sys /media/sda1/sys
chroot /media/sda1 /bin/bash
grub-install /dev/sda update-grub
exit; umount /media/sda1/proc /media/sda1/dev /media/sda1/sys; reboot
Wartung via Planck
- planck:/opt/wartung/vlizedlab #
- /etc/dhcpd.conf
authoritative; ddns-update-style none; # eth2 unterrichtsnetz subnet 192.168.100.0 netmask 255.255.255.0 { authoritative; range 192.168.100.161 192.168.100.200; range 192.168.100.30 192.168.100.100; default-lease-time 14400; max-lease-time 172800; option broadcast-address 192.168.100.255; option routers 192.168.100.254; option subnet-mask 255.255.255.0; option netbios-name-servers 192.168.100.254; option netbios-node-type 8; option domain-name-servers 193.170.221.1, 8.8.4.4, 8.8.8.8; option ntp-servers 193.170.221.1; # pxe filename "pxelinux.0"; next-server 192.168.100.14; } # AULA HP xw4400 Workstation host aula01 { hardware ethernet 00:1c:c4:32:0b:b7; fixed-address 192.168.100.74; } host aula02 { hardware ethernet 00:15:60:a4:48:7f; fixed-address 192.168.100.75; } host aula03 { hardware ethernet 00:1b:78:b0:8c:2c; fixed-address 192.168.100.76; } host aula04 { hardware ethernet 00:1c:c4:32:0a:30; fixed-address 192.168.100.77; } host aula05 { hardware ethernet 00:1c:c4:32:07:88; fixed-address 192.168.100.78; } host aula06 { hardware ethernet 00:1b:78:b0:86:50; fixed-address 192.168.100.79; } host aula07 { hardware ethernet 00:1b:78:a5:f6:c2; fixed-address 192.168.100.80; } host aula08 { hardware ethernet 00:1c:c4:32:0b:a0; fixed-address 192.168.100.81; } host aula09 { hardware ethernet 00:1c:c4:32:07:34; fixed-address 192.168.100.82; } host aula10 { hardware ethernet 00:1c:c4:32:0b:e5; fixed-address 192.168.100.83; } host aula11 { hardware ethernet 00:1c:c4:32:0b:db; fixed-address 192.168.100.84; } host aula12 { hardware ethernet 00:1c:c4:32:0b:a1; fixed-address 192.168.100.85; } # eth1 verwaltungsnetz subnet 192.168.238.0 netmask 255.255.255.0 { range 192.168.238.100 192.168.238.200; default-lease-time 345600; max-lease-time 691200; option broadcast-address 192.168.238.255; option routers 192.168.238.254; option subnet-mask 255.255.255.0; option netbios-name-servers 193.170.221.1; option domain-name-servers 8.8.8.8, 193.170.221.1, 8.8.8.8; option ntp-servers 193.170.221.1; }
- klonen.sh
#!/bin/bash if [ "$1" != "eg" ] && [ "$1" != "ikt" ] &&[ "$1" != "aula" ] &&[ "$1" != "ug" ] &&[ "$1" != "klabu" ]; then echo "eg / ikt / aula / ug / klabu" exit fi clients=`awk '/'$1'/ {print $2}' /etc/dhcpd.conf` if [ "$1" == "ikt" ]; then MUSTERRECHNER="192.168.100.130" elif [ "$1" == "klabu" ]; then MUSTERRECHNER="192.168.100.86" elif [ "$1" == "aula" ]; then MUSTERRECHNER="192.168.100.74" elif [ "$1" == "eg" ]; then MUSTERRECHNER="192.168.100.60" elif [ "$1" == "ug" ]; then MUSTERRECHNER="192.168.100.109" fi for client in $clients; do echo $client IP=`awk '/'$client'/ {print $8}' /etc/dhcpd.conf | tr -d ";"` if [ "$IP" != "$MUSTERRECHNER" ]; then /usr/bin/expect -c " spawn /usr/bin/ssh -q -l root $IP \" killall udp-receiver; killall VirtualBox; vlinitvbox; killall screen; rm -rf /var/run/screen; mkdir /var/run/screen; chown root:utmp /var/run/screen; screen -dm -S udp vludpreceiveVMs; \" ;\ expect \"word: \" {send \"PASSWORT\r\" } ;\ interact " fi done
- transfer.sh
#!/bin/bash if [ "$1" != "eg" ] && [ "$1" != "ikt" ] &&[ "$1" != "aula" ] &&[ "$1" != "ug" ] &&[ "$1" != "klabu" ]; then echo "eg / ikt / aula / ug / klabu" exit fi clients=`awk '/'$1'/ {print $2}' /etc/dhcpd.conf` if [ "$1" == "ikt" ]; then MUSTERRECHNER="192.168.100.130" elif [ "$1" == "klabu" ]; then MUSTERRECHNER="192.168.100.86" elif [ "$1" == "aula" ]; then MUSTERRECHNER="192.168.100.74" elif [ "$1" == "eg" ]; then MUSTERRECHNER="192.168.100.60" elif [ "$1" == "ug" ]; then MUSTERRECHNER="192.168.100.109" fi for client in $clients; do echo $client IP=`awk '/'$client'/ {print $8}' /etc/dhcpd.conf | tr -d ";"` if [ "$IP" != "$MUSTERRECHNER" ]; then /usr/bin/expect -c " spawn /usr/bin/ssh -q -l root $IP \" killall screen; rm -rf /var/run/screen; mkdir /var/run/screen; chown root:utmp /var/run/screen; screen -dm -S udp /usr/local/bin/getfiles; \" ;\ expect \"word: \" {send \"PASSWORT\r\" } ;\ interact " fi done
- ping.sh
#!/bin/bash if [ "$1" != "eg" ] && [ "$1" != "ikt" ] &&[ "$1" != "aula" ] &&[ "$1" != "ug" ] &&[ "$1" != "klabu" ]; then echo "eg / ikt / aula / ug / klabu" exit fi clients=`awk '/'$1'/ {print $2}' /etc/dhcpd.conf` for client in $clients; do echo $client IP=`awk '/'$client'/ {print $8}' /etc/dhcpd.conf | tr -d ";"` nmap -sP $IP | grep "host up" 2>&1 >/dev/null && echo -e "\033[45;1;32m=> $IP : ON \033[0m" || echo -e "\033[44;1;33m=> $IP : OFF \033[0m" done </file> <code bash wakeup.sh> #!/bin/bash if [ "$1" != "eg" ] && [ "$1" != "ikt" ] &&[ "$1" != "aula" ] &&[ "$1" != "ug" ] &&[ "$1" != "klabu" ]; then echo "eg / ikt / aula / ug / klabu" exit fi clients=`awk '/'$1'/ {print $2}' /etc/dhcpd.conf` for client in $clients; do if [ "$1" == "klabu" ]; then sleep 0.5; else sleep 0.1; fi echo $client MAC=`awk '/'$client'/ {print $6}' /etc/dhcpd.conf | tr -d ";"` for i in {1..17} do /usr/sbin/ether-wake -i eth2 $MAC done done
- shutdown.sh
#!/bin/bash if [ "$1" != "eg" ] && [ "$1" != "ikt" ] &&[ "$1" != "aula" ] &&[ "$1" != "ug" ] &&[ "$1" != "klabu" ]; then echo "eg / ikt / aula / ug / klabu" exit fi clients=`awk '/'$1'/ {print $2}' /etc/dhcpd.conf` if [ "$1" == "ikt" ]; then MUSTERRECHNER="192.168.100.130" elif [ "$1" == "klabu" ]; then MUSTERRECHNER="192.168.100.86" elif [ "$1" == "aula" ]; then MUSTERRECHNER="192.168.100.74" elif [ "$1" == "eg" ]; then MUSTERRECHNER="192.168.100.60" elif [ "$1" == "ug" ]; then MUSTERRECHNER="192.168.100.109" fi for client in $clients; do echo $client IP=`awk '/'$client'/ {print $8}' /etc/dhcpd.conf | tr -d ";"` # if [ "$IP" != "$MUSTERRECHNER" ]; then /usr/bin/expect -c " spawn /usr/bin/ssh -q -l root $IP \" poweroff; exit \" ;\ expect \"word: \" {send \"PASSWORT\r\" } ;\ interact " # fi done
Randnotizen
Auflösungen für Remote, KDE4
- 1280x1024 → 1286x1051
- 1024x768 → 1030x795
Schulungen
Wartung
Zu einem Client verbinden
feynman:~ # sh view.sh 192.168.100.xx Kennwort: eu...
Clients sind auf Plank unter /etc/dhcpd.conf zu finden
Clients aktualisieren:
Login auf Planck cd /opt/wartung/vlizedlab Check ob alle PCs im Saal laufen: sh ping.sh ug
Alle PCs im UG einschalten
sh wakeup.sh ug
Einzelnen PC wecken:
sh wakeup_single.sh ug01
Mit Musterrechner verbinden
ssh ug01 (eu...)
Laufende VM "killen"
killall VirtualBox; vlinitvbox
Konfiguration der VM ändern
vi /vm/vb/Windows7/init.add.sh
Folgende beiden Zeilen sind für das "readonly"-schalten wichtig
#mtyp="immutable" -> nur lesend mtyp="normal" -> schreiben & lesen
Konfiguration "speichern"
killall VirtualBox; vlinitvbox
Via NX zum Client verbinden bzw. hingehen
Änderungen durchführen
Windows und Office Aktivierung
Lokal als .\root (uS...) anmelden
Startmenü -> cmd -> rechte Maustaste -> Als Administrator ausführen:
Nur Windows lizenzieren
cscript slmgr.vbs -skms kms.lsr-stmk.gv.at cscript slmgr.vbs -ato
Nur Office lizenzieren
cscript "\Program Files\Microsoft Office\Office14\ospp.vbs" /sethst:kms.lsr-stmk.gv.at cscript "\Program Files\Microsoft Office\Office14\ospp.vbs" /act
Wenn nicht erfolgreich, dann auf Planck
ifdown dsl0 ifup dsl0
… etwas Geduld …
ping kms.lsr-stmk.gv.at muss funktionieren!
Rechner sauber herunterfahren!
Konfiguration der VM wieder zurück ändern
vi /vm/vb/Windows7/init.add.sh
mtyp="immutable" -> nur lesend #mtyp="normal" -> schreiben & lesen
killall VirtualBox; vlinitvbox
Klonen
Am Planck kontrollieren, ob wirklich alle Rechner laufen. cd /opt/wartung/vlizedlab sh ping.sh ug
Client zum Lauschen bringen
sh klonen.sh ug
Am Musterrechner eine screen Sitzung starten
Wenn diese Fehlermmeldung kommt: Directory '/var/run/screen' must have mode 777.
Dann
chmod 777 /var/run/screen und nochmals "screen" starten
vludpsendVMs -> "Blauer" Bildschirm erscheint, gewünschte VM zum Klonen auswählen, Liste der Clients die Lauschen erscheint -> Bestätigen... Strg+A und D screen in den Hintergrund legen
Nach dem Klonen unbedingt alle Clients komplett neu starten, am besten via Planck: sh reboot.sh ug
Bisschen warten... und erneut verbinden. Enjoy!
v_lizedlab.txt · Zuletzt geändert: von admin
