Startreihenfolge von FHEM und Owserver anpassen

Begonnen von ritchie, 11 Juni 2013, 23:13:55

Vorheriges Thema - Nächstes Thema

ritchie

Hallo Zusammen,

ich muss vermutlich meine Startreihenfolge des owserver und von FHEM abändern,
da der owserver nach dem Boot nicht gestartet.

Hier ein Auszug meiner rc.d Konfiguration für diese beiden Dienste.


pi@fhem2 /etc $ ls rc*.d/*ow* -l
lrwxrwxrwx 1 root root 16 May 26 19:44 rc0.d/K01owftpd -> ../init.d/owftpd
lrwxrwxrwx 1 root root 17 May 26 19:44 rc0.d/K01owhttpd -> ../init.d/owhttpd
lrwxrwxrwx 1 root root 18 May 26 19:44 rc0.d/K02owserver -> ../init.d/owserver
lrwxrwxrwx 1 root root 16 May 26 19:44 rc1.d/K01owftpd -> ../init.d/owftpd
lrwxrwxrwx 1 root root 17 May 26 19:44 rc1.d/K01owhttpd -> ../init.d/owhttpd
lrwxrwxrwx 1 root root 18 May 26 19:44 rc1.d/K02owserver -> ../init.d/owserver
lrwxrwxrwx 1 root root 18 May 26 19:44 rc2.d/S02owserver -> ../init.d/owserver
lrwxrwxrwx 1 root root 16 May 26 19:44 rc2.d/S03owftpd -> ../init.d/owftpd
lrwxrwxrwx 1 root root 17 May 26 19:44 rc2.d/S03owhttpd -> ../init.d/owhttpd
lrwxrwxrwx 1 root root 18 May 26 19:44 rc3.d/S02owserver -> ../init.d/owserver
lrwxrwxrwx 1 root root 16 May 26 19:44 rc3.d/S03owftpd -> ../init.d/owftpd
lrwxrwxrwx 1 root root 17 May 26 19:44 rc3.d/S03owhttpd -> ../init.d/owhttpd
lrwxrwxrwx 1 root root 18 May 26 19:44 rc4.d/S02owserver -> ../init.d/owserver
lrwxrwxrwx 1 root root 16 May 26 19:44 rc4.d/S03owftpd -> ../init.d/owftpd
lrwxrwxrwx 1 root root 17 May 26 19:44 rc4.d/S03owhttpd -> ../init.d/owhttpd
lrwxrwxrwx 1 root root 18 May 26 19:44 rc5.d/S02owserver -> ../init.d/owserver
lrwxrwxrwx 1 root root 16 May 26 19:44 rc5.d/S03owftpd -> ../init.d/owftpd
lrwxrwxrwx 1 root root 17 May 26 19:44 rc5.d/S03owhttpd -> ../init.d/owhttpd
lrwxrwxrwx 1 root root 16 May 26 19:44 rc6.d/K01owftpd -> ../init.d/owftpd
lrwxrwxrwx 1 root root 17 May 26 19:44 rc6.d/K01owhttpd -> ../init.d/owhttpd
lrwxrwxrwx 1 root root 18 May 26 19:44 rc6.d/K02owserver -> ../init.d/owserver
pi@fhem2 /etc $ ls rc*.d/*fhem* -l
lrwxrwxrwx 1 root root 14 May 23 19:56 rc0.d/K01fhem -> ../init.d/fhem
lrwxrwxrwx 1 root root 14 May 23 19:56 rc1.d/K01fhem -> ../init.d/fhem
lrwxrwxrwx 1 root root 14 May 23 19:56 rc2.d/S01fhem -> ../init.d/fhem
lrwxrwxrwx 1 root root 14 May 23 19:56 rc3.d/S01fhem -> ../init.d/fhem
lrwxrwxrwx 1 root root 14 May 23 19:56 rc4.d/S01fhem -> ../init.d/fhem
lrwxrwxrwx 1 root root 14 May 23 19:56 rc5.d/S01fhem -> ../init.d/fhem
lrwxrwxrwx 1 root root 14 May 23 19:56 rc6.d/K01fhem -> ../init.d/fhem
pi@


Der höchste Eintrag ist bei mir

lrwxrwxrwx 1 root root  20 Feb  9 02:50 rcS.d/S16x11-common -> ../init.d/x11-common


Daher wollte ich das ganze mit den folgenden Kommandos anpassen


sudo update-rc.d owserver defaults 20
sudo update-rc.d fhem defaults 26


Ich dachte die Lücke für evtl. weitere Treiber, welche vor Fhem gestartet werden sollten.
Da ich nicht so firm in Linux bin, frage ich lieber vorher, bevor ich mir das System zerschiesse.

Viele Grüße

R.

IPU662  Ipfire & Fhem (Homematic + MAX) - Produktiv
Cubietruck (1Wire - USB) - Produktiv

C64Emulator

Hallo,

ich nehme mal an, dass Du Raspbian nutzt, dessen klassisches SysV-Init-System eigentlich gut dokumentiert ist. Bei ArchLinux wird übrigens ein anderes Verfahren genutzt. Hier im Forum wurde die Startreihenfolge ja auch schon öfter diskutiert. Hast Du bestimmt schon gesehen, oder?

Ich habe früher immer direkt die Links für die einzelnen Runlevel gesetzt. Inzwischen empfehle ich jedem, den entsprechenden Block im Init-Skript einmal richtig zu pflegen. Info dazu gibt es hier:
 http://wiki.debian.org/LSBInitScripts
 sowie man insserv
 undman update-rc.d
Bei FHEM sollte also dann stehen:
# Required-Start:    $remote_fs $syslog ntp owserver

Damit hast Du dann nicht das Problem, dass der Packagemanager update-rc.d aufruft und Deine mühsam von Hand austarierte Startsequenz wieder zerschießt.

Hoffe, geholfen zu haben.
Helmut.
EDIT: Aus diesen Einträgen werden mit sudo update-rc.d defaults dann die Links generiert.

ritchie

Hallo Helmut,

danke für die Info.
Dieser Ansatz scheint besser zu sein. Ich habe hier im Forum einen Eintrag gesehen, wo jemand "all" angeben wollte.
Dies wurde als ein sehr schlechter Ansatz angesehen, da wenn zwei Dienste "all" haben, kann das System zum stehen kommen.

Es wäre wohl sinnvoll, wenn ich mir alle Init's mal ansehe, bevor ich die Änderung durchführe. Vielleicht habe ich ja noch ein paar "Leichen" so vorhanden. (ntp und rtc clock)

Zudem war mir das Kommando "sudo update-rc.d defaults" neu (ohne Dienstname).
Edit:
War wohl eher "sudo update-rc.d fhem defaults" gemeint.


Edit2:
Und dann musste ich noch den i2c-dev über die modules laden. Das war wohl die Ursache für den Fehlstart, das andere ist aber jetzt wirklich sauber.

Danke für das Zeigen des richtigen Wegs.

Viele Grüße

R.
IPU662  Ipfire & Fhem (Homematic + MAX) - Produktiv
Cubietruck (1Wire - USB) - Produktiv