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

-- 
Max Führinger

Eichendorff-Gymnasium Ettlingen
-------------------------------------------------------------------------
System:
- Virtualisiert mit KVM auf Ubuntu 12.04
- IPFire 2.17, Core 99 (linuxmuster-ipfire 1.2.6-0ubuntu0)
- linuxmuster.net 6.1.2-0ubuntu0
  mit Linbo 2.2.14-0 (für IBM T41) bzw. Linbo 2.2.16-0
Erweiterungen: Openschulportfolio, mrbs, apt-cacher (separater virt.
server), OwnCloud
Clients: Ubuntu 12.04 32bit und 14.04 64bit.
-------------------------------------------------------------------------
_______________________________________________
linuxmuster-user mailing list
[email protected]
https://mail.lehrerpost.de/mailman/listinfo/linuxmuster-user

Antwort per Email an