Hallo Max,

synchronisiert dieses Skript wirklich die zweite Partiton?
Die case-Anweisung ist doch auskommentiert!
Genau an der Stelle steht bei mir
---
/usr/bin/linbo_cmd synconly "$myserverip" "$1" "$mybaseimage"
"$myrsyncimage" "" "$myrootpartition"
---
und da hängt's.

Gruß Jürgen



Am 19.04.2016 um 22:33 schrieb Schule Führinger:
> Hallo Jürgen,
>
> ich hab das postsync auch etwas verändert, vll. hilft es trotzdem:
>
> LG
> Max
>
>  echo "##### trusty-linuxmuster POSTSYNC BEGIN #####"
>
>     # IP-Adresse des Server
>     SERVERIP="$(grep ^linbo_server /tmp/dhcp.log | tail -1 | awk -F\'
> '{ print $2 }')"
>     STARTCONF=/cache/start.conf
>
>     # Raum feststellen. Dieses Skript geht davon aus
>     # dass die Rechner Namen der Form
>     # raumname-hostname haben, also z.B. cr01-pc18
>     RAUM=${HOSTNAME%-*}
>     # wenn der string leer ist, raum auf unknown setzen
>     if [ "x${RAUM}" == "x" ]; then
>         RAUM="unknown"
>     fi
>
>     # Das Verzeichnis, in dem die Serverpatches
>     # local synchronisiert werden.
>     PATCHCACHE="linuxmuster-client"
>     # UVZ auf dem Server. Mit diesem Variablen kann
>     # man verschiedene Images bedienen (was bei linux
>     # selten nötig ist)
>     PATCHCLASS="trusty-virt"
>
>
>
>
>     echo ""
>     echo "Hostname: ${HOSTNAME}"
>     echo "Raum: ${RAUM}"
>     echo "Patchcache: ${PATCHCACHE}"
>     echo "Patchclass: ${PATCHCLASS}"
>     echo ""
>
>     # -----------------------------------------
>     # Patchdateien auf das lokale Image rsyncen
>     # -----------------------------------------
>     echo " - getting patchfiles"
>
>     # RAUM -> Raumname
>     # HOSTNAME -> Rechnername
>     # Verzeichnis anlegen, damit es sicher existiert
>     mkdir -p /cache/${PATCHCACHE}
>     rsync --progress --delete -rp -L
> "${SERVERIP}::linbo/linuxmuster-client/${PATCHCLASS}"
> "/cache/${PATCHCACHE}/"
>
>     echo " - patching local files"
>     # zuerst alles in common
>     if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/common ]; then
>         cp -ar /cache/${PATCHCACHE}/${PATCHCLASS}/common/* /mnt/
>     fi
>
> #    if [ -d /cache/${PATCHCACHE}/common ]; then
> #        cp -ar /cache/${PATCHCACHE}/common/* /mnt/
> #    fi
>
>     # dann raumspezifisch
>     if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM} ]; then
>         cp -r /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM}/* /mnt/
>     fi
> #    if [ -d /cache/${PATCHCACHE}/${RAUM} ]; then
> #        cp -ar /cache/${PATCHCACHE}/${RAUM}/* /mnt/
> #    fi
>
>     # dann rechnerspezifisch hier auch wie oben geöndert.
>     if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME} ]; then
>         cp -ar /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME}/* /mnt/
>     fi
>
>     # -----------------------------------
>     # Berechtigungen anpassen, wenn nötig
>     # -----------------------------------
>     echo " - setting permissions of patched local files"
>
>     # printers.conf
>     [ -f /mnt/etc/cups/printers.conf ] && chmod 600 
> /mnt/etc/cups/printers.conf
>
>     # .ssh verzeichnis
>     chmod 700 /mnt/root/.ssh/
>     chmod 600 /mnt/root/.ssh/authorized_keys
>
>     # /etc/sudoers
>     chmod 440 /mnt/etc/sudoers
>
>     # hostname in /etc/hosts patchen
>     sed -i "s/HOSTNAME/$HOSTNAME/g" /mnt/etc/hosts
>     sed -i "s/#SERVERIP/$SERVERIP/g" /mnt/etc/hosts
>
>     # home vom linuxadmin dem zugehörig machen
>     chown -R 1000:1000 /mnt/home/linuxadmin
>
>     # fstab anpassen, damit Swap-Partition stimmt
> #    SWAP=$(sed ':a;N;$!ba;s/\n/;UMBRUCH;/g' $STARTCONF | sed 's/
> //g'|sed 's/\[Partition\]/\n/g' | grep -i 'fstype=swap' | sed
> 's/;UMBRUCH;/\n/g' | grep -i 'dev=/' | cut -d'=' -f2 | head -c9)
> #    sed -i "s/#dummyswap/$SWAP/g" /mnt/etc/fstab
>
>
>
> ##### -----------------------------------------------
> #####      Virtualbox-Partition aktuell halten
> ##### -----------------------------------------------
>
> ##### so gehts nicht (leider) #####
> #   #linbo_wrapper sync:2 # geht so leider nicht
>
> ##### so gehts langsam, weil er es jedesmal neu synct (warum?) #####
> #    echo " - getting virtual windows"
> #    mkdir -p /virtual > /dev/null 2>&1
> #    #sicherheitshalber unmounten:
> #    umount /virtual > /dev/null 2>&1
> #    VIRTUALDEVICE=/dev/sda3
> #    VIRTUALMACHINESERVERDIR=virtualbox/aktuell/
> #   mount $VIRTUALDEVICE /virtual && \
> #    rsync --progress -r
> "${SERVERIP}::linbo/${VIRTUALMACHINESERVERDIR}" "/virtual/"
> #
> #    echo " - setting permissions for virtual windows"
> #    cd /
> #    chmod -R 777 /virtual
> #    umount /virtual
> #
> #    rsync --progress -r "${SERVERIP}::linbo/postsync/vmlinuz" "/mnt/"
> #    rsync --progress -r "${SERVERIP}::linbo/postsync/initrd.img" "/mnt/"
>
> ##### die elegante Version #####
>
> # Name des Rsyncimages, ggf. eintragen
> myrsyncimage=""
> # Zielpartition auf die gesynct werden werden soll, muss angepasst werden
> myrootpartition=/dev/sda3
>
>
> # Name des Basisimages das zusaetzlich synchronisert werden soll (muss
> angepasst werden)
>
> case ${RAUM} in
>     "ch")
>         mybaseimage=vbox_dgiss.cloop
>       ;;
>
>     "r009")
>         mybaseimage=vbox_mindstorms.cloop
>       ;;
>
>     "r010")
>         mybaseimage=vbox_mindstorms.cloop
>       ;;
>
>     "ph")
>         mybaseimage=vbox_mindstorms.cloop
>       ;;
>
>    "bio")
>         mybaseimage=vbox_dgiss_bio.cloop
>       ;;
>    "klzi")
>        #evtl. vorhandenes aus den Klassenzimmer-PCs löschen wg. Lizenzen
>         mkdir /test
> mount /dev/sda3 /test
> rm -rf /test/*
> umount /test
>       ;;
>
>
>  *)
> mybaseimage=keines
> #mybaseimage=vbox.cloop
>       ;;
>     esac
>
> case ${HOSTNAME} in
>      "mm-pc02")
> mybaseimage=vbox_mindstorms.cloop
>        ;;
>      "mml-pc12")
>         mybaseimage=vbox_mindstorms.cloop
>        ;;
>
>     *)
> mybaseimage=keines
>        ;;
>    esac
>
>
> # IP des LINBO-Servers, wird automatisch aus dhcp.log ermittelt (wurde
> oben schon gemacht)
> #myserverip="$(grep ^linbo_server /tmp/dhcp.log | tail -1 | awk -F\'
> '{ print $2 }')"
>
>
> # Ausgabe der Parameter auf der LINBO-Konsole
> echo "cachepartition:  $1"
> echo "myserverip:      $SERVERIP"
> echo "mybaseimage:     $mybaseimage"
> echo "myrsyncimage:    $myrsyncimage"
> echo "myrootpartition: $myrootpartition"
>
> # Befehl zur Synchronisation der zweiten Partition
> #case $vbox in
> #  virtual) /usr/bin/linbo_cmd synconly "$SERVERIP" "$1"
> "$mybaseimage" "$myrsyncimage" "" "$myrootpartition" ;;
> #  real) /usr/bin/linbo_cmd synconly "$SERVERIP" "$1" "$mybaseimage"
> "$myrsyncimage" "" "$myrootpartition" ;;
> #  *) echo "Nichts zu tun." ;;
> #esac
>
> # Syntax fuer linbo_cmd synconly:
> # /usr/bin/linbo_cmd synconly "<LINBO-Server-IP>" "<Cachepartition>"
> "<Basisimage>" "<Rsyncimage>" "<Bootpartition>" "<Rootpartition>"
>   /usr/bin/linbo_cmd synconly "$SERVERIP"         "$1"
> "$mybaseimage" "$myrsyncimage" ""               "$myrootpartition"
>
> echo "##### POSTSYNC END #####"
>
>
> LG
> Max
>

_______________________________________________
linuxmuster-user mailing list
[email protected]
https://mail.lehrerpost.de/mailman/listinfo/linuxmuster-user

Antwort per Email an