NEWS
[HowTo][Anleitung] Install von ioBroker auf Debian (Wheezy) in einer VM
-
-
` > Using username "root".
root@'s password:
Linux ioBroker 3.16.0-0.bpo.4-amd64 #1 SMP Debian 3.16.7-ckt4-3~bpo70+1 (2015-02 -12) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Feb 27 17:46:23 2015
root@ioBroker:~#
root@ioBroker:~# which node
/usr/bin/node
root@ioBroker:~# `
` > Using username "root".
root@'s password:
Linux pi2 3.18.7-v7+ #755 SMP PREEMPT Thu Feb 12 17:20:48 GMT 2015 armv7l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Feb 25 18:53:38 2015 from 192.168.28.201
root@pi2:~#
root@pi2:~# which node
/usr/local/bin/node
root@pi2:~# `
-
habe mir den Kopf zubrochen…..
leider bekomme ich es nicht hin
Vorhaben:
die Datei "/etc/init.d/iobroker.sh" per script anpassen (damit es auch unter docker funktioniert)
Wir wissen (Dank Homoran) das wir mit "which node" den Path der NODE-Installation erhalten
1.) Problem
den möchte ich in eine Variabe speichen
NOTE_PATH=$(which node) ````= :cry: geht leider nicht 2.) Warum das? mit einem weiteren Befehl möchte ich die Datei "/etc/init.d/iobroker.sh" anpassen
sed -i -e "s/NODECMD=.*/NODECMD=$NODE_PATH/" /etc/init.d/iobroker.sh
Das ganze soll dann "ungefär so" aussehen:
NOTE_PATH=$(which node) && sed -i -e "s/NODECMD=.*/NODECMD=$NODE_PATH/" /etc/init.d/iobroker.sh
um es dass (als workaround) im Dockerfile zu nutzen Das Dockerfile könnte dann folgendermassen aussehen: >! # >! # VERSION 0.0.2 >! # >! FROM debian >! MAINTAINER derAuge >! # >! RUN apt-get update >! RUN apt-get upgrade -y >! # >! # >! # Installation von NODE vorbereiten >! # >! RUN apt-get install -y curl >! RUN curl -sL [https://deb.nodesource.com/setup](https://deb.nodesource.com/setup) | bash - >! RUN apt-get install -y nodejs >! # >! # in "/etc/init.d/iobroker.sh" wird sudo benötigt >! RUN apt-get install -y sudo >! # >! ##### Official installation way is ##### >! # >! RUN mkdir /opt/iobroker >! WORKDIR /opt/iobroker >! RUN npm install iobroker >! # >! # ioBroker erwartet NODE in /usr/local/bin/node >! # Debian (z.B.x64) installiert nach /usr/bin/node >! # hier muss die "/etc/init.d/iobroker.sh" angepasst werden >! # >! # Test >! RUN NOTE_PATH=$(which node) && sed -i -e "s/NODECMD=.*/NODECMD=$NODE_PATH/" /etc/init.d/iobroker.sh >! # Leider scheitert es schon an den ersten Punkten. Wer kann da weiter helfen? Gruß derAuge
-
Hallo,
probier doch mal NODE_PATH=
which node
Dabei wird durch die Backticks "which node" ausgeführt und das Ergebnis NODE_PATH zugewiesen. Backticks (nicht mit Singleticks verwechseln) gehen auch für andere UNIX Befehle.
Docker:
- Na da bin ich auch dran interessiert!
Steve
-
…ähm, eine Frage noch...warum kein fertiges Docker Image mit NodeJS nehmen?
Oder habe ich da was falsch verstanden?
Steve
-
Hallo,
probier doch mal NODE_PATH=
which node
Dabei wird durch die Backticks "which node" ausgeführt und das Ergebnis NODE_PATH zugewiesen. Backticks (nicht mit Singleticks verwechseln) gehen auch für andere UNIX Befehle.
Docker:
- Na da bin ich auch dran interessiert!
Steve `
Das war der erste Schritt. Passt
root@pi2:~# NODE_PATH=`which node` root@pi2:~# echo $NODE_PATH /usr/local/bin/node
Die Var wird gesetzt
Nun zum nächsten Problem
Da in der Var ein "/" ist, wird dieser als Komando gewertet und es kommt zu einer Fehlermeldung
root@pi2:~# sed -i -e "s/NODECMD=.*/NODECMD=$NODE_PATH/" /etc/init.d/iobroker.sh sed: -e Ausdruck #1, Zeichen 23: Unbekannte Option für `s'
Lösung ist : "\ Hebt die spezielle Bedeutung des nächsten Zeichens auf. "
Da ich aber mehrere "/" in meiner Var habe funktioniert das nicht
Mein Test ohne Var (mit händischen Daten) sieht so aus:
root@pi2:~# sed -i -e "s/NODECMD=.*/NODECMD=\/usr\/bin\/node/" /etc/init.d/iobroker.sh
Durch \ werden die spezielle Bedeutung der nächsten Zeichen aufgehoben. Ergebniss ist dann OK
Aber es soll/muss ja mit der Var funktionieren.
Suchen…. Suchen.... Suchen.... Suchen.... Suchen.... Suchen.... Suchen.... Suchen.... Suchen.... Suchen.... Suchen.... Suchen.... Suchen.... Suchen....
Und endlich gefunden:
-
Du verwendest gleich zwei Zeichen in dem Ausdruck, die von sed als
> reserviert betrachtet werden. > > "Normalerweise" verwendet sed "/" als Trennzeichen. Also z.B. > "s/alt/neu/". Das geht nicht, weil "/" im Pfad vorkommen kann. Deswegen > weicht man auf "#" als Trennzeichen aus. Das geht natürlich in dem > Moment nicht mehr, wo Du "#" in dem Ausdruck verwenden willst.
Also sieht es nun folgendermassen aus:
root@pi2:~# NODE_PATH=`which node` root@pi2:~# echo $NODE_PATH /usr/local/bin/node root@pi2:~# root@pi2:~# sed -i -e "s#NODECMD=.*#NODECMD=$NODE_PATH#" /etc/init.d/iobroker.sh root@pi2:~#
Sooo einfach kann Linux sein
Nun erst mal Frühstück und dann weiter mit dem Docker … werde berichten
Gruß
derAuge
-
Hallo,
probier doch mal NODE_PATH=
which node
Dabei wird durch die Backticks "which node" ausgeführt und das Ergebnis NODE_PATH zugewiesen. Backticks (nicht mit Singleticks verwechseln) gehen auch für andere UNIX Befehle.
Docker:
- Na da bin ich auch dran interessiert!
Steve `
Das war der erste Schritt. Passt
root@pi2:~# NODE_PATH=`which node` root@pi2:~# echo $NODE_PATH /usr/local/bin/node
Die Var wird gesetzt
Nun zum nächsten Problem
Da in der Var ein "/" ist, wird dieser als Komando gewertet und es kommt zu einer Fehlermeldung
root@pi2:~# sed -i -e "s/NODECMD=.*/NODECMD=$NODE_PATH/" /etc/init.d/iobroker.sh sed: -e Ausdruck #1, Zeichen 23: Unbekannte Option für `s'
Lösung ist : "\ Hebt die spezielle Bedeutung des nächsten Zeichens auf. "
Da ich aber mehrere "/" in meiner Var habe funktioniert das nicht
Mein Test ohne Var (mit händischen Daten) sieht so aus:
root@pi2:~# sed -i -e "s/NODECMD=.*/NODECMD=\/usr\/bin\/node/" /etc/init.d/iobroker.sh
Durch \ werden die spezielle Bedeutung der nächsten Zeichen aufgehoben. Ergebniss ist dann OK
Aber es soll/muss ja mit der Var funktionieren.
Suchen…. Suchen.... Suchen.... Suchen.... Suchen.... Suchen.... Suchen.... Suchen.... Suchen.... Suchen.... Suchen.... Suchen.... Suchen.... Suchen....
Und endlich gefunden:
-
Du verwendest gleich zwei Zeichen in dem Ausdruck, die von sed als
> reserviert betrachtet werden. > > "Normalerweise" verwendet sed "/" als Trennzeichen. Also z.B. > "s/alt/neu/". Das geht nicht, weil "/" im Pfad vorkommen kann. Deswegen > weicht man auf "#" als Trennzeichen aus. Das geht natürlich in dem > Moment nicht mehr, wo Du "#" in dem Ausdruck verwenden willst.
Also sieht es nun folgendermassen aus:
root@pi2:~# NODE_PATH=`which node` root@pi2:~# echo $NODE_PATH /usr/local/bin/node root@pi2:~# root@pi2:~# sed -i -e "s#NODECMD=.*#NODECMD=$NODE_PATH#" /etc/init.d/iobroker.sh root@pi2:~#
Sooo einfach kann Linux sein
Nun erst mal Frühstück und dann weiter mit dem Docker … werde berichten
Gruß
derAuge `
ich habe iobroker Packet upgedated:-
(bluefox) create environment variable IOBROKER_HOME
-
(bluefox) iobroker command is accessible from everywhere
***** (bluefox) detect nodejs path with 'which node'****
Das heißt, man kann jetzt in scripts $IOBROKER_HOME variable verwenden: z.b.````
cd $IOBROKER_HOMEUnd ****__iobroker__**** kann man jetzt überall aufrufen und nicht unbedingt aus "/opt/iobroker". Das haben aber nur neue Installationen. Bei älteren muss es manuell eingetragen werden. Und dass bei der Installation node Pfad auch berücksichtigt wird.
-
Sauber!
Nun läuft der Dienst auch nach Neustart
Gruß
derAuge
-
Hi,
habe mit einen debian server aufgesetzt und bekomme nun ein Problem beim Neustart:
Der Adapter Teil lädt nicht und im log von iobroker steht:
ioBroker 2015-05-25 17:47:23 error host.ioBroker Invalid request getInstalled. "callback" or "from" is null ioBroker 2015-05-25 17:47:23 error host.ioBroker Invalid request getRepository. "callback" or "from" is null ioBroker 2015-05-25 17:47:23 info host.ioBroker instance system.adapter.admin.0 started with pid 720
beim manuellen Start über das bootscript kommt (weiss nicht ob das von Relevanz ist)
root@ioBroker:/etc/init.d# sh iobroker.sh start iobroker.sh: 11: iobroker.sh: EUID: not found Starting ioBrokerStarting ioBroker controller daemon... ioBroker controller daemon started. PID: 796
den node Pfad habe ich zu /usr/bin/node angepasst.
nach dem händischen Starten geht alles wie es soll…
-
Hi,
habe mit einen debian server aufgesetzt und bekomme nun ein Problem beim Neustart:
Der Adapter Teil lädt nicht und im log von iobroker steht:
ioBroker 2015-05-25 17:47:23 error host.ioBroker Invalid request getInstalled. "callback" or "from" is null ioBroker 2015-05-25 17:47:23 error host.ioBroker Invalid request getRepository. "callback" or "from" is null ioBroker 2015-05-25 17:47:23 info host.ioBroker instance system.adapter.admin.0 started with pid 720
beim manuellen Start über das bootscript kommt (weiss nicht ob das von Relevanz ist)
root@ioBroker:/etc/init.d# sh iobroker.sh start iobroker.sh: 11: iobroker.sh: EUID: not found Starting ioBrokerStarting ioBroker controller daemon... ioBroker controller daemon started. PID: 796
den node Pfad habe ich zu /usr/bin/node angepasst.
nach dem händischen Starten geht alles wie es soll… `
Hallo Kev0
willkommen im Forum
HAst du mit "root" im "Verzeichniss" installiert?
root@ioBroker:~# ### Install root@ioBroker:~# mkdir /opt/iobroker root@ioBroker:~# cd /opt/iobroker root@ioBroker:/opt/iobroker# npm install iobroker
Gruß
derAuge
-
Ja alles so geschehen.
Nach total Neustart der Maschine, nicht nur über reboot, gehts jetzt wundersamer Weise einwandfrei.
Danke trotzdem
-
Hallo zusammen,
ich habe jetzt versucht anhand dieser Anleitung mein ioBroker zu virtualisieren.
Bei mir kommt allerdings bei der Installation folgende Meldung:
root@ioBrokerVM:/opt/iobroker# npm install iobroker \ > iobroker@0.5.6 install /opt/iobroker/node_modules/iobroker > node lib/setup.js npm install iobroker.js-controller --production --prefix /opt/iobroker gyp ERR! build error gyp ERR! stack Error: not found: make gyp ERR! stack at F (/usr/lib/node_modules/npm/node_modules/which/which.js:43:28) gyp ERR! stack at E (/usr/lib/node_modules/npm/node_modules/which/which.js:46:29) gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/which/which.js:57:16 gyp ERR! stack at Object.oncomplete (evalmachine.<anonymous>:108:15) gyp ERR! System Linux 3.16.0-4-amd64 gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/utf-8-validate gyp ERR! node -v v0.10.40 gyp ERR! node-gyp -v v1.0.1 gyp ERR! not ok npm WARN optional dep failed, continuing utf-8-validate@1.2.1 gyp ERR! build error gyp ERR! stack Error: not found: make gyp ERR! stack at F (/usr/lib/node_modules/npm/node_modules/which/which.js:43:28) gyp ERR! stack at E (/usr/lib/node_modules/npm/node_modules/which/which.js:46:29) gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/which/which.js:57:16 gyp ERR! stack at Object.oncomplete (evalmachine.<anonymous>:108:15) gyp ERR! System Linux 3.16.0-4-amd64 gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/utf-8-validate gyp ERR! node -v v0.10.40 gyp ERR! node-gyp -v v1.0.1 gyp ERR! not ok npm WARN optional dep failed, continuing utf-8-validate@1.2.1 gyp ERR! build error gyp ERR! stack Error: not found: make gyp ERR! stack at F (/usr/lib/node_modules/npm/node_modules/which/which.js:43:28) gyp ERR! stack at E (/usr/lib/node_modules/npm/node_modules/which/which.js:46:29) gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/which/which.js:57:16 gyp ERR! stack at Object.oncomplete (evalmachine.<anonymous>:108:15) gyp ERR! System Linux 3.16.0-4-amd64 gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/bufferutil gyp ERR! node -v v0.10.40 gyp ERR! node-gyp -v v1.0.1 gyp ERR! not ok npm WARN optional dep failed, continuing bufferutil@1.2.1 gyp ERR! build error gyp ERR! stack Error: not found: make gyp ERR! stack at F (/usr/lib/node_modules/npm/node_modules/which/which.js:43:28) gyp ERR! stack at E (/usr/lib/node_modules/npm/node_modules/which/which.js:46:29) gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/which/which.js:57:16 gyp ERR! stack at Object.oncomplete (evalmachine.<anonymous>:108:15) gyp ERR! System Linux 3.16.0-4-amd64 gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/bufferutil gyp ERR! node -v v0.10.40 gyp ERR! node-gyp -v v1.0.1 gyp ERR! not ok npm WARN optional dep failed, continuing bufferutil@1.2.1 npm install iobroker.admin --production --prefix /opt/iobroker gyp ERR! build error gyp ERR! stack Error: not found: make gyp ERR! stack at F (/usr/lib/node_modules/npm/node_modules/which/which.js:43:28) gyp ERR! stack at E (/usr/lib/node_modules/npm/node_modules/which/which.js:46:29) gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/which/which.js:57:16 gyp ERR! stack at Object.oncomplete (evalmachine.<anonymous>:108:15) gyp ERR! System Linux 3.16.0-4-amd64 gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/iobroker/node_modules/iobroker.admin/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/utf-8-validate gyp ERR! node -v v0.10.40 gyp ERR! node-gyp -v v1.0.1 gyp ERR! not ok npm WARN optional dep failed, continuing utf-8-validate@1.2.1 gyp ERR! build error gyp ERR! stack Error: not found: make gyp ERR! stack at F (/usr/lib/node_modules/npm/node_modules/which/which.js:43:28) gyp ERR! stack at E (/usr/lib/node_modules/npm/node_modules/which/which.js:46:29) gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/which/which.js:57:16 gyp ERR! stack at Object.oncomplete (evalmachine.<anonymous>:108:15) gyp ERR! System Linux 3.16.0-4-amd64 gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/iobroker/node_modules/iobroker.admin/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/bufferutil gyp ERR! node -v v0.10.40 gyp ERR! node-gyp -v v1.0.1 gyp ERR! not ok npm WARN optional dep failed, continuing bufferutil@1.2.1 gyp ERR! build error gyp ERR! stack Error: not found: make gyp ERR! stack at F (/usr/lib/node_modules/npm/node_modules/which/which.js:43:28) gyp ERR! stack at E (/usr/lib/node_modules/npm/node_modules/which/which.js:46:29) gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/which/which.js:57:16 gyp ERR! stack at Object.oncomplete (evalmachine.<anonymous>:108:15) gyp ERR! System Linux 3.16.0-4-amd64 gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/iobroker/node_modules/iobroker.admin/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/utf-8-validate gyp ERR! node -v v0.10.40 gyp ERR! node-gyp -v v1.0.1 gyp ERR! not ok npm WARN optional dep failed, continuing utf-8-validate@1.2.1 gyp ERR! build error gyp ERR! stack Error: not found: make gyp ERR! stack at F (/usr/lib/node_modules/npm/node_modules/which/which.js:43:28) gyp ERR! stack at E (/usr/lib/node_modules/npm/node_modules/which/which.js:46:29) gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/which/which.js:57:16 gyp ERR! stack at Object.oncomplete (evalmachine.<anonymous>:108:15) gyp ERR! System Linux 3.16.0-4-amd64 gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/iobroker/node_modules/iobroker.admin/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/bufferutil gyp ERR! node -v v0.10.40 gyp ERR! node-gyp -v v1.0.1 gyp ERR! not ok npm WARN optional dep failed, continuing bufferutil@1.2.1 Write "./iobroker start" to start the ioBroker Auto-start was enabled. Write "update-rc.d -f iobroker.sh remove" to disable auto-start iobroker is started. Go to "http://ip-addr:8081" to open the admin UI. iobroker@0.5.6 node_modules/iobroker âââ yargs@1.2.6 (minimist@0.1.0) root@ioBrokerVM:/opt/iobroker#</anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous>
Ist das so normal?
Grüße vom Sebbo
-
Hallo *,
ich habe vor ca. 4 Monaten meine Installation vom IOBroker auf einem Debian System durchgeführt.
Allerdings habe ich auch das Problem, dass der IOBroker Dienst nach einem Reboot nicht startet.
Leider komme ich hier nicht voran um das Problem zu lösen.
Hat jemand noch weitere Ideen wie ich das Problem lösen kann?
-
Hallo *,
ich habe vor ca. 4 Monaten meine Installation vom IOBroker auf einem Debian System durchgeführt.
Allerdings habe ich auch das Problem, dass der IOBroker Dienst nach einem Reboot nicht startet.
Leider komme ich hier nicht voran um das Problem zu lösen.
Hat jemand noch weitere Ideen wie ich das Problem lösen kann? `
Was passiert wenn dusudo /etc/init.d/iobroker.sh start
Aufrufst?
-
sudo /etc/init.d/iobroker.sh start
Hallo Bluefox,
sudo /etc/init.d/iobroker.sh start -bash: sudo: Kommando nicht gefunden.
dann ist wohl doch noch was falsch :roll:
-
sudo /etc/init.d/iobroker.sh start
Hallo Bluefox,
sudo /etc/init.d/iobroker.sh start -bash: sudo: Kommando nicht gefunden.
dann ist wohl doch noch was falsch :roll: `
Kann jemand /etc/init.d/iobroker.sh hier posten? Bin nicht am Rechner gerade.
-
Das Problem mit dem Debian Autostart hatte ich gelöst. Sollte in einem meiner Beiträge stehen. Bin aber gerade nicht am Rechner. Edit http://forum.iobroker.net/viewtopic.php?t=6936
Gesendet von meinem SM-G930F mit Tapatalk