Hallo,
ich setze gerade ein neues System auf einem Odroid H2 unter debian buzer auf. Mein altes System läuft auf einem cubieboard 2 unter stretch (ursprünglich weezly).
Jetzt habe ich ein Problem mit dem Start von fhem über systemctl.
Hierzu habe ich den entsprechenden wiki-Eintrag für die Nutzung von systemctl befolgt, bekomme aber beim Start eine Fehlermeldung.
Was funktioniert ist:
cd /opt fhem
perl fhem.pl fhem.cfg
Was nicht mehr funktioniert ist:
service fhem start]
oder direkt
cd /etc/init.d
./fhem start
Die Fehlermeldung, die da kommt lautet:
E: Paket fhem kann nicht gefunden werden.
E: Keine Pakete gefunden
Das Skript unter init.d/fhem ist von dem alten System direkt herüber kopiert worden und enthält folgendes:
#!/bin/sh
# description: Start or stop the fhem server
# Added by Alex Peuchert
### BEGIN INIT INFO
# Provides: fhem.pl
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: FHEM server
### END INIT INFO
set -e
cd /opt/fhem
port=7072
if test "$2" != "noaptmark"; then
apt-mark hold fhem > /dev/null
fi
case "$1" in
'start')
# problem with date
sleep 5
echo "Starting fhem..."
# if you need to start hmland for use with
# Homematic, please start the hmland daemon
# like this (please use correct path and port,
# depending on your installation!)
#
# /opt/hmcfgusb/hmland -d -p 1234 -r 0
#
perl fhem.pl fhem.cfg
# if you want to use configDB for configuration,
# use this command to start fhem:
#
# perl fhem.pl configDB
#
# and remove/comment the above line including fhem.cfg
RETVAL=$?
;;
'stop')
echo "Stopping fhem..."
# if you want to stop hmland during fhem stop:
# pkill hmland
pkill -U fhem perl
RETVAL=$?
;;
'status')
cnt=`ps -ef | grep "fhem.pl" | grep -v grep | wc -l`
if [ "$cnt" -eq "0" ] ; then
echo "fhem is not running"
else
echo "fhem is running"
fi
;;
*)
echo "Usage: $0 { start | stop | status }"
RETVAL=1
;;
esac
exit $RETVAL
Was könnte da das Problem sein (auf dem alten System laufen ja die identischen Dateien "/etc/init.d/fhem")
Gruß
Elektrolurch
Hi,
warum diesen "alten" Weg wählen?
Installiere doch einfach FHEM einmal neu im Original von debian.fhem.de dann hast Du einen funktionierenden Service.
/etc/systemd/system/fhem.service
Kopie von meinem :)
# $Id: fhem.service 19235 2019-04-21 13:26:17Z betateilchen $
[Unit]
Description=FHEM Home Automation
Wants=network.target
After=network.target
#Requires=postgresql.service
#After=postgresql.service
#Requires=mysql.service
#After=mysql.service
[Service]
Type=forking
User=fhem
Group=dialout
WorkingDirectory=/opt/fhem
ExecStart=/usr/bin/perl fhem.pl fhem.cfg
#ExecStart=/usr/bin/perl fhem.pl configDB
Restart=always
[Install]
WantedBy=multi-user.target
Dann machst Du einfach ein Backup deines alten und ein restore im neuen System.
Alternativ findet sich in /opt/fhem/contrib/init-scripts/fhem.service das aktuelle systemd script. Könntest Du auch vom SVN holen.
BTW: debian buster auf odroid ? Nach welcher Anleitung bist Du da vorgegangen. Ich habe mich da bisher gescheut, da überall was von "nicht wirklich supported" steht. Ich habe bisher das offizielle ubuntu Image für odroid genommen.
ZitatHierzu habe ich den entsprechenden wiki-Eintrag für die Nutzung von systemctl befolgt, bekomme aber beim Start eine Fehlermeldung.
kannst Du bitte den Link zum FHEM Wiki bereitstellen? Ich würde den Artikel gern etwas bearbeiten :)
Gruß Otto
Hallo Otto,
das wars: Im alten Skript für systemctl wurde auf die init.d/fhem verwiesen. Das fällt ja weg. Habe ich wohl was im Forum verpasst ... :-)
Jetzt läuft es. Danke.
Das buzer habe ich laut:
https://www.debian.org/releases/stable/amd64/
installiert.
Aus USB-Stick kopiert, eingesteckt und gebootet. War eigentlich ganz einfach. Ich glaube, dass es für den Treiber der Netzwerkkarte den Hinweis gab, dass ich da zusätzliche Software des Herstellers mit einfügen sollte. Aber der generische Treiber für den Intel - Kram geht wohl auch so.
Ansonsten bin ich zunächst einmal von dem Odroid H2 ganz angetan.
Denke daran, mit Hilfe der zwei Netzwerk - Anschlüsse ev. auch einen Proxy für den Web-Zugriff drauf laufen zu lassen... Wenn ich mal Zeit habe.
Allerdings muss ich dann das WLan auf der Fritzbox abschalten und einen Access-Point hinter die Firewall setzen. Da habe ich mir aber noch keine passende HW für den Access-Point ausgesucht.
Also, noch mal Danke.
Elektrolurch