mSDsBvPIs (Teil 3 – openHAB)

Diese Beschreibung setzt voraus, das ein PI entsprechend der vorhergehenden Artikel bereits eingerichtet wurde. (Ich kürze jetzt der Einfachheit halber den Titel „microSD-schonender Betrieb von PIs“ ein wenig ab ;-))

Bevor mein PI auf „RO“ lief, hatte ich bereits openHAB am laufen, wie ich ja schon mal geschrieben hatte. Leider funktionierte der Start dann aber nicht mehr. Hintergrund dazu ist, dass openHAB einige Pfade schreibbar benötigt. Neben dem Verzeichnis unterhalt von /var/log ist das vor allem der „workspace“ unterhalb von /var/lib/openhab. Da ich günstiger weise bereits ein Script für tmp-verzeichnisse eingerichtet habe, musste ich „nur noch“ zwei Verzeichnisse hinzufügen…

DIR[6]=/var/log/openhab
PRM[6]="openhab.openhab"
CHM[6]="750"

DIR[7]=/tmp/var-lib-openhab
PRM[7]="openhab.openhab"
CHM[7]="750"

…und dann einen Symlink einrichten

cd /var/lib
rm -rf openhab
ln -s /tmp/var-lib-openhab openhab

Allerdings hat openHAB noch die unangenehme Eigenschaft, dass ein „version“-File schreibbar sein muss (warum auch immer). Also habe ich kurzerhand mein „prepare-tmpfs-dirs“ Script aus dem vorherigen Artikel  um eine Sektion für Dateien erweitert:

# needed Files
FIL[0]=/tmp/usr-share-openhab-webapps-static-version
FPM[0]="openhab.openhab"
FMO[0]="644"

    while (( i <= max ));do
      if [ -n "${FIL[$i]}" ];then
        # make file
        touch ${FIL[$i]}
        # set mode
        if [ -n "${FMO[$i]}" ];then
          chmod ${FMO[$i]} ${FIL[$i]}
        else
          chmod 644 ${FIL[$i]}
        fi
        # set rights
        if [ -n "${FPM[$i]}" ];then
          chown ${FPM[$i]} ${FIL[$i]}
        fi
      fi
      i=i+1
    done

Auch hier muss der Symlink der Datei noch angelegt werden:

cd /usr/share/openhab/webapps/static
rm version
ln -s /tmp/usr-share-openhab-webapps-static-version version

Hiernach lief dann auch bereits openHAB wieder anständig :-).

Das könnte Dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.