Ich möchte aus Fairness Gründen hier festhalten, das die Probleme mit dem Standby in Endeavour vermutlich kein Problem der Distrubution sind.
Bitte dazu folgenden Beitrag von mir lesen.
https://linux-nerds.org/topic/1397/debian-bookworm-12-test/3
Im Beitrag https://frank-mankel.org/topic/3/node-js-auf-dem-raspberry3-b-installieren habe ich berichtet, wie man node.js installiert. Darin liegt die ausführbare Datei node in /opt/node/bin. Das behalten wir jetzt erst mal so im Hinterkopf.
Unter Debian arbeitet man mit systemd, ein System und Service Manager. Dieser Dienst sorgt dafür, das Dienste automatisch, z.B. beim Neustart des Servers gestartet werden. Dazu findet man im Ordner /etc/systemd/system eine ganze Reihe von Diensten. z.B.: sshd.service
Gut, hier geht es aber um NodeBB. Von NodeBB gibt es eine Anleitung zum Thema, die findet man hier. Aber, wir verfeinern das Ganze hier noch ein wenig
nodebb.service
[Unit]
Description=NodeBB
Documentation=https://docs.nodebb.org
After=system.slice multi-user.target mongod.service
[Service]
Type=forking
User=user
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nodebb
WorkingDirectory=/home/user/nodebb
PIDFile=/home/user/nodebb/pidfile
ExecStart=/usr/bin/env node loader.js
Restart=always
[Install]
WantedBy=multi-user.target
Den User ersetzt ihr mit dem Namen Euren User's der NodeBB startet. Die NodeBB Installation liegt unter folgendem Pfad
/home/user/nodebb/
Den Dienst aktivieren
sudo systemctl enable nodebb.service
und starten
sudo systemctl start nodebb.service
Nun sollte der Dienst normalerweise beim Booten NodeBB starten, macht er aber bei mir um's verrecken nicht. Also Logfiles durchsuchen.
Das sieht dort so aus
May 3 21:15:07 one systemd[1]: Starting NodeBB...
May 3 21:15:07 one nodebb[1366]: /usr/bin/env: ‘node’: No such file or directory
May 3 21:15:07 one systemd[1]: nodebb.service: Control process exited, code=exited status=127
May 3 21:15:07 one systemd[1]: Failed to start NodeBB.
May 3 21:15:07 one systemd[1]: nodebb.service: Unit entered failed state.
May 3 21:15:07 one systemd[1]: nodebb.service: Failed with result 'exit-code'.
May 3 21:15:07 one systemd[1]: nodebb.service: Service hold-off time over, scheduling restart.
May 3 21:15:07 one systemd[1]: Stopped NodeBB.
Und nun kommen wir wieder auf den Anfang des Beitrages zu sprechen. Node ist die Anwendung node.js, die die Applikation NodeBB startet.
Aus nodebb.service
/usr/bin/env node loader.js
node.js lädt die Datei loader.js, die im NodeBB Ordner liegt. So weit alles gut, aber bei unserer Installation, siehe den verlinkten Beitrag am Anfang, liegt die ausführbare Datei node in /opt/node/bin
Ok, nun kann ich mir das Problem erklären, der User Root hat keinen Zugriff auf die Datei node. Und jetzt das Rätsel für mich, mein User für NodeBB hat Zugriff, mein User Root nicht. Stundenlang alles probiert. .profile editiert usw. Nichts brachte Erfolg. Ok, dann halt dirty
Ich habe dann die Datei nach /bin kopiert.
cp /opt/node/bin/node /bin
Danach hatte der User Root Zugriff auf die Datei und der nodebb.service funktioniert einwandfrei.
Wer den Fehler kennt und eine Lösung für mich hat, immer her damit.