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 :-).