Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. [HowTo][Anleitung] Install von ioBroker auf Debian (Wheezy) in einer VM

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.5k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.7k

[HowTo][Anleitung] Install von ioBroker auf Debian (Wheezy) in einer VM

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
27 Beiträge 8 Kommentatoren 16.3k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • derAugeD Offline
    derAugeD Offline
    derAuge
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    hier einmal meine Erfahrung bei der Installation von ioBroker.

    Das ganze habe ich auf einer VMware installiert.

    Rechner mit Win7 64Bit

    VM-Player installiert

    Die Netzinstallation von Debian geladen (debian-7.8.0-amd64-netinst.iso)

    Neue VM erstellt und von der "debian-7.8.0-amd64-netinst.iso" gestartet.

    Für die Installation gibt es wohl schon genug "HowTo's

    Bei der Auswahl des Systems habe ich mich auf den ssh-Server und die standard-Tools beschränkt. Den Rechner habe ich "ioBroker" genannt

    Je nach Internetanbindung ist die Installation rasch erledigt und man hat ein Debian-System zum testen von ioBroker.

    nun geht es an die Installation

    mit Putty via SSH auf das System verbinden.

    ! ` > Using username "root".

    root@192.168.102.110's password:

    Linux ioBroker 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1+deb7u2 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: Wed Feb 25 21:02:37 2015 from 192.168.102.101

    root@ioBroker:~# `

    Wir sind nun auf dem System und können mit der Installation beginnen:

    ! ` > root@ioBroker:~# ##### Update der Linux-Module #####

    root@ioBroker:~# apt-get update

    root@ioBroker:~# apt-get upgrade -y `

    Nun benötigen wir das nodejs-Paket

    ! ````
    root@ioBroker:~# ##### Vorbereitung der ioBroker Installation #####
    root@ioBroker:~#
    root@ioBroker:~#
    root@ioBroker:~#
    root@ioBroker:~#
    root@ioBroker:~# apt-get install curl
    Die folgenden zusätzlichen Pakete werden installiert:
    libcurl3 librtmp0 libssh2-1
    Die folgenden NEUEN Pakete werden installiert:
    curl libcurl3 librtmp0 libssh2-1
    0 aktualisiert, 4 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
    Es müssen 797 kB an Archiven heruntergeladen werden.
    Nach dieser Operation werden 1.406 kB Plattenplatz zusätzlich benutzt.
    Möchten Sie fortfahren [J/n]?
    ! Entpacken von librtmp0:amd64 (aus .../librtmp0_2.4+20111222.git4e06e21-1_amd64.deb) ...
    Vormals nicht ausgewähltes Paket libssh2-1:amd64 wird gewählt.
    Entpacken von libssh2-1:amd64 (aus .../libssh2-1_1.4.2-1.1_amd64.deb) ...
    Vormals nicht ausgewähltes Paket libcurl3:amd64 wird gewählt.
    Entpacken von libcurl3:amd64 (aus .../libcurl3_7.26.0-1+wheezy12_amd64.deb) ...
    Vormals nicht ausgewähltes Paket curl wird gewählt.
    Entpacken von curl (aus .../curl_7.26.0-1+wheezy12_amd64.deb) ...
    Trigger für man-db werden verarbeitet ...
    librtmp0:amd64 (2.4+20111222.git4e06e21-1) wird eingerichtet ...
    libssh2-1:amd64 (1.4.2-1.1) wird eingerichtet ...
    libcurl3:amd64 (7.26.0-1+wheezy12) wird eingerichtet ...
    curl (7.26.0-1+wheezy12) wird eingerichtet ...
    root@ioBroker:~#
    root@ioBroker:~#
    root@ioBroker:~#
    root@ioBroker:~#
    root@ioBroker:~# curl -sL https://deb.nodesource.com/setup | bash -

    Populating apt-get cache...

    • apt-get update

    Installing packages required for setup: apt-transport-https...

    • apt-get install -y apt-transport-https 2>&1 > /dev/null

    Confirming "wheezy" is supported...

    • curl -sLf -o /dev/null 'https://deb.nodesource.com/node/dists/wheezy/Release'

    Adding the NodeSource signing key to your keyring...

    • curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
      OK

    Creating apt sources list file for the NodeSource repo...

    • echo 'deb https://deb.nodesource.com/node wheezy main' > /etc/apt/sources.list.d/nodesource.list
    • echo 'deb-src https://deb.nodesource.com/node wheezy main' >> /etc/apt/sources.list.d/nodesource.list

    Running apt-get update for you...

    • apt-get update

    ! ## Run apt-get install nodejs (as root) to install Node.js and npm
    ! root@ioBroker:~#
    root@ioBroker:~#
    root@ioBroker:~#
    root@ioBroker:~# apt-get install -y nodejs
    ! Die folgenden zusätzlichen Pakete werden installiert:
    rlwrap
    Die folgenden NEUEN Pakete werden installiert:
    nodejs rlwrap
    0 aktualisiert, 2 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
    Es müssen 6.174 kB an Archiven heruntergeladen werden.
    Nach dieser Operation werden 20,3 MB Plattenplatz zusätzlich benutzt.
    ! Entpacken von rlwrap (aus .../rlwrap_0.37-3_amd64.deb) ...
    Vormals nicht ausgewähltes Paket nodejs wird gewählt.
    Entpacken von nodejs (aus .../nodejs_0.10.36-1nodesource1~wheezy1_amd64.deb) ...
    Trigger für man-db werden verarbeitet ...
    rlwrap (0.37-3) wird eingerichtet ...
    update-alternatives: /usr/bin/rlwrap wird verwendet, um /usr/bin/readline-editor (readline-editor) im Auto-Modus bereitzustellen
    nodejs (0.10.36-1nodesource1~wheezy1) wird eingerichtet ...
    root@ioBroker:~#
    root@ioBroker:~#
    ! ````

    Nun die Installation von ioBroker (Update 01.03.2015)

    ! ` > root@ioBroker:~# ### Install

    root@ioBroker:~# mkdir /opt/iobroker

    root@ioBroker:~# cd /opt/iobroker

    root@ioBroker:/opt/iobroker# npm install iobroker

    /

    iobroker@0.5.1 install /opt/iobroker/node_modules/iobroker

    node lib/setup.js

    npm install iobroker.js-controller –production --silent --prefix "/opt/iobroker/node_modules/iobroker/lib/../../../"

    npm install iobroker.admin --production --silent --prefix "/opt/iobroker/node_modules/iobroker/lib/../../../"

    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.1 node_modules/iobroker

    └── yargs@1.2.6 (minimist@0.1.0)

    root@ioBroker:/opt/iobroker#

    root@ioBroker:/opt/iobroker# `

    Nun ist es geschafft.

    Go to "http://ip-addr:8081" to open the admin UI.

    Auf euer Feedback für Ergänzungen / Erfahrungen / Anpassungen bin ich gespannt

    Gruß

    derAuge

    1 Antwort Letzte Antwort
    0
    • derAugeD Offline
      derAugeD Offline
      derAuge
      schrieb am zuletzt editiert von
      #2

      Bekannte Probleme:

      • ioBroker startet nicht automatisch. muss über "./iobroker start" gestartet werden. Sobald ich hier eine Lösung habe werde ich es Berichten.
        Update 01.03.2015
      • iobroker@0.5.1 install

      Nun werden alle Pathde richtig gesetzt und ioBroker wird auch beim neustart gestartet 
      

      ` > BlueFox 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_HOME

      Und 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. `

      1 Antwort Letzte Antwort
      0
      • derAugeD Offline
        derAugeD Offline
        derAuge
        schrieb am zuletzt editiert von
        #3

        @Bluefox

        nach der Installation erscheint:

        Auto-start was enabled.

        Das ist leider nicht der Fall. Ist das in dem Install-Script für dieses System nicht vorgesehen?

        Gruß

        deerAuge

        1 Antwort Letzte Antwort
        0
        • S Offline
          S Offline
          StefSign
          schrieb am zuletzt editiert von
          #4

          Hallo "derAuge",

          interessanter Beitrag…wäre auch eine schlanke VM Lösung wie Docker eine Alternative für Dich? Man könnte dieses Docker Image viel leichter sharen. Hab' das schon mal mit ioBroker 0.39 ausprobiert. Die meisten neuen LINUX Distributionen sind dockerfähig.

          cu

          Steve

          1 Antwort Letzte Antwort
          0
          • derAugeD Offline
            derAugeD Offline
            derAuge
            schrieb am zuletzt editiert von
            #5

            Hi Steve,

            habe mich mit "Docker" noch nicht beschäftigt. Passt das in das "Gesamt-Konzept" von ioBroker?

            Gruß

            derAuge

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              StefSign
              schrieb am zuletzt editiert von
              #6

              Hallo,

              ich denke sehr gut, denn:

              • Gerade die ioBroker Architektur bietet sich an Teile (Adapter?) davon auf anderen Devices (oder virtualisierte Devices) laufen zu lassen.

              • Die ARM Device werden immer stärker (8 Cores mit 2 GB RAM sind schon verfügbar wie Odroid XU3)

              • ioBroker reicht ja nicht aus…ein anderes Docker Image hat bei mir "homegear" installiert.

              • Das alles auf einem Raspi2.

              • Details auf homegear.eu verfügbar.

              Einen richtigen PC Server (mit ESXi oder VM player) kommt für mich nicht mehr in Frage, schon allein wegen des Energieverbrauchs.

              Steve

              1 Antwort Letzte Antwort
              0
              • BluefoxB Offline
                BluefoxB Offline
                Bluefox
                schrieb am zuletzt editiert von
                #7

                @derAuge:

                @Bluefox

                nach der Installation erscheint:

                Auto-start was enabled.

                Das ist leider nicht der Fall. Ist das in dem Install-Script für dieses System nicht vorgesehen?

                Gruß

                deerAuge `
                Na ja… Ich habe auch nur mit debian ausprobiert.

                Man kann aber die zwei Skripts anschauen:

                • https://github.com/ioBroker/ioBroker/bl ... obroker.sh

                Nachdem ersetzen von @@PATH @@lib @@user

                sieht es so aus:

                ! ````
                #!/bin/bash

                BEGIN INIT INFO

                Provides: iobroker.sh

                Required-Start: $network $local_fs $remote_fs

                Required-Stop:: $network $local_fs $remote_fs

                Default-Start: 2 3 4 5

                Default-Stop: 0 1 6

                Short-Description: starts ioBroker

                Description: starts ioBroker

                END INIT INFO

                (( EUID )) && echo .You need to have root privileges.. && exit 1
                PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
                NODECMD=/usr/local/bin/node
                IOBROKERCMD=/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js
                RETVAL=0
                IOBROKERUSER=root

                ! start() {
                echo -n "Starting ioBroker"
                sudo -u ${IOBROKERUSER} $NODECMD $IOBROKERCMD start
                RETVAL=$?
                }
                ! stop() {
                echo -n "Stopping ioBroker"
                sudo -u ${IOBROKERUSER} $NODECMD $IOBROKERCMD stop
                RETVAL=$?
                }
                case "$1" in
                start)
                start
                ;;
                stop)
                stop
                ;;
                restart)
                stop
                start
                ;;
                *)
                echo "Usage: iobroker {start|stop|restart}"
                exit 1
                ;;
                esac
                exit $RETVAL

                
                - und
                
                [https://github.com/ioBroker/ioBroker/bl … install.sh](https://github.com/ioBroker/ioBroker/blob/master/install/linux/install.sh)
                
                Nach dem ersetzen von @@PATH sieht die so aus.
                
                >! ````
                #!/bin/bash
                #Create empty directories
                IO_USER=$USER
                >! #Find out if user "iobroker" exists
                if [ $(cat /etc/passwd | grep "/home" |cut -d: -f1 | grep '^iobroker/r> | wc -l) -eq 0 ]
                then
                    IO_USER=$USER
                else
                    IO_USER=iobroker
                fi
                >! #Set rights
                echo "Set permissions..."
                chmod 777 /etc/init.d/iobroker.sh
                #Replace user pi with current user
                sed -i -e "s/IOBROKERUSER=.*/IOBROKERUSER=$IO_USER/" /etc/init.d/iobroker.sh
                chown root:root /etc/init.d/iobroker.sh
                update-rc.d iobroker.sh defaults
                >! # Start the service!
                echo "Start iobroker..."
                cd /opt/iobroker/node_modules/iobroker.js-controller/
                #chmod 777 * -R
                ./iobroker start
                echo "call http://ip_address:8081/ in browser to get the AdminUI of ioBroker"
                

                iobroker.sh wird in "/etc/init.d/" kopiert und danach wird ein mal install.sh ausgeführt.

                Kann es sein, dass irgendwelche Pfade nicht stimmen? Z.B. "/usr/local/bin/node"

                oder /etc/init.d/

                Existiert in deine Installation "/etc/init.d/iobroker.sh"?

                Hat die Rechte?

                root:/opt/iobroker/node_modules/iobroker/install/linux# ls -l /etc/init.d/iobroker.sh
                -rwxrwxrwx 1 root root 1058 Jan 27 15:06 /etc/init.d/iobroker.sh
                

                Was passiert wenn du "/usr/local/bin/node" startest?

                1 Antwort Letzte Antwort
                0
                • derAugeD Offline
                  derAugeD Offline
                  derAuge
                  schrieb am zuletzt editiert von
                  #8

                  iobroker.sh wird in "/etc/init.d/" kopiert und danach wird ein mal install.sh ausgeführt.

                  Kann es sein, dass irgendwelche Pfade nicht stimmen? Z.B. "/usr/local/bin/node"

                  oder /etc/init.d/

                  root@ioBroker:~# ls -l /usr/local/bin/
                  insgesamt 0
                  
                  
                  root@ioBroker:~# ls -l  /etc/init.d/iobroker.sh
                  -rwxrwxrwx 1 root root 1058 Feb 25 21:21 /etc/init.d/iobroker.sh
                  
                  

                  = JA, es sieht so aus, dass die node-installation wo anders liegt
                  ` > root@ioBroker:~# node -v

                  v0.10.36

                  root@ioBroker:~# /usr/bin/nodejs -v

                  v0.10.36

                  root@ioBroker:~# `

                  Existiert in deine Installation "/etc/init.d/iobroker.sh"?

                  root@ioBroker:~# ls -l /etc/init.d/iobroker.sh
                  -rwxrwxrwx 1 root root 1058 Feb 25 21:21 /etc/init.d/iobroker.sh
                  
                  

                  Ich habe ja die Installation NODE nicht von dir genommen

                  sondern:

                  https://github.com/joyent/node/wiki/ins … ge-manager

                  Setup with Debian (as root):
                  
                  apt-get install curl
                  curl -sL https://deb.nodesource.com/setup | bash -
                  
                  Then install with Debian (as root):
                  
                  apt-get install -y nodejs
                  
                  

                  <u>Habe zwei Fehler (Anpassungen) gefunden</u>

                  1.) Install-Path

                  Zum testen habe ich die iobroker.sh angepasst

                  root@ioBroker:~# nano /etc/init.d/iobroker.sh

                  # NODECMD=/usr/local/bin/node
                  NODECMD=node
                  
                  

                  2.) sudo-Paket fehlt

                  root@ioBroker:~# /etc/init.d/iobroker.sh
                  Usage: iobroker {start|stop|restart}
                  root@ioBroker:~# /etc/init.d/iobroker.sh restart
                  Stopping ioBroker/etc/init.d/iobroker.sh: Zeile 27: sudo: Kommando nicht gefunden.
                  Starting ioBroker/etc/init.d/iobroker.sh: Zeile 21: sudo: Kommando nicht gefunden.
                  root@ioBroker:~# nano /etc/init.d/iobroker.sh
                  root@ioBroker:~# apt-get install sudo
                  Paketlisten werden gelesen... Fertig
                  Abhängigkeitsbaum wird aufgebaut.
                  Statusinformationen werden eingelesen.... Fertig
                  Die folgenden NEUEN Pakete werden installiert:
                    sudo
                  0 aktualisiert, 1 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
                  Es müssen 848 kB an Archiven heruntergeladen werden.
                  Nach dieser Operation werden 1.881 kB Plattenplatz zusätzlich benutzt.
                  Holen: 1 http://security.debian.org/ wheezy/updates/main sudo amd64 1.8.5p2-1+nmu2 [848 kB]
                  Es wurden 848 kB in 0 s geholt (1.273 kB/s).
                  Vormals nicht ausgewähltes Paket sudo wird gewählt.
                  (Lese Datenbank ... 31719 Dateien und Verzeichnisse sind derzeit installiert.)
                  Entpacken von sudo (aus .../sudo_1.8.5p2-1+nmu2_amd64.deb) ...
                  Trigger für man-db werden verarbeitet ...
                  sudo (1.8.5p2-1+nmu2) wird eingerichtet ...
                  root@ioBroker:~#
                  root@ioBroker:~#
                  root@ioBroker:~#
                  root@ioBroker:~# /etc/init.d/iobroker.sh restart
                  Stopping ioBrokerioBroker controller daemon is not running
                  Starting ioBrokerStarting ioBroker controller daemon...
                  ioBroker controller daemon started. PID: 3790
                  root@ioBroker:~#
                  
                  

                  Danach wird ioBroker auch nach einem Neustart ausgeführt

                  Gruß

                  derAuge

                  1 Antwort Letzte Antwort
                  0
                  • BluefoxB Offline
                    BluefoxB Offline
                    Bluefox
                    schrieb am zuletzt editiert von
                    #9

                    @derAuge:

                    <u>Habe zwei Fehler (Anpassungen) gefunden</u>

                    1.) Install-Path

                    Zum testen habe ich die iobroker.sh angepasst

                    root@ioBroker:~# nano /etc/init.d/iobroker.sh

                    # NODECMD=/usr/local/bin/node
                    NODECMD=node
                    
                    

                    2.) sudo-Paket fehlt `
                    Man muss in iobroker.sh Fullpath benutzen, weil es sein kann dass die Pfade nur für einen Anwender gesetzt sind. Mindestens bei Raspi bei Neustart hat es (glaube ich) nicht funktioniert, wenn ich einfach "node" reinschreibe.

                    Wo liegt dein node.js Installation? Und wie konnte man das rausfinden?

                    Kannst du deine Anleitung anpassen mit "sudo"?

                    1 Antwort Letzte Antwort
                    0
                    • HomoranH Nicht stören
                      HomoranH Nicht stören
                      Homoran
                      Global Moderator Administrators
                      schrieb am zuletzt editiert von
                      #10

                      @Bluefox:

                      Wo liegt dein node.js Installation? Und wie konnte man das rausfinden? `

                      root@bananapi:~# which node
                      /usr/local/bin/node
                      
                      

                      Gruß

                      Rainer

                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      1 Antwort Letzte Antwort
                      0
                      • BluefoxB Offline
                        BluefoxB Offline
                        Bluefox
                        schrieb am zuletzt editiert von
                        #11

                        @Homoran:

                        @Bluefox:

                        Wo liegt dein node.js Installation? Und wie konnte man das rausfinden? `

                        root@bananapi:~# which node
                        /usr/local/bin/node
                        
                        

                        Gruß

                        Rainer `
                        Cool. Danke :)

                        1 Antwort Letzte Antwort
                        0
                        • derAugeD Offline
                          derAugeD Offline
                          derAuge
                          schrieb am zuletzt editiert von
                          #12

                          ` > 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:~# `

                          1 Antwort Letzte Antwort
                          0
                          • derAugeD Offline
                            derAugeD Offline
                            derAuge
                            schrieb am zuletzt editiert von
                            #13

                            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
                            1 Antwort Letzte Antwort
                            0
                            • S Offline
                              S Offline
                              StefSign
                              schrieb am zuletzt editiert von
                              #14

                              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

                              1 Antwort Letzte Antwort
                              0
                              • S Offline
                                S Offline
                                StefSign
                                schrieb am zuletzt editiert von
                                #15

                                …ähm, eine Frage noch...warum kein fertiges Docker Image mit NodeJS nehmen?

                                Oder habe ich da was falsch verstanden?

                                Steve

                                1 Antwort Letzte Antwort
                                0
                                • derAugeD Offline
                                  derAugeD Offline
                                  derAuge
                                  schrieb am zuletzt editiert von
                                  #16

                                  @StefSign:

                                  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

                                  1 Antwort Letzte Antwort
                                  0
                                  • BluefoxB Offline
                                    BluefoxB Offline
                                    Bluefox
                                    schrieb am zuletzt editiert von
                                    #17

                                    @derAuge:

                                    @StefSign:

                                    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_HOME

                                    Und ****__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.
                                    1 Antwort Letzte Antwort
                                    0
                                    • derAugeD Offline
                                      derAugeD Offline
                                      derAuge
                                      schrieb am zuletzt editiert von
                                      #18

                                      Sauber!

                                      Nun läuft der Dienst auch nach Neustart

                                      Gruß

                                      derAuge

                                      1 Antwort Letzte Antwort
                                      0
                                      • K Offline
                                        K Offline
                                        Kev0
                                        schrieb am zuletzt editiert von
                                        #19

                                        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…

                                        1 Antwort Letzte Antwort
                                        0
                                        • derAugeD Offline
                                          derAugeD Offline
                                          derAuge
                                          schrieb am zuletzt editiert von
                                          #20

                                          @Kev0:

                                          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

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          837

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe