Benutzer-Werkzeuge

Webseiten-Werkzeuge


v_lizedlab

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
v_lizedlab [2014/07/09 15:34]
admin
v_lizedlab [2015/12/09 22:31] (aktuell)
admin [VlizedLab]
Zeile 1: Zeile 1:
-====== ​V'​lizedlab ​======+====== ​VlizedLab ​====== 
 + 
 +[[USB-Stick einbinden]] 
 + 
 +[[Zugriff auf eine DVD]] 
  
 ===== Download ===== ===== Download =====
  
 http://​proxy.asn-graz.ac.at/​~d4e/​experimental/​ http://​proxy.asn-graz.ac.at/​~d4e/​experimental/​
- 
-  tar xvfj vlizedlab.i586.tar.bz2 -C /  
  
   tar xvfj vlizedlab.x86_64.tar.bz2 -C /   tar xvfj vlizedlab.x86_64.tar.bz2 -C /
Zeile 38: Zeile 41:
  
   *Standardbenutzer   *Standardbenutzer
-    * root : vlizedlab ​+    * root : open23 ​
     * student : student     * student : student
  
Zeile 280: Zeile 283:
 #VBoxManage --nologo storageattach $MACHINE --storagectl C$MACHINE --port 1 --device 0 \ #VBoxManage --nologo storageattach $MACHINE --storagectl C$MACHINE --port 1 --device 0 \
 #      --type dvddrive --medium $MACHINEDIR/​d4e2012.i586.iso #      --type dvddrive --medium $MACHINEDIR/​d4e2012.i586.iso
 +</​code>​
 +
 +==== Windows 8 ====
 +
 +<code bash /​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
 +
 </​code>​ </​code>​
  
Zeile 295: Zeile 318:
 </​code>​ </​code>​
  
 +==== Lernstick ====
 +
 +<code bash /​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
 +</​code>​
 ===== Dateien und Ordner auf alle Clients übertragen ===== ===== Dateien und Ordner auf alle Clients übertragen =====
  
Zeile 346: Zeile 392:
  
   mkdir /​media/​sda3/​{dev,​proc,​sys,​vm}   mkdir /​media/​sda3/​{dev,​proc,​sys,​vm}
-  ​rn /​media/​sda1/​etc/​udev/​rules.d/​70-persistent-net.rules+  ​rm /​media/​sda1/​etc/​udev/​rules.d/​70-persistent-net.rules
  
   mount --bind /proc /​media/​sda1/​proc   mount --bind /proc /​media/​sda1/​proc
Zeile 363: Zeile 409:
   *planck:/​opt/​wartung/​vlizedlab #   *planck:/​opt/​wartung/​vlizedlab #
  
-  klonen.sh  ping.sh  reboot.sh  setwol.sh  shutdown.sh  ssh.sh  startvm.sh  transfer.sh  ​view.sh  wakeup.sh ​ ​wakeup_single.sh+<code ini /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;​ 
 +
 + 
 +</​code>​ 
 + 
 +<code bash 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 
 +</​code>​ 
 + 
 +<code bash 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 
 +</​code>​ 
 + 
 +<code bash 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 
 + 
 +</​code>​ 
 + 
 +<code bash 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 
 +</​code>​
  
 ===== Randnotizen ===== ===== Randnotizen =====
Zeile 374: Zeile 609:
  
   *[[VL Lehrer]]   *[[VL Lehrer]]
 +
 +===== Wartung =====
 +
 +  *[[Wartung Kurzversion]]
 +
 +  *[[http://​peer.st/​dw/​doku.php?​id=nx-client|NX CLient für Linux starten ...]]
 +
 +===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.1404912870.txt.gz · Zuletzt geändert: 2014/07/09 15:34 von admin