fhem start über systemctl mit Fehler "E: Keine Pakete gefunden"

Begonnen von Elektrolurch, 02 Januar 2020, 11:30:22

Vorheriges Thema - Nächstes Thema

Elektrolurch

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
configDB und Windows befreite Zone!

Otto123

#1
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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Elektrolurch

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

configDB und Windows befreite Zone!