Hallo Holger,

ich versetzte mal Deine Antwort zu diesem Problem in den "richtigen" Threat.


> P. S. Hast Du evtl. eine Idee wieso das Standard Trusty Postsync-Sktipt
>  den HOSTNAMEN nicht setzt? (=> siehe [lmn] Frage zum universellen
>  postsync bzw. zu epoptes).
> 

ich schätze, dass du die Vorlagen fstab nicht bereit stellst.

Den Satz kapiere ich jetzt nicht.


In der postsync steht drin: (kontrollier das bei dir)
-----------------------
# hostname in /etc/hosts patchen
    sed -i "s/HOSTNAME/$HOSTNAME/g" /mnt/etc/hosts
    sed -i "s/#SERVERIP/$SERVERIP/g" /mnt/etc/hosts
------------------------

Nein, diese Zeilen habe ich in der Tat nicht. Ich hänge unten einmal die
postsync Datei an, die bei dem trusty dabei war.


Also lasse ich per postsync folgende Datei auf den CLient legen:
-----------------
# Diese Datei wird per postsync gepatcht. Zu bearbeiten ist sie auf dem
Server.
# Pfad: /var/linbo/linuxmuster-client/trusty/common/etc/hosts
# HOSTNAME wird im Postsyncskript mit dem echten Namen gepatcht
127.0.0.1    HOSTNAME

#Die nächste Zeile enthält die Hostnamen so, wie sie auf dem Server
eingetragen sind...
#SERVERIP server.linuxmuster.local server
# damit CUPS zufrieden ist, muss noch diese Zeile hier dazu:
#SERVERIP  server.lokal server.local
----------------

Diese Datei liegt bei mir hier:
/var/linbo/linuxmuster-client/trusty/common/etc/hosts
und hat folgende Rechte:
-rw-r--r-- 1 root root

Aha und nein. common/etc enthält out of the box kein hosts, sondern nur einen
Ordner linuxmuster-client.

Und um das nochmal deutlich zu sagen: ich arbeite ja gerade die Anleitung zu
Epoptes durch, mein Raum ist der 304 und der Lehrerrechner zum testen ist der
304-pc22.
Da muss man ja eine hosts in
7:45/0 server /var/linbo/linuxmuster-client/trusty714 # find ./ -name "hosts"
-print
./304/etc/hosts
./304-pc22/etc/hosts

erzeugen. Aber da in meinem (eurem) postsync kein sed drin ist, ist mir schon
klar, dass es nicht funktioniert. Hier ist das muster trusty postsync, welches
hast Du?


echo "##### POSTSYNC BEGIN #####"
LOG=/mnt/var/log/postsync.log
echo "##### POSTSYNC BEGIN #####" >  $LOG
NOW=$(date +%Y%m%d-%H%M)
echo $NOW | tee -a $LOG

# IP-Adresse des Servers
SERVERIP=$(nslookup dummy 2> /dev/null | head -n 1 | awk -F: '{print $2}' | sed
"s/\s*//g")

# Die Hostgruppe des aktuellen Rechners
HOSTGROUP=$(hostgroup)

# 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

# UVZ für die Patches auf dem Server. Mit dieser Variablen
# kann man verschiedene Patches, z.B. für unterschiedliche
# Linux-Versionen bereitstellen.
# Wenn man hier $HOSTGROUP einträgt, erhält jede Rechnerklasse
# ein eigenes Patchklassenverzeichnis auf dem Server.
# Damit kann man verschiedene Patchklassen mit derselben cloop-Datei
# bedienen, wenn man das benötigt.
PATCHCLASS="trusty714"

# Das Verzeichnis, in dem die Serverpatches
# im lokalen Clientcache synchronisiert werden.
PATCHCACHE=/linuxmuster-client/serverpatches

echo "" | tee -a $LOG
echo "Hostname:      ${HOSTNAME}" | tee -a $LOG
echo "Raum:          ${RAUM}" | tee -a $LOG
echo "Patchcache:    ${PATCHCACHE}" | tee -a $LOG
echo "Hostgruppe:    ${HOSTGROUP}"   | tee -a $LOG
echo "Patchclass:    ${PATCHCLASS}" | tee -a $LOG
echo "" | tee -a $LOG

# -----------------------------------------
# Patchdateien auf das lokale Image rsyncen
# -----------------------------------------
echo " - getting patchfiles" | tee -a $LOG

# RAUM     -> Raumname
# HOSTNAME -> Rechnername
# Verzeichnis anlegen, damit es sicher existiert
mkdir -p /cache/${PATCHCACHE}
rsync --delete --progress -r
"${SERVERIP}::linbo/linuxmuster-client/${PATCHCLASS}" "/cache/${PATCHCACHE}" |
tee -a $LOG

echo " - patching local files"  | tee -a $LOG

# common: Bekommen alle clients der Patchklasse
# files
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/common ]; then
    echo "   - patching common to /mnt" | tee -a $LOG
    cp -ar /cache/${PATCHCACHE}/${PATCHCLASS}/common/* /mnt/ | tee -a $LOG
fi

# tarpacks
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/common/tarpacks ]; then
  echo "   - unpacking tarpacks from common/tarpacks to /mnt" | tee -a $LOG
  for pack in /cache/${PATCHCACHE}/${PATCHCLASS}/common/tarpacks/*; do
     echo "     - unpacking: $pack" | tee -a $LOG
     tar xvzf $pack -C /mnt | tee -a $LOG
  done
fi

# Raum: Nur die Clients des Raums
# files
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM} ]; then
    echo "   - patching ${RAUM} to /mnt" | tee -a $LOG
    cp -ar /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM}/* /mnt/ | tee -a $LOG
fi

# tarpacks
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM}/tarpacks ]; then
  echo "   - unpacking tarpacks from ${RAUM}/tarpacks to /mnt" | tee -a $LOG
  for pack in /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM}/tarpacks/*; do
     echo "     - unpacking: $pack" | tee -a $LOG
     tar xvzf $pack -C /mnt | tee -a $LOG
  done
fi

# Host: Nur der Rechner
# files
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME} ]; then
    echo "   - patching ${HOSTNAME} to /mnt"  | tee -a $LOG
    cp -ar /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME}/* /mnt/ | tee -a $LOG
fi

# tarpacks
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME}/tarpacks ]; then
  echo "   - unpacking tarpacks from ${HOSTNAME}/tarpacks to /mnt" | tee -a $LOG
  for pack in /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME}/tarpacks/*; do
     echo "     - unpacking: $pack" | tee -a $LOG
     tar xvzf $pack -C /mnt | tee -a $LOG
  done
fi

# Hook, um eigene Skripte auszuführen
if [ -d /mnt/postsync.d ]; then
    for SCRIPT in /mnt/postsync.d/*
    do
        chmod 755 $SCRIPT
        echo "Executing: $SCRIPT" | tee -a $LOG
        #$SCRIPT > /dev/null 2>&1
        $SCRIPT | tee -a $LOG
        echo " ...done." | tee -a $LOG
    done
    rm -rf /mnt/postsync.d
fi

# wenn es /mnt/tarpacks gibt - löschen
rm -rf /mnt/tarpacks

# Zeitstempel letzter sync hinterlegen
echo $NOW > /mnt/lastsync

echo "##### POSTSYNC END #####" | tee -a $LOG

Und hier noch die Ausgabe von diesem postsync (Testrechner 23)

root@304-pc23:/# more /var/log/postsync.log
##### POSTSYNC BEGIN #####
20151029-0629

Hostname:      304-pc23
Raum:          304
Patchcache:    /linuxmuster-client/serverpatches
Hostgruppe:    trusty714
Patchclass:    trusty714

 - getting patchfiles
receiving incremental file list
trusty714/304-pc22/etc/hosts
         540 100%  527.34kB/s    0:00:00 (xfer#1, to-check=45/52)
trusty714/304-pc22/etc/default/epoptes
         368 100%  359.38kB/s    0:00:00 (xfer#2, to-check=40/52)
trusty714/304-pc22/etc/default/epoptes-client
           0 100%    0.00kB/s    0:00:00 (xfer#3, to-check=39/52)
trusty714/304-pc22/etc/epoptes/server.key
         916 100%  894.53kB/s    0:00:00 (xfer#4, to-check=38/52)
trusty714/304-pc22/etc/init.d/epoptes
        1645 100%    1.57MB/s    0:00:00 (xfer#5, to-check=37/52)
trusty714/304-pc22/etc/init.d/epoptes-client
           0 100%    0.00kB/s    0:00:00 (xfer#6, to-check=36/52)
trusty714/304-pc22/etc/xdg/autostart/epoptes-client.desktop
           0 100%    0.00kB/s    0:00:00 (xfer#7, to-check=34/52)
trusty714/304-pc22/usr/bin/epoptes
        2491 100%    2.38MB/s    0:00:00 (xfer#8, to-check=30/52)
trusty714/304-pc22/usr/sbin/epoptes-client
           0 100%    0.00kB/s    0:00:00 (xfer#9, to-check=29/52)
trusty714/304-pc22/usr/share/applications/epoptes.desktop
         248 100%  242.19kB/s    0:00:00 (xfer#10, to-check=27/52)
trusty714/304/etc/hosts
         514 100%  501.95kB/s    0:00:00 (xfer#11, to-check=24/52)
trusty714/304/etc/default/epoptes-client
         663 100%  647.46kB/s    0:00:00 (xfer#12, to-check=19/52)
trusty714/304/etc/epoptes/server.crt
         875 100%  854.49kB/s    0:00:00 (xfer#13, to-check=18/52)
trusty714/304/etc/init.d/epoptes-client
        1124 100%    1.07MB/s    0:00:00 (xfer#14, to-check=17/52)
trusty714/304/etc/xdg/autostart/epoptes-client.desktop
         427 100%  416.99kB/s    0:00:00 (xfer#15, to-check=15/52)
trusty714/304/usr/sbin/epoptes-client
        8234 100%  618.54kB/s    0:00:00 (xfer#16, to-check=13/52)
trusty714/common/04-generate-hosts
         564 100%   19.67kB/s    0:00:00 (xfer#17, to-check=12/52)
trusty714/common/passwords
          46 100%    1.60kB/s    0:00:00 (xfer#18, to-check=11/52)
trusty714/common/etc/linuxmuster-client/server.network.settings
         554 100%   18.66kB/s    0:00:00 (xfer#19, to-check=6/52)
trusty714/common/postsync.d/00-fix-initrd
         269 100%    9.06kB/s    0:00:00 (xfer#20, to-check=5/52)
trusty714/common/postsync.d/01-setlocalpasswords
         540 100%   18.18kB/s    0:00:00 (xfer#21, to-check=4/52)
trusty714/common/postsync.d/02-patch-sshd-config
         232 100%    7.81kB/s    0:00:00 (xfer#22, to-check=3/52)
trusty714/common/postsync.d/03-fix-fstab
         673 100%   22.66kB/s    0:00:00 (xfer#23, to-check=2/52)
trusty714/common/root/.ssh/authorized_keys
         611 100%   20.58kB/s    0:00:00 (xfer#24, to-check=0/52)

sent 739 bytes  received 3046 bytes  7570.00 bytes/sec
total size is 21534  speedup is 5.69
 - patching local files
   - patching common to /mnt
   - patching 304 to /mnt
Executing: /mnt/postsync.d/00-fix-initrd
 - fixing initrd links
 ...done.
Executing: /mnt/postsync.d/01-setlocalpasswords
 - patching password hashes
      - linuxadmin
  -done
 ...done.
Executing: /mnt/postsync.d/02-patch-sshd-config
 - patching sshd_config for server root
      - done
 ...done.
Executing: /mnt/postsync.d/03-fix-fstab
 - fixing fstab
      - done
 ...done.
##### POSTSYNC END #####


_______________________________________________
linuxmuster-user mailing list
linuxmuster-user@lists.linuxmuster.net
https://mail.lehrerpost.de/mailman/listinfo/linuxmuster-user

Antwort per Email an