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. [SOLVED] Instal.auf FreeBSD funktioniert nicht.

NEWS

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

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

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

[SOLVED] Instal.auf FreeBSD funktioniert nicht.

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
freenasfreebsdinstaller
74 Beiträge 6 Kommentatoren 7.5k Aufrufe 2 Watching
  • Ä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.
  • M mrMuppet

    @AlCalzone sagte in Neue Installation auf FreeBSD/FreeNAS 11.2 funktioniert nicht.:

    rm -rf /opt/iobroker
    curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/freebsd-fix/installer.sh | bash -

    root@iobroker_v2:~ # curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/freebsd-fix/installer.sh | bash -
    + INSTALLER_VERSION=2019-05-21
    + [[ 0 -eq 0 ]]
    + IS_ROOT=true
    + ROOT_GROUP=root
    ++ uname
    + unamestr=FreeBSD
    + '[' FreeBSD = Linux ']'
    + '[' FreeBSD = Darwin ']'
    + '[' FreeBSD = FreeBSD ']'
    + platform=freebsd
    + ROOT_GROUP=wheel
    + IOB_DIR=/opt/iobroker
    + '[' freebsd = osx ']'
    + CONTROLLER_DIR=/opt/iobroker/node_modules/iobroker.js-controller
    + INSTALLER_INFO_FILE=/opt/iobroker/INSTALLER_INFO.txt
    + INSTALL_TARGET=iobroker
    + IOB_USER=iobroker
    + '[' freebsd = osx ']'
    + test -t 1
    ++ which tput
    ++ tput colors
    + ncolors=94
    + test -n 94
    + test 94 -ge 8
    ++ tput cols
    + termcols=94
    ++ tput bold
    + bold=
    ++ tput smul
    + underline=
    ++ tput smso
    + standout=
    ++ tput sgr0
    + normal=
    ++ tput setaf 0
    + black=''
    ++ tput setaf 1
    + red=''
    ++ tput setaf 2
    + green=''
    ++ tput setaf 3
    + yellow=''
    ++ tput setaf 4
    + blue=''
    ++ tput setaf 5
    + magenta=''
    ++ tput setaf 6
    + cyan=''
    ++ tput setaf 7
    + white=''
    + HLINE===========================================================================
    + print_bold 'Welcome to the ioBroker installer!' 'Installer version: 2019-05-21' '' 'You might need to enter your password a couple of times.'
    + title='Welcome to the ioBroker installer!'
    + echo
    
    + echo ==========================================================================
    ==========================================================================
    + echo
    
    + echo '    Welcome to the ioBroker installer!'
        Welcome to the ioBroker installer!
    + for text in "${@:2}"
    + echo '    Installer version: 2019-05-21'
        Installer version: 2019-05-21
    + for text in "${@:2}"
    + echo '    '
    
    + for text in "${@:2}"
    + echo '    You might need to enter your password a couple of times.'
        You might need to enter your password a couple of times.
    + echo
    
    + echo ==========================================================================
    ==========================================================================
    + echo
    
    + export AUTOMATED_INSTALLER=true
    + AUTOMATED_INSTALLER=true
    + NUM_STEPS=4
    + print_step 'Installing prerequisites' 1 4
    + stepname='Installing prerequisites'
    + stepnr=1
    + steptotal=4
    + echo
    
    + echo ==========================================================================
    ==========================================================================
    + echo '    Installing prerequisites (1/4)'
        Installing prerequisites (1/4)
    + echo ==========================================================================
    ==========================================================================
    + echo
    
    + case "$platform" in
    + packages=("sudo" "git" "curl" "bash" "unzip" "avahi-libdns" "dbus" "nss_mdns" "gcc" "python")
    + declare -a packages
    + for pkg in "${packages[@]}"
    + install_package_freebsd sudo
    + package=sudo
    + pkg info sudo
    + for pkg in "${packages[@]}"
    + install_package_freebsd git
    + package=git
    + pkg info git
    + for pkg in "${packages[@]}"
    + install_package_freebsd curl
    + package=curl
    + pkg info curl
    + for pkg in "${packages[@]}"
    + install_package_freebsd bash
    + package=bash
    + pkg info bash
    + for pkg in "${packages[@]}"
    + install_package_freebsd unzip
    + package=unzip
    + pkg info unzip
    + for pkg in "${packages[@]}"
    + install_package_freebsd avahi-libdns
    + package=avahi-libdns
    + pkg info avahi-libdns
    + for pkg in "${packages[@]}"
    + install_package_freebsd dbus
    + package=dbus
    + pkg info dbus
    + for pkg in "${packages[@]}"
    + install_package_freebsd nss_mdns
    + package=nss_mdns
    + pkg info nss_mdns
    + for pkg in "${packages[@]}"
    + install_package_freebsd gcc
    + package=gcc
    + pkg info gcc
    + for pkg in "${packages[@]}"
    + install_package_freebsd python
    + package=python
    + pkg info python
    + ln -s /usr/local/include/avahi-compat-libdns_sd/dns_sd.h /usr/include/dns_sd.h
    ln: /usr/include/dns_sd.h: File exists
    + sed -i -e s/#enable-dbus/enable-dbus/ /usr/local/etc/avahi/avahi-daemon.conf
    + sed -i -e 's/hosts: file dns/hosts: file dns mdns/' /etc/nsswitch.conf
    + sysrc -f /etc/rc.conf dbus_enable=YES
    dbus_enable: YES -> YES
    + sysrc -f /etc/rc.conf avahi_daemon_enable=YES
    avahi_daemon_enable: YES -> YES
    + service dbus start
    dbus already running?  (pid=55380).
    + service avahi-daemon start
    avahi_daemon already running?  (pid=55387).
    + print_step 'Creating ioBroker user and directory' 2 4
    + stepname='Creating ioBroker user and directory'
    + stepnr=2
    + steptotal=4
    + echo
    
    + echo ==========================================================================
    ==========================================================================
    + echo '    Creating ioBroker user and directory (2/4)'
        Creating ioBroker user and directory (2/4)
    + echo ==========================================================================
    ==========================================================================
    + echo
    
    + '[' freebsd = linux ']'
    + '[' freebsd = freebsd ']'
    + create_user_freebsd iobroker
    + username=iobroker
    + id iobroker
    + '[' 0 -ne 0 ']'
    + groups=(audio bluetooth dialout gpio i2c redis tty)
    + declare -a groups
    + for grp in "${groups[@]}"
    + '[' true = true ']'
    + getent group audio
    + for grp in "${groups[@]}"
    + '[' true = true ']'
    + getent group bluetooth
    + for grp in "${groups[@]}"
    + '[' true = true ']'
    + getent group dialout
    + for grp in "${groups[@]}"
    + '[' true = true ']'
    + getent group gpio
    + for grp in "${groups[@]}"
    + '[' true = true ']'
    + getent group i2c
    + for grp in "${groups[@]}"
    + '[' true = true ']'
    + getent group redis
    + for grp in "${groups[@]}"
    + '[' true = true ']'
    + getent group tty
    tty:*:4:iobroker
    + pw group mod tty -m iobroker
    + '[' true = true ']'
    + mkdir -p /opt/iobroker
    + cd /opt/iobroker
    + echo 'Directory /opt/iobroker created'
    Directory /opt/iobroker created
    + touch /opt/iobroker/INSTALLER_INFO.txt
    + chmod 777 /opt/iobroker/INSTALLER_INFO.txt
    + echo 'Installer version: 2019-05-21'
    ++ date +%F
    + echo 'Installation date 2019-05-21'
    + echo 'Platform: freebsd'
    + print_step 'Installing ioBroker' 3 4
    + stepname='Installing ioBroker'
    + stepnr=3
    + steptotal=4
    + echo
    
    + echo ==========================================================================
    ==========================================================================
    + echo '    Installing ioBroker (3/4)'
        Installing ioBroker (3/4)
    + echo ==========================================================================
    ==========================================================================
    + echo
    
    + '[' true = true ']'
    + echo 'Installed as root'
    + npm i iobroker --loglevel error --unsafe-perm
    + npm i --production --loglevel error --unsafe-perm
    ../src/unix_dgram.cc:53:13: warning: unused function 'SetNonBlock' [-Wunused-function]
    inline void SetNonBlock(int fd) {
                ^
    ../src/unix_dgram.cc:65:13: warning: unused function 'SetCloExec' [-Wunused-function]
    inline void SetCloExec(int fd) {
                ^
    2 warnings generated.
    ../src/serialport.cpp:95:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
      data->callback.Call(2, argv);
                     ^
    ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
      NAN_DEPRECATED inline v8::Local<v8::Value>
      ^
    ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
    # define NAN_DEPRECATED __attribute__((deprecated))
                                           ^
    ../src/serialport.cpp:150:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
      data->callback.Call(1, argv);
                     ^
    ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
      NAN_DEPRECATED inline v8::Local<v8::Value>
      ^
    ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
    # define NAN_DEPRECATED __attribute__((deprecated))
                                           ^
    ../src/serialport.cpp:188:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
      data->callback.Call(1, argv);
                     ^
    ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
      NAN_DEPRECATED inline v8::Local<v8::Value>
      ^
    ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
    # define NAN_DEPRECATED __attribute__((deprecated))
                                           ^
    ../src/serialport.cpp:231:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
      data->callback.Call(1, argv);
                     ^
    ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
      NAN_DEPRECATED inline v8::Local<v8::Value>
      ^
    ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
    # define NAN_DEPRECATED __attribute__((deprecated))
                                           ^
    ../src/serialport.cpp:285:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
      data->callback.Call(1, argv);
                     ^
    ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
      NAN_DEPRECATED inline v8::Local<v8::Value>
      ^
    ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
    # define NAN_DEPRECATED __attribute__((deprecated))
                                           ^
    ../src/serialport.cpp:336:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
      data->callback.Call(2, argv);
                     ^
    ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
      NAN_DEPRECATED inline v8::Local<v8::Value>
      ^
    ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
    # define NAN_DEPRECATED __attribute__((deprecated))
                                           ^
    ../src/serialport.cpp:383:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
      data->callback.Call(2, argv);
                     ^
    ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
      NAN_DEPRECATED inline v8::Local<v8::Value>
      ^
    ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
    # define NAN_DEPRECATED __attribute__((deprecated))
                                           ^
    ../src/serialport.cpp:424:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
      data->callback.Call(1, argv);
                     ^
    ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
      NAN_DEPRECATED inline v8::Local<v8::Value>
      ^
    ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
    # define NAN_DEPRECATED __attribute__((deprecated))
                                           ^
    8 warnings generated.
    ../src/serialport_unix.cpp:384:20: warning: variable 'outbaud' is uninitialized when used here
          [-Wuninitialized]
      data->baudRate = outbaud;
                       ^~~~~~~
    ../src/serialport_unix.cpp:369:14: note: initialize the variable 'outbaud' to silence this
          warning
      int outbaud;
                 ^
                  = 0
    1 warning generated.
    ../src/poller.cpp:69:17: warning: 'Call' is deprecated [-Wdeprecated-declarations]
      obj->callback.Call(2, argv);
                    ^
    ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
      NAN_DEPRECATED inline v8::Local<v8::Value>
      ^
    ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
    # define NAN_DEPRECATED __attribute__((deprecated))
                                           ^
    1 warning generated.
    + print_step 'Finalizing installation' 4 4
    + stepname='Finalizing installation'
    + stepnr=4
    + steptotal=4
    + echo
    
    + echo ==========================================================================
    ==========================================================================
    + echo '    Finalizing installation (4/4)'
        Finalizing installation (4/4)
    + echo ==========================================================================
    ==========================================================================
    + echo
    
    + INITSYSTEM=unknown
    + [[ freebsd = \f\r\e\e\b\s\d ]]
    + [[ -d /usr/local/etc/rc.d ]]
    + INITSYSTEM=rc.d
    + [[ -n '' ]]
    + echo 'init system: rc.d'
    + IOB_NODE_CMDLINE=node
    ++ which bash
    + BASH_CMDLINE=/usr/local/bin/bash
    + '[' iobroker '!=' root ']'
    + IOB_NODE_CMDLINE='sudo -H -u iobroker node'
    + '[' rc.d = systemd ']'
    + '[' rc.d = launchctl ']'
    ++ cat
    + IOB_EXECUTABLE='#!/usr/local/bin/bash
    sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js $@'
    + '[' freebsd = linux ']'
    + '[' freebsd = freebsd ']'
    + IOB_BIN_PATH=/usr/local/bin
    + '[' true = true ']'
    + ln -sfn /opt/iobroker/iobroker /usr/local/bin/iobroker
    + ln -sfn /opt/iobroker/iobroker /usr/local/bin/iob
    + '[' true = true ']'
    + ln -sfn /opt/iobroker/iobroker /opt/iobroker/iob
    + echo '#!/usr/local/bin/bash
    sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js $@'
    + make_executable /opt/iobroker/iobroker
    + file=/opt/iobroker/iobroker
    + '[' true = true ']'
    + chmod 755 /opt/iobroker/iobroker
    + [[ rc.d = \i\n\i\t\.\d ]]
    + '[' rc.d = systemd ']'
    + '[' rc.d = rc.d ']'
    + echo 'Enabling autostart...'
    Enabling autostart...
    ++ cat
    + RCD_FILE='#!/bin/sh
    #
    # PROVIDE: iobroker
    # REQUIRE: DAEMON
    # KEYWORD: shutdown
    
    . /etc/rc.subr
    
    name="iobroker"
    rcvar="iobroker_enable"
    
    load_rc_config $name
    
    iobroker_enable=${iobroker_enable-"NO"}
    iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"}
    
    PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
    NODECMD=$(which node)
    
    iobroker_start ()
    {
    su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start"
    }
    
    iobroker_stop ()
    {
    su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop"
    }
    
    iobroker_status ()
    {
    su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status"
    }
    
    PATH="${PATH}:/usr/local/bin"
    pidfile="${iobroker_pidfile}"
    
    start_cmd=iobroker_start
    stop_cmd=iobroker_stop
    status_cmd=iobroker_status
    
    run_rc_command "$1"'
    + SERVICE_FILENAME=/usr/local/etc/rc.d/iobroker
    + '[' true = true ']'
    + echo '#!/bin/sh
    #
    # PROVIDE: iobroker
    # REQUIRE: DAEMON
    # KEYWORD: shutdown
    
    . /etc/rc.subr
    
    name="iobroker"
    rcvar="iobroker_enable"
    
    load_rc_config $name
    
    iobroker_enable=${iobroker_enable-"NO"}
    iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"}
    
    PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
    NODECMD=$(which node)
    
    iobroker_start ()
    {
    su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start"
    }
    
    iobroker_stop ()
    {
    su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop"
    }
    
    iobroker_status ()
    {
    su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status"
    }
    
    PATH="${PATH}:/usr/local/bin"
    pidfile="${iobroker_pidfile}"
    
    start_cmd=iobroker_start
    stop_cmd=iobroker_stop
    status_cmd=iobroker_status
    
    run_rc_command "$1"'
    + set_root_permissions /usr/local/etc/rc.d/iobroker
    + file=/usr/local/etc/rc.d/iobroker
    + '[' true = true ']'
    + chown root:wheel /usr/local/etc/rc.d/iobroker
    + chmod 755 /usr/local/etc/rc.d/iobroker
    + sysrc iobroker_enable=YES
    iobroker_enable: YES -> YES
    + service iobroker start
    Before fixing dir permissions...
    platform: Undefined variable.
    + echo 'Autostart enabled!'
    Autostart enabled!
    + echo 'Autostart: rc.d'
    
    
    AlCalzoneA Offline
    AlCalzoneA Offline
    AlCalzone
    Developer
    schrieb am zuletzt editiert von
    #31

    @mrMuppet sagte in Neue Installation auf FreeBSD/FreeNAS 11.2 funktioniert nicht.:

    • service iobroker start
      Before fixing dir permissions...
      platform: Undefined variable.
    • echo 'Autostart enabled!'
      Autostart enabled!
    • echo 'Autostart: rc.d'

    Und auch das läuft in einer Reihenfolge ab, die eigentlich nicht sein kann :thinking_face:

    Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

    1 Antwort Letzte Antwort
    0
    • M mrMuppet

      @AlCalzone sagte in Neue Installation auf FreeBSD/FreeNAS 11.2 funktioniert nicht.:

      rm -rf /opt/iobroker
      curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/freebsd-fix/installer.sh | bash -

      root@iobroker_v2:~ # curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/freebsd-fix/installer.sh | bash -
      + INSTALLER_VERSION=2019-05-21
      + [[ 0 -eq 0 ]]
      + IS_ROOT=true
      + ROOT_GROUP=root
      ++ uname
      + unamestr=FreeBSD
      + '[' FreeBSD = Linux ']'
      + '[' FreeBSD = Darwin ']'
      + '[' FreeBSD = FreeBSD ']'
      + platform=freebsd
      + ROOT_GROUP=wheel
      + IOB_DIR=/opt/iobroker
      + '[' freebsd = osx ']'
      + CONTROLLER_DIR=/opt/iobroker/node_modules/iobroker.js-controller
      + INSTALLER_INFO_FILE=/opt/iobroker/INSTALLER_INFO.txt
      + INSTALL_TARGET=iobroker
      + IOB_USER=iobroker
      + '[' freebsd = osx ']'
      + test -t 1
      ++ which tput
      ++ tput colors
      + ncolors=94
      + test -n 94
      + test 94 -ge 8
      ++ tput cols
      + termcols=94
      ++ tput bold
      + bold=
      ++ tput smul
      + underline=
      ++ tput smso
      + standout=
      ++ tput sgr0
      + normal=
      ++ tput setaf 0
      + black=''
      ++ tput setaf 1
      + red=''
      ++ tput setaf 2
      + green=''
      ++ tput setaf 3
      + yellow=''
      ++ tput setaf 4
      + blue=''
      ++ tput setaf 5
      + magenta=''
      ++ tput setaf 6
      + cyan=''
      ++ tput setaf 7
      + white=''
      + HLINE===========================================================================
      + print_bold 'Welcome to the ioBroker installer!' 'Installer version: 2019-05-21' '' 'You might need to enter your password a couple of times.'
      + title='Welcome to the ioBroker installer!'
      + echo
      
      + echo ==========================================================================
      ==========================================================================
      + echo
      
      + echo '    Welcome to the ioBroker installer!'
          Welcome to the ioBroker installer!
      + for text in "${@:2}"
      + echo '    Installer version: 2019-05-21'
          Installer version: 2019-05-21
      + for text in "${@:2}"
      + echo '    '
      
      + for text in "${@:2}"
      + echo '    You might need to enter your password a couple of times.'
          You might need to enter your password a couple of times.
      + echo
      
      + echo ==========================================================================
      ==========================================================================
      + echo
      
      + export AUTOMATED_INSTALLER=true
      + AUTOMATED_INSTALLER=true
      + NUM_STEPS=4
      + print_step 'Installing prerequisites' 1 4
      + stepname='Installing prerequisites'
      + stepnr=1
      + steptotal=4
      + echo
      
      + echo ==========================================================================
      ==========================================================================
      + echo '    Installing prerequisites (1/4)'
          Installing prerequisites (1/4)
      + echo ==========================================================================
      ==========================================================================
      + echo
      
      + case "$platform" in
      + packages=("sudo" "git" "curl" "bash" "unzip" "avahi-libdns" "dbus" "nss_mdns" "gcc" "python")
      + declare -a packages
      + for pkg in "${packages[@]}"
      + install_package_freebsd sudo
      + package=sudo
      + pkg info sudo
      + for pkg in "${packages[@]}"
      + install_package_freebsd git
      + package=git
      + pkg info git
      + for pkg in "${packages[@]}"
      + install_package_freebsd curl
      + package=curl
      + pkg info curl
      + for pkg in "${packages[@]}"
      + install_package_freebsd bash
      + package=bash
      + pkg info bash
      + for pkg in "${packages[@]}"
      + install_package_freebsd unzip
      + package=unzip
      + pkg info unzip
      + for pkg in "${packages[@]}"
      + install_package_freebsd avahi-libdns
      + package=avahi-libdns
      + pkg info avahi-libdns
      + for pkg in "${packages[@]}"
      + install_package_freebsd dbus
      + package=dbus
      + pkg info dbus
      + for pkg in "${packages[@]}"
      + install_package_freebsd nss_mdns
      + package=nss_mdns
      + pkg info nss_mdns
      + for pkg in "${packages[@]}"
      + install_package_freebsd gcc
      + package=gcc
      + pkg info gcc
      + for pkg in "${packages[@]}"
      + install_package_freebsd python
      + package=python
      + pkg info python
      + ln -s /usr/local/include/avahi-compat-libdns_sd/dns_sd.h /usr/include/dns_sd.h
      ln: /usr/include/dns_sd.h: File exists
      + sed -i -e s/#enable-dbus/enable-dbus/ /usr/local/etc/avahi/avahi-daemon.conf
      + sed -i -e 's/hosts: file dns/hosts: file dns mdns/' /etc/nsswitch.conf
      + sysrc -f /etc/rc.conf dbus_enable=YES
      dbus_enable: YES -> YES
      + sysrc -f /etc/rc.conf avahi_daemon_enable=YES
      avahi_daemon_enable: YES -> YES
      + service dbus start
      dbus already running?  (pid=55380).
      + service avahi-daemon start
      avahi_daemon already running?  (pid=55387).
      + print_step 'Creating ioBroker user and directory' 2 4
      + stepname='Creating ioBroker user and directory'
      + stepnr=2
      + steptotal=4
      + echo
      
      + echo ==========================================================================
      ==========================================================================
      + echo '    Creating ioBroker user and directory (2/4)'
          Creating ioBroker user and directory (2/4)
      + echo ==========================================================================
      ==========================================================================
      + echo
      
      + '[' freebsd = linux ']'
      + '[' freebsd = freebsd ']'
      + create_user_freebsd iobroker
      + username=iobroker
      + id iobroker
      + '[' 0 -ne 0 ']'
      + groups=(audio bluetooth dialout gpio i2c redis tty)
      + declare -a groups
      + for grp in "${groups[@]}"
      + '[' true = true ']'
      + getent group audio
      + for grp in "${groups[@]}"
      + '[' true = true ']'
      + getent group bluetooth
      + for grp in "${groups[@]}"
      + '[' true = true ']'
      + getent group dialout
      + for grp in "${groups[@]}"
      + '[' true = true ']'
      + getent group gpio
      + for grp in "${groups[@]}"
      + '[' true = true ']'
      + getent group i2c
      + for grp in "${groups[@]}"
      + '[' true = true ']'
      + getent group redis
      + for grp in "${groups[@]}"
      + '[' true = true ']'
      + getent group tty
      tty:*:4:iobroker
      + pw group mod tty -m iobroker
      + '[' true = true ']'
      + mkdir -p /opt/iobroker
      + cd /opt/iobroker
      + echo 'Directory /opt/iobroker created'
      Directory /opt/iobroker created
      + touch /opt/iobroker/INSTALLER_INFO.txt
      + chmod 777 /opt/iobroker/INSTALLER_INFO.txt
      + echo 'Installer version: 2019-05-21'
      ++ date +%F
      + echo 'Installation date 2019-05-21'
      + echo 'Platform: freebsd'
      + print_step 'Installing ioBroker' 3 4
      + stepname='Installing ioBroker'
      + stepnr=3
      + steptotal=4
      + echo
      
      + echo ==========================================================================
      ==========================================================================
      + echo '    Installing ioBroker (3/4)'
          Installing ioBroker (3/4)
      + echo ==========================================================================
      ==========================================================================
      + echo
      
      + '[' true = true ']'
      + echo 'Installed as root'
      + npm i iobroker --loglevel error --unsafe-perm
      + npm i --production --loglevel error --unsafe-perm
      ../src/unix_dgram.cc:53:13: warning: unused function 'SetNonBlock' [-Wunused-function]
      inline void SetNonBlock(int fd) {
                  ^
      ../src/unix_dgram.cc:65:13: warning: unused function 'SetCloExec' [-Wunused-function]
      inline void SetCloExec(int fd) {
                  ^
      2 warnings generated.
      ../src/serialport.cpp:95:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
        data->callback.Call(2, argv);
                       ^
      ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
        NAN_DEPRECATED inline v8::Local<v8::Value>
        ^
      ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
      # define NAN_DEPRECATED __attribute__((deprecated))
                                             ^
      ../src/serialport.cpp:150:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
        data->callback.Call(1, argv);
                       ^
      ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
        NAN_DEPRECATED inline v8::Local<v8::Value>
        ^
      ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
      # define NAN_DEPRECATED __attribute__((deprecated))
                                             ^
      ../src/serialport.cpp:188:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
        data->callback.Call(1, argv);
                       ^
      ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
        NAN_DEPRECATED inline v8::Local<v8::Value>
        ^
      ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
      # define NAN_DEPRECATED __attribute__((deprecated))
                                             ^
      ../src/serialport.cpp:231:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
        data->callback.Call(1, argv);
                       ^
      ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
        NAN_DEPRECATED inline v8::Local<v8::Value>
        ^
      ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
      # define NAN_DEPRECATED __attribute__((deprecated))
                                             ^
      ../src/serialport.cpp:285:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
        data->callback.Call(1, argv);
                       ^
      ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
        NAN_DEPRECATED inline v8::Local<v8::Value>
        ^
      ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
      # define NAN_DEPRECATED __attribute__((deprecated))
                                             ^
      ../src/serialport.cpp:336:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
        data->callback.Call(2, argv);
                       ^
      ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
        NAN_DEPRECATED inline v8::Local<v8::Value>
        ^
      ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
      # define NAN_DEPRECATED __attribute__((deprecated))
                                             ^
      ../src/serialport.cpp:383:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
        data->callback.Call(2, argv);
                       ^
      ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
        NAN_DEPRECATED inline v8::Local<v8::Value>
        ^
      ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
      # define NAN_DEPRECATED __attribute__((deprecated))
                                             ^
      ../src/serialport.cpp:424:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
        data->callback.Call(1, argv);
                       ^
      ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
        NAN_DEPRECATED inline v8::Local<v8::Value>
        ^
      ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
      # define NAN_DEPRECATED __attribute__((deprecated))
                                             ^
      8 warnings generated.
      ../src/serialport_unix.cpp:384:20: warning: variable 'outbaud' is uninitialized when used here
            [-Wuninitialized]
        data->baudRate = outbaud;
                         ^~~~~~~
      ../src/serialport_unix.cpp:369:14: note: initialize the variable 'outbaud' to silence this
            warning
        int outbaud;
                   ^
                    = 0
      1 warning generated.
      ../src/poller.cpp:69:17: warning: 'Call' is deprecated [-Wdeprecated-declarations]
        obj->callback.Call(2, argv);
                      ^
      ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
        NAN_DEPRECATED inline v8::Local<v8::Value>
        ^
      ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
      # define NAN_DEPRECATED __attribute__((deprecated))
                                             ^
      1 warning generated.
      + print_step 'Finalizing installation' 4 4
      + stepname='Finalizing installation'
      + stepnr=4
      + steptotal=4
      + echo
      
      + echo ==========================================================================
      ==========================================================================
      + echo '    Finalizing installation (4/4)'
          Finalizing installation (4/4)
      + echo ==========================================================================
      ==========================================================================
      + echo
      
      + INITSYSTEM=unknown
      + [[ freebsd = \f\r\e\e\b\s\d ]]
      + [[ -d /usr/local/etc/rc.d ]]
      + INITSYSTEM=rc.d
      + [[ -n '' ]]
      + echo 'init system: rc.d'
      + IOB_NODE_CMDLINE=node
      ++ which bash
      + BASH_CMDLINE=/usr/local/bin/bash
      + '[' iobroker '!=' root ']'
      + IOB_NODE_CMDLINE='sudo -H -u iobroker node'
      + '[' rc.d = systemd ']'
      + '[' rc.d = launchctl ']'
      ++ cat
      + IOB_EXECUTABLE='#!/usr/local/bin/bash
      sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js $@'
      + '[' freebsd = linux ']'
      + '[' freebsd = freebsd ']'
      + IOB_BIN_PATH=/usr/local/bin
      + '[' true = true ']'
      + ln -sfn /opt/iobroker/iobroker /usr/local/bin/iobroker
      + ln -sfn /opt/iobroker/iobroker /usr/local/bin/iob
      + '[' true = true ']'
      + ln -sfn /opt/iobroker/iobroker /opt/iobroker/iob
      + echo '#!/usr/local/bin/bash
      sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js $@'
      + make_executable /opt/iobroker/iobroker
      + file=/opt/iobroker/iobroker
      + '[' true = true ']'
      + chmod 755 /opt/iobroker/iobroker
      + [[ rc.d = \i\n\i\t\.\d ]]
      + '[' rc.d = systemd ']'
      + '[' rc.d = rc.d ']'
      + echo 'Enabling autostart...'
      Enabling autostart...
      ++ cat
      + RCD_FILE='#!/bin/sh
      #
      # PROVIDE: iobroker
      # REQUIRE: DAEMON
      # KEYWORD: shutdown
      
      . /etc/rc.subr
      
      name="iobroker"
      rcvar="iobroker_enable"
      
      load_rc_config $name
      
      iobroker_enable=${iobroker_enable-"NO"}
      iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"}
      
      PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
      NODECMD=$(which node)
      
      iobroker_start ()
      {
      su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start"
      }
      
      iobroker_stop ()
      {
      su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop"
      }
      
      iobroker_status ()
      {
      su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status"
      }
      
      PATH="${PATH}:/usr/local/bin"
      pidfile="${iobroker_pidfile}"
      
      start_cmd=iobroker_start
      stop_cmd=iobroker_stop
      status_cmd=iobroker_status
      
      run_rc_command "$1"'
      + SERVICE_FILENAME=/usr/local/etc/rc.d/iobroker
      + '[' true = true ']'
      + echo '#!/bin/sh
      #
      # PROVIDE: iobroker
      # REQUIRE: DAEMON
      # KEYWORD: shutdown
      
      . /etc/rc.subr
      
      name="iobroker"
      rcvar="iobroker_enable"
      
      load_rc_config $name
      
      iobroker_enable=${iobroker_enable-"NO"}
      iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"}
      
      PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
      NODECMD=$(which node)
      
      iobroker_start ()
      {
      su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start"
      }
      
      iobroker_stop ()
      {
      su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop"
      }
      
      iobroker_status ()
      {
      su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status"
      }
      
      PATH="${PATH}:/usr/local/bin"
      pidfile="${iobroker_pidfile}"
      
      start_cmd=iobroker_start
      stop_cmd=iobroker_stop
      status_cmd=iobroker_status
      
      run_rc_command "$1"'
      + set_root_permissions /usr/local/etc/rc.d/iobroker
      + file=/usr/local/etc/rc.d/iobroker
      + '[' true = true ']'
      + chown root:wheel /usr/local/etc/rc.d/iobroker
      + chmod 755 /usr/local/etc/rc.d/iobroker
      + sysrc iobroker_enable=YES
      iobroker_enable: YES -> YES
      + service iobroker start
      Before fixing dir permissions...
      platform: Undefined variable.
      + echo 'Autostart enabled!'
      Autostart enabled!
      + echo 'Autostart: rc.d'
      
      
      AlCalzoneA Offline
      AlCalzoneA Offline
      AlCalzone
      Developer
      schrieb am zuletzt editiert von
      #32

      @mrMuppet Ich habe nochmal einen Versuch gestartet. Probierst du bitte nochmal:

      rm -rf /opt/iobroker
      curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/freebsd-fix/installer.sh | bash -
      

      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

      M 1 Antwort Letzte Antwort
      0
      • AlCalzoneA AlCalzone

        @mrMuppet Ich habe nochmal einen Versuch gestartet. Probierst du bitte nochmal:

        rm -rf /opt/iobroker
        curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/freebsd-fix/installer.sh | bash -
        
        M Offline
        M Offline
        mrMuppet
        schrieb am zuletzt editiert von mrMuppet
        #33

        @AlCalzone komme gerade nur über's Smartphone dran, aber versucht hab ichs trotzdem Mal:

        root@iobroker_v2:~ # rm -rf /opt/iobroker
        root@iobroker_v2:~ # curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/freebsd-fix/installer.sh | bash -
        + INSTALLER_VERSION=2019-05-21
        + [[ 0 -eq 0 ]]
        + IS_ROOT=true
        + ROOT_GROUP=root
        ++ get_platform
        +++ uname
        ++ unamestr=FreeBSD
        ++ local platform=
        ++ '[' FreeBSD = Linux ']'
        ++ '[' FreeBSD = Darwin ']'
        ++ '[' FreeBSD = FreeBSD ']'
        ++ platform=freebsd
        ++ ROOT_GROUP=wheel
        ++ echo freebsd
        + platform=freebsd
        + '[' freebsd = '' ']'
        + IOB_DIR=/opt/iobroker
        + '[' freebsd = osx ']'
        + CONTROLLER_DIR=/opt/iobroker/node_modules/iobroker.js-controller
        + INSTALLER_INFO_FILE=/opt/iobroker/INSTALLER_INFO.txt
        + INSTALL_TARGET=iobroker
        + IOB_USER=iobroker
        + '[' freebsd = osx ']'
        + test -t 1
        ++ which tput
        ++ tput colors
        + ncolors=83
        + test -n 83
        + test 83 -ge 8
        ++ tput cols
        + termcols=83
        ++ tput bold
        + bold=
        ++ tput smul
        + underline=
        ++ tput smso
        + standout=
        ++ tput sgr0
        + normal=
        ++ tput setaf 0
        + black=''
        ++ tput setaf 1
        + red=''
        ++ tput setaf 2
        + green=''
        ++ tput setaf 3
        + yellow=''
        ++ tput setaf 4
        + blue=''
        ++ tput setaf 5
        + magenta=''
        ++ tput setaf 6
        + cyan=''
        ++ tput setaf 7
        + white=''
        + HLINE===========================================================================
        + print_bold 'Welcome to the ioBroker installer!' 'Installer version: 2019-05-21' '' 'You might need to enter your password a couple of times.'
        + title='Welcome to the ioBroker installer!'
        + echo
        
        + echo ==========================================================================
        ==========================================================================
        + echo
        
        + echo '    Welcome to the ioBroker installer!'
            Welcome to the ioBroker installer!
        + for text in "${@:2}"
        + echo '    Installer version: 2019-05-21'
            Installer version: 2019-05-21
        + for text in "${@:2}"
        + echo '    '
        
        + for text in "${@:2}"
        + echo '    You might need to enter your password a couple of times.'
            You might need to enter your password a couple of times.
        + echo
        
        + echo ==========================================================================
        ==========================================================================
        + echo
        
        + export AUTOMATED_INSTALLER=true
        + AUTOMATED_INSTALLER=true
        + NUM_STEPS=4
        + print_step 'Installing prerequisites' 1 4
        + stepname='Installing prerequisites'
        + stepnr=1
        + steptotal=4
        + echo
        
        + echo ==========================================================================
        ==========================================================================
        + echo '    Installing prerequisites (1/4)'
            Installing prerequisites (1/4)
        + echo ==========================================================================
        ==========================================================================
        + echo
        
        + case "$platform" in
        + packages=("sudo" "git" "curl" "bash" "unzip" "avahi-libdns" "dbus" "nss_mdns" "gcc" "python")
        + declare -a packages
        + for pkg in "${packages[@]}"
        + install_package_freebsd sudo
        + package=sudo
        + pkg info sudo
        + for pkg in "${packages[@]}"
        + install_package_freebsd git
        + package=git
        + pkg info git
        + for pkg in "${packages[@]}"
        + install_package_freebsd curl
        + package=curl
        + pkg info curl
        + for pkg in "${packages[@]}"
        + install_package_freebsd bash
        + package=bash
        + pkg info bash
        + for pkg in "${packages[@]}"
        + install_package_freebsd unzip
        + package=unzip
        + pkg info unzip
        + for pkg in "${packages[@]}"
        + install_package_freebsd avahi-libdns
        + package=avahi-libdns
        + pkg info avahi-libdns
        + for pkg in "${packages[@]}"
        + install_package_freebsd dbus
        + package=dbus
        + pkg info dbus
        + for pkg in "${packages[@]}"
        + install_package_freebsd nss_mdns
        + package=nss_mdns
        + pkg info nss_mdns
        + for pkg in "${packages[@]}"
        + install_package_freebsd gcc
        + package=gcc
        + pkg info gcc
        + for pkg in "${packages[@]}"
        + install_package_freebsd python
        + package=python
        + pkg info python
        + ln -s /usr/local/include/avahi-compat-libdns_sd/dns_sd.h /usr/include/dns_sd.h
        ln: /usr/include/dns_sd.h: File exists
        + sed -i -e s/#enable-dbus/enable-dbus/ /usr/local/etc/avahi/avahi-daemon.conf
        + sed -i -e 's/hosts: file dns/hosts: file dns mdns/' /etc/nsswitch.conf
        + sysrc -f /etc/rc.conf dbus_enable=YES
        dbus_enable: YES -> YES
        + sysrc -f /etc/rc.conf avahi_daemon_enable=YES
        avahi_daemon_enable: YES -> YES
        + service dbus start
        Starting dbus.
        + service avahi-daemon start
        Starting avahi-daemon.
        + print_step 'Creating ioBroker user and directory' 2 4
        + stepname='Creating ioBroker user and directory'
        + stepnr=2
        + steptotal=4
        + echo
        
        + echo ==========================================================================
        ==========================================================================
        + echo '    Creating ioBroker user and directory (2/4)'
            Creating ioBroker user and directory (2/4)
        + echo ==========================================================================
        ==========================================================================
        + echo
        
        + '[' freebsd = linux ']'
        + '[' freebsd = freebsd ']'
        + create_user_freebsd iobroker
        + username=iobroker
        + id iobroker
        + '[' 0 -ne 0 ']'
        + groups=(audio bluetooth dialout gpio i2c redis tty)
        + declare -a groups
        + for grp in "${groups[@]}"
        + '[' true = true ']'
        + getent group audio
        + for grp in "${groups[@]}"
        + '[' true = true ']'
        + getent group bluetooth
        + for grp in "${groups[@]}"
        + '[' true = true ']'
        + getent group dialout
        + for grp in "${groups[@]}"
        + '[' true = true ']'
        + getent group gpio
        + for grp in "${groups[@]}"
        + '[' true = true ']'
        + getent group i2c
        + for grp in "${groups[@]}"
        + '[' true = true ']'
        + getent group redis
        + for grp in "${groups[@]}"
        + '[' true = true ']'
        + getent group tty
        tty:*:4:iobroker
        + pw group mod tty -m iobroker
        + '[' true = true ']'
        + mkdir -p /opt/iobroker
        + cd /opt/iobroker
        + echo 'Directory /opt/iobroker created'
        Directory /opt/iobroker created
        + touch /opt/iobroker/INSTALLER_INFO.txt
        + chmod 777 /opt/iobroker/INSTALLER_INFO.txt
        + echo 'Installer version: 2019-05-21'
        ++ date +%F
        + echo 'Installation date 2019-05-22'
        + echo 'Platform: freebsd'
        + print_step 'Installing ioBroker' 3 4
        + stepname='Installing ioBroker'
        + stepnr=3
        + steptotal=4
        + echo
        
        + echo ==========================================================================
        ==========================================================================
        + echo '    Installing ioBroker (3/4)'
            Installing ioBroker (3/4)
        + echo ==========================================================================
        ==========================================================================
        + echo
        
        + '[' true = true ']'
        + echo 'Installed as root'
        + npm i iobroker --loglevel error --unsafe-perm
        + npm i --production --loglevel error --unsafe-perm
        ../src/unix_dgram.cc:53:13: warning: unused function 'SetNonBlock'
              [-Wunused-function]
        inline void SetNonBlock(int fd) {
                    ^
        ../src/unix_dgram.cc:65:13: warning: unused function 'SetCloExec'
              [-Wunused-function]
        inline void SetCloExec(int fd) {
                    ^
        2 warnings generated.
        ../src/serialport.cpp:95:18: warning: 'Call' is deprecated
              [-Wdeprecated-declarations]
          data->callback.Call(2, argv);
                         ^
        ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
          NAN_DEPRECATED inline v8::Local<v8::Value>
          ^
        ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
        # define NAN_DEPRECATED __attribute__((deprecated))
                                               ^
        ../src/serialport.cpp:150:18: warning: 'Call' is deprecated
              [-Wdeprecated-declarations]
          data->callback.Call(1, argv);
                         ^
        ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
          NAN_DEPRECATED inline v8::Local<v8::Value>
          ^
        ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
        # define NAN_DEPRECATED __attribute__((deprecated))
                                               ^
        ../src/serialport.cpp:188:18: warning: 'Call' is deprecated
              [-Wdeprecated-declarations]
          data->callback.Call(1, argv);
                         ^
        ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
          NAN_DEPRECATED inline v8::Local<v8::Value>
          ^
        ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
        # define NAN_DEPRECATED __attribute__((deprecated))
                                               ^
        ../src/serialport.cpp:231:18: warning: 'Call' is deprecated
              [-Wdeprecated-declarations]
          data->callback.Call(1, argv);
                         ^
        ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
          NAN_DEPRECATED inline v8::Local<v8::Value>
          ^
        ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
        # define NAN_DEPRECATED __attribute__((deprecated))
                                               ^
        ../src/serialport.cpp:285:18: warning: 'Call' is deprecated
              [-Wdeprecated-declarations]
          data->callback.Call(1, argv);
                         ^
        ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
          NAN_DEPRECATED inline v8::Local<v8::Value>
          ^
        ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
        # define NAN_DEPRECATED __attribute__((deprecated))
                                               ^
        ../src/serialport.cpp:336:18: warning: 'Call' is deprecated
              [-Wdeprecated-declarations]
          data->callback.Call(2, argv);
                         ^
        ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
          NAN_DEPRECATED inline v8::Local<v8::Value>
          ^
        ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
        # define NAN_DEPRECATED __attribute__((deprecated))
                                               ^
        ../src/serialport.cpp:383:18: warning: 'Call' is deprecated
              [-Wdeprecated-declarations]
          data->callback.Call(2, argv);
                         ^
        ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
          NAN_DEPRECATED inline v8::Local<v8::Value>
          ^
        ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
        # define NAN_DEPRECATED __attribute__((deprecated))
                                               ^
        ../src/serialport.cpp:424:18: warning: 'Call' is deprecated
              [-Wdeprecated-declarations]
          data->callback.Call(1, argv);
                         ^
        ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
          NAN_DEPRECATED inline v8::Local<v8::Value>
          ^
        ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
        # define NAN_DEPRECATED __attribute__((deprecated))
                                               ^
        8 warnings generated.
        ../src/serialport_unix.cpp:384:20: warning: variable 'outbaud' is uninitialized
              when used here [-Wuninitialized]
          data->baudRate = outbaud;
                           ^~~~~~~
        ../src/serialport_unix.cpp:369:14: note: initialize the variable 'outbaud' to
              silence this warning
          int outbaud;
                     ^
                      = 0
        1 warning generated.
        ../src/poller.cpp:69:17: warning: 'Call' is deprecated [-Wdeprecated-declarations]
          obj->callback.Call(2, argv);
                        ^
        ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
          NAN_DEPRECATED inline v8::Local<v8::Value>
          ^
        ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
        # define NAN_DEPRECATED __attribute__((deprecated))
                                               ^
        1 warning generated.
        + print_step 'Finalizing installation' 4 4
        + stepname='Finalizing installation'
        + stepnr=4
        + steptotal=4
        + echo
        
        + echo ==========================================================================
        ==========================================================================
        + echo '    Finalizing installation (4/4)'
            Finalizing installation (4/4)
        + echo ==========================================================================
        ==========================================================================
        + echo
        
        + INITSYSTEM=unknown
        + [[ freebsd = \f\r\e\e\b\s\d ]]
        + [[ -d /usr/local/etc/rc.d ]]
        + INITSYSTEM=rc.d
        + [[ -n '' ]]
        + echo 'init system: rc.d'
        + IOB_NODE_CMDLINE=node
        ++ which bash
        + BASH_CMDLINE=/usr/local/bin/bash
        + '[' iobroker '!=' root ']'
        + IOB_NODE_CMDLINE='sudo -H -u iobroker node'
        + '[' rc.d = systemd ']'
        + '[' rc.d = launchctl ']'
        ++ cat
        + IOB_EXECUTABLE='#!/usr/local/bin/bash
        sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js $@'
        + '[' freebsd = linux ']'
        + '[' freebsd = freebsd ']'
        + IOB_BIN_PATH=/usr/local/bin
        + '[' true = true ']'
        + ln -sfn /opt/iobroker/iobroker /usr/local/bin/iobroker
        + ln -sfn /opt/iobroker/iobroker /usr/local/bin/iob
        + '[' true = true ']'
        + ln -sfn /opt/iobroker/iobroker /opt/iobroker/iob
        + echo '#!/usr/local/bin/bash
        sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js $@'
        + make_executable /opt/iobroker/iobroker
        + file=/opt/iobroker/iobroker
        + '[' true = true ']'
        + chmod 755 /opt/iobroker/iobroker
        + [[ rc.d = \i\n\i\t\.\d ]]
        + '[' rc.d = systemd ']'
        + '[' rc.d = rc.d ']'
        + echo 'Enabling autostart...'
        Enabling autostart...
        ++ cat
        + RCD_FILE='#!/bin/sh
        #
        # PROVIDE: iobroker
        # REQUIRE: DAEMON
        # KEYWORD: shutdown
        
        . /etc/rc.subr
        
        name="iobroker"
        rcvar="iobroker_enable"
        
        load_rc_config $name
        
        iobroker_enable=${iobroker_enable-"NO"}
        iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"}
        
        PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
        NODECMD=$(which node)
        
        iobroker_start ()
        {
        su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start"
        }
        
        iobroker_stop ()
        {
        su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop"
        }
        
        iobroker_status ()
        {
        su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status"
        }
        
        PATH="${PATH}:/usr/local/bin"
        pidfile="${iobroker_pidfile}"
        
        start_cmd=iobroker_start
        stop_cmd=iobroker_stop
        status_cmd=iobroker_status
        
        run_rc_command "$1"'
        + SERVICE_FILENAME=/usr/local/etc/rc.d/iobroker
        + '[' true = true ']'
        + echo '#!/bin/sh
        #
        # PROVIDE: iobroker
        # REQUIRE: DAEMON
        # KEYWORD: shutdown
        
        . /etc/rc.subr
        
        name="iobroker"
        rcvar="iobroker_enable"
        
        load_rc_config $name
        
        iobroker_enable=${iobroker_enable-"NO"}
        iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"}
        
        PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
        NODECMD=$(which node)
        
        iobroker_start ()
        {
        su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start"
        }
        
        iobroker_stop ()
        {
        su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop"
        }
        
        iobroker_status ()
        {
        su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status"
        }
        
        PATH="${PATH}:/usr/local/bin"
        pidfile="${iobroker_pidfile}"
        
        start_cmd=iobroker_start
        stop_cmd=iobroker_stop
        status_cmd=iobroker_status
        
        run_rc_command "$1"'
        + set_root_permissions /usr/local/etc/rc.d/iobroker
        + file=/usr/local/etc/rc.d/iobroker
        + '[' true = true ']'
        + chown root:root /usr/local/etc/rc.d/iobroker
        chown: root: illegal group name
        + chmod 755 /usr/local/etc/rc.d/iobroker
        + sysrc iobroker_enable=YES
        iobroker_enable: YES -> YES
        + service iobroker start
        Illegal variable name.
        + echo 'Autostart enabled!'
        Autostart enabled!
        + echo 'Autostart: rc.d'
        root@iobroker_v2:~ #
        

        Edit:

        root@iobroker_v2:~ # iobroker start
        Starting iobroker controller daemon...
        iobroker controller daemon failed to start:  Failed to write pidfile (EACCES)
        Error: Failed to write pidfile (EACCES)
        

        ioBroker auf NUC (Celeron mit Ubuntu-Server)

        Homematic, HMIP, Hue, Unifi, Plex, Nest, Roborock, Google Assistant

        AlCalzoneA 1 Antwort Letzte Antwort
        0
        • M mrMuppet

          @AlCalzone komme gerade nur über's Smartphone dran, aber versucht hab ichs trotzdem Mal:

          root@iobroker_v2:~ # rm -rf /opt/iobroker
          root@iobroker_v2:~ # curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/freebsd-fix/installer.sh | bash -
          + INSTALLER_VERSION=2019-05-21
          + [[ 0 -eq 0 ]]
          + IS_ROOT=true
          + ROOT_GROUP=root
          ++ get_platform
          +++ uname
          ++ unamestr=FreeBSD
          ++ local platform=
          ++ '[' FreeBSD = Linux ']'
          ++ '[' FreeBSD = Darwin ']'
          ++ '[' FreeBSD = FreeBSD ']'
          ++ platform=freebsd
          ++ ROOT_GROUP=wheel
          ++ echo freebsd
          + platform=freebsd
          + '[' freebsd = '' ']'
          + IOB_DIR=/opt/iobroker
          + '[' freebsd = osx ']'
          + CONTROLLER_DIR=/opt/iobroker/node_modules/iobroker.js-controller
          + INSTALLER_INFO_FILE=/opt/iobroker/INSTALLER_INFO.txt
          + INSTALL_TARGET=iobroker
          + IOB_USER=iobroker
          + '[' freebsd = osx ']'
          + test -t 1
          ++ which tput
          ++ tput colors
          + ncolors=83
          + test -n 83
          + test 83 -ge 8
          ++ tput cols
          + termcols=83
          ++ tput bold
          + bold=
          ++ tput smul
          + underline=
          ++ tput smso
          + standout=
          ++ tput sgr0
          + normal=
          ++ tput setaf 0
          + black=''
          ++ tput setaf 1
          + red=''
          ++ tput setaf 2
          + green=''
          ++ tput setaf 3
          + yellow=''
          ++ tput setaf 4
          + blue=''
          ++ tput setaf 5
          + magenta=''
          ++ tput setaf 6
          + cyan=''
          ++ tput setaf 7
          + white=''
          + HLINE===========================================================================
          + print_bold 'Welcome to the ioBroker installer!' 'Installer version: 2019-05-21' '' 'You might need to enter your password a couple of times.'
          + title='Welcome to the ioBroker installer!'
          + echo
          
          + echo ==========================================================================
          ==========================================================================
          + echo
          
          + echo '    Welcome to the ioBroker installer!'
              Welcome to the ioBroker installer!
          + for text in "${@:2}"
          + echo '    Installer version: 2019-05-21'
              Installer version: 2019-05-21
          + for text in "${@:2}"
          + echo '    '
          
          + for text in "${@:2}"
          + echo '    You might need to enter your password a couple of times.'
              You might need to enter your password a couple of times.
          + echo
          
          + echo ==========================================================================
          ==========================================================================
          + echo
          
          + export AUTOMATED_INSTALLER=true
          + AUTOMATED_INSTALLER=true
          + NUM_STEPS=4
          + print_step 'Installing prerequisites' 1 4
          + stepname='Installing prerequisites'
          + stepnr=1
          + steptotal=4
          + echo
          
          + echo ==========================================================================
          ==========================================================================
          + echo '    Installing prerequisites (1/4)'
              Installing prerequisites (1/4)
          + echo ==========================================================================
          ==========================================================================
          + echo
          
          + case "$platform" in
          + packages=("sudo" "git" "curl" "bash" "unzip" "avahi-libdns" "dbus" "nss_mdns" "gcc" "python")
          + declare -a packages
          + for pkg in "${packages[@]}"
          + install_package_freebsd sudo
          + package=sudo
          + pkg info sudo
          + for pkg in "${packages[@]}"
          + install_package_freebsd git
          + package=git
          + pkg info git
          + for pkg in "${packages[@]}"
          + install_package_freebsd curl
          + package=curl
          + pkg info curl
          + for pkg in "${packages[@]}"
          + install_package_freebsd bash
          + package=bash
          + pkg info bash
          + for pkg in "${packages[@]}"
          + install_package_freebsd unzip
          + package=unzip
          + pkg info unzip
          + for pkg in "${packages[@]}"
          + install_package_freebsd avahi-libdns
          + package=avahi-libdns
          + pkg info avahi-libdns
          + for pkg in "${packages[@]}"
          + install_package_freebsd dbus
          + package=dbus
          + pkg info dbus
          + for pkg in "${packages[@]}"
          + install_package_freebsd nss_mdns
          + package=nss_mdns
          + pkg info nss_mdns
          + for pkg in "${packages[@]}"
          + install_package_freebsd gcc
          + package=gcc
          + pkg info gcc
          + for pkg in "${packages[@]}"
          + install_package_freebsd python
          + package=python
          + pkg info python
          + ln -s /usr/local/include/avahi-compat-libdns_sd/dns_sd.h /usr/include/dns_sd.h
          ln: /usr/include/dns_sd.h: File exists
          + sed -i -e s/#enable-dbus/enable-dbus/ /usr/local/etc/avahi/avahi-daemon.conf
          + sed -i -e 's/hosts: file dns/hosts: file dns mdns/' /etc/nsswitch.conf
          + sysrc -f /etc/rc.conf dbus_enable=YES
          dbus_enable: YES -> YES
          + sysrc -f /etc/rc.conf avahi_daemon_enable=YES
          avahi_daemon_enable: YES -> YES
          + service dbus start
          Starting dbus.
          + service avahi-daemon start
          Starting avahi-daemon.
          + print_step 'Creating ioBroker user and directory' 2 4
          + stepname='Creating ioBroker user and directory'
          + stepnr=2
          + steptotal=4
          + echo
          
          + echo ==========================================================================
          ==========================================================================
          + echo '    Creating ioBroker user and directory (2/4)'
              Creating ioBroker user and directory (2/4)
          + echo ==========================================================================
          ==========================================================================
          + echo
          
          + '[' freebsd = linux ']'
          + '[' freebsd = freebsd ']'
          + create_user_freebsd iobroker
          + username=iobroker
          + id iobroker
          + '[' 0 -ne 0 ']'
          + groups=(audio bluetooth dialout gpio i2c redis tty)
          + declare -a groups
          + for grp in "${groups[@]}"
          + '[' true = true ']'
          + getent group audio
          + for grp in "${groups[@]}"
          + '[' true = true ']'
          + getent group bluetooth
          + for grp in "${groups[@]}"
          + '[' true = true ']'
          + getent group dialout
          + for grp in "${groups[@]}"
          + '[' true = true ']'
          + getent group gpio
          + for grp in "${groups[@]}"
          + '[' true = true ']'
          + getent group i2c
          + for grp in "${groups[@]}"
          + '[' true = true ']'
          + getent group redis
          + for grp in "${groups[@]}"
          + '[' true = true ']'
          + getent group tty
          tty:*:4:iobroker
          + pw group mod tty -m iobroker
          + '[' true = true ']'
          + mkdir -p /opt/iobroker
          + cd /opt/iobroker
          + echo 'Directory /opt/iobroker created'
          Directory /opt/iobroker created
          + touch /opt/iobroker/INSTALLER_INFO.txt
          + chmod 777 /opt/iobroker/INSTALLER_INFO.txt
          + echo 'Installer version: 2019-05-21'
          ++ date +%F
          + echo 'Installation date 2019-05-22'
          + echo 'Platform: freebsd'
          + print_step 'Installing ioBroker' 3 4
          + stepname='Installing ioBroker'
          + stepnr=3
          + steptotal=4
          + echo
          
          + echo ==========================================================================
          ==========================================================================
          + echo '    Installing ioBroker (3/4)'
              Installing ioBroker (3/4)
          + echo ==========================================================================
          ==========================================================================
          + echo
          
          + '[' true = true ']'
          + echo 'Installed as root'
          + npm i iobroker --loglevel error --unsafe-perm
          + npm i --production --loglevel error --unsafe-perm
          ../src/unix_dgram.cc:53:13: warning: unused function 'SetNonBlock'
                [-Wunused-function]
          inline void SetNonBlock(int fd) {
                      ^
          ../src/unix_dgram.cc:65:13: warning: unused function 'SetCloExec'
                [-Wunused-function]
          inline void SetCloExec(int fd) {
                      ^
          2 warnings generated.
          ../src/serialport.cpp:95:18: warning: 'Call' is deprecated
                [-Wdeprecated-declarations]
            data->callback.Call(2, argv);
                           ^
          ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
            NAN_DEPRECATED inline v8::Local<v8::Value>
            ^
          ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
          # define NAN_DEPRECATED __attribute__((deprecated))
                                                 ^
          ../src/serialport.cpp:150:18: warning: 'Call' is deprecated
                [-Wdeprecated-declarations]
            data->callback.Call(1, argv);
                           ^
          ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
            NAN_DEPRECATED inline v8::Local<v8::Value>
            ^
          ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
          # define NAN_DEPRECATED __attribute__((deprecated))
                                                 ^
          ../src/serialport.cpp:188:18: warning: 'Call' is deprecated
                [-Wdeprecated-declarations]
            data->callback.Call(1, argv);
                           ^
          ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
            NAN_DEPRECATED inline v8::Local<v8::Value>
            ^
          ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
          # define NAN_DEPRECATED __attribute__((deprecated))
                                                 ^
          ../src/serialport.cpp:231:18: warning: 'Call' is deprecated
                [-Wdeprecated-declarations]
            data->callback.Call(1, argv);
                           ^
          ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
            NAN_DEPRECATED inline v8::Local<v8::Value>
            ^
          ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
          # define NAN_DEPRECATED __attribute__((deprecated))
                                                 ^
          ../src/serialport.cpp:285:18: warning: 'Call' is deprecated
                [-Wdeprecated-declarations]
            data->callback.Call(1, argv);
                           ^
          ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
            NAN_DEPRECATED inline v8::Local<v8::Value>
            ^
          ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
          # define NAN_DEPRECATED __attribute__((deprecated))
                                                 ^
          ../src/serialport.cpp:336:18: warning: 'Call' is deprecated
                [-Wdeprecated-declarations]
            data->callback.Call(2, argv);
                           ^
          ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
            NAN_DEPRECATED inline v8::Local<v8::Value>
            ^
          ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
          # define NAN_DEPRECATED __attribute__((deprecated))
                                                 ^
          ../src/serialport.cpp:383:18: warning: 'Call' is deprecated
                [-Wdeprecated-declarations]
            data->callback.Call(2, argv);
                           ^
          ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
            NAN_DEPRECATED inline v8::Local<v8::Value>
            ^
          ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
          # define NAN_DEPRECATED __attribute__((deprecated))
                                                 ^
          ../src/serialport.cpp:424:18: warning: 'Call' is deprecated
                [-Wdeprecated-declarations]
            data->callback.Call(1, argv);
                           ^
          ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
            NAN_DEPRECATED inline v8::Local<v8::Value>
            ^
          ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
          # define NAN_DEPRECATED __attribute__((deprecated))
                                                 ^
          8 warnings generated.
          ../src/serialport_unix.cpp:384:20: warning: variable 'outbaud' is uninitialized
                when used here [-Wuninitialized]
            data->baudRate = outbaud;
                             ^~~~~~~
          ../src/serialport_unix.cpp:369:14: note: initialize the variable 'outbaud' to
                silence this warning
            int outbaud;
                       ^
                        = 0
          1 warning generated.
          ../src/poller.cpp:69:17: warning: 'Call' is deprecated [-Wdeprecated-declarations]
            obj->callback.Call(2, argv);
                          ^
          ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
            NAN_DEPRECATED inline v8::Local<v8::Value>
            ^
          ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
          # define NAN_DEPRECATED __attribute__((deprecated))
                                                 ^
          1 warning generated.
          + print_step 'Finalizing installation' 4 4
          + stepname='Finalizing installation'
          + stepnr=4
          + steptotal=4
          + echo
          
          + echo ==========================================================================
          ==========================================================================
          + echo '    Finalizing installation (4/4)'
              Finalizing installation (4/4)
          + echo ==========================================================================
          ==========================================================================
          + echo
          
          + INITSYSTEM=unknown
          + [[ freebsd = \f\r\e\e\b\s\d ]]
          + [[ -d /usr/local/etc/rc.d ]]
          + INITSYSTEM=rc.d
          + [[ -n '' ]]
          + echo 'init system: rc.d'
          + IOB_NODE_CMDLINE=node
          ++ which bash
          + BASH_CMDLINE=/usr/local/bin/bash
          + '[' iobroker '!=' root ']'
          + IOB_NODE_CMDLINE='sudo -H -u iobroker node'
          + '[' rc.d = systemd ']'
          + '[' rc.d = launchctl ']'
          ++ cat
          + IOB_EXECUTABLE='#!/usr/local/bin/bash
          sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js $@'
          + '[' freebsd = linux ']'
          + '[' freebsd = freebsd ']'
          + IOB_BIN_PATH=/usr/local/bin
          + '[' true = true ']'
          + ln -sfn /opt/iobroker/iobroker /usr/local/bin/iobroker
          + ln -sfn /opt/iobroker/iobroker /usr/local/bin/iob
          + '[' true = true ']'
          + ln -sfn /opt/iobroker/iobroker /opt/iobroker/iob
          + echo '#!/usr/local/bin/bash
          sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js $@'
          + make_executable /opt/iobroker/iobroker
          + file=/opt/iobroker/iobroker
          + '[' true = true ']'
          + chmod 755 /opt/iobroker/iobroker
          + [[ rc.d = \i\n\i\t\.\d ]]
          + '[' rc.d = systemd ']'
          + '[' rc.d = rc.d ']'
          + echo 'Enabling autostart...'
          Enabling autostart...
          ++ cat
          + RCD_FILE='#!/bin/sh
          #
          # PROVIDE: iobroker
          # REQUIRE: DAEMON
          # KEYWORD: shutdown
          
          . /etc/rc.subr
          
          name="iobroker"
          rcvar="iobroker_enable"
          
          load_rc_config $name
          
          iobroker_enable=${iobroker_enable-"NO"}
          iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"}
          
          PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
          NODECMD=$(which node)
          
          iobroker_start ()
          {
          su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start"
          }
          
          iobroker_stop ()
          {
          su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop"
          }
          
          iobroker_status ()
          {
          su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status"
          }
          
          PATH="${PATH}:/usr/local/bin"
          pidfile="${iobroker_pidfile}"
          
          start_cmd=iobroker_start
          stop_cmd=iobroker_stop
          status_cmd=iobroker_status
          
          run_rc_command "$1"'
          + SERVICE_FILENAME=/usr/local/etc/rc.d/iobroker
          + '[' true = true ']'
          + echo '#!/bin/sh
          #
          # PROVIDE: iobroker
          # REQUIRE: DAEMON
          # KEYWORD: shutdown
          
          . /etc/rc.subr
          
          name="iobroker"
          rcvar="iobroker_enable"
          
          load_rc_config $name
          
          iobroker_enable=${iobroker_enable-"NO"}
          iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"}
          
          PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
          NODECMD=$(which node)
          
          iobroker_start ()
          {
          su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start"
          }
          
          iobroker_stop ()
          {
          su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop"
          }
          
          iobroker_status ()
          {
          su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status"
          }
          
          PATH="${PATH}:/usr/local/bin"
          pidfile="${iobroker_pidfile}"
          
          start_cmd=iobroker_start
          stop_cmd=iobroker_stop
          status_cmd=iobroker_status
          
          run_rc_command "$1"'
          + set_root_permissions /usr/local/etc/rc.d/iobroker
          + file=/usr/local/etc/rc.d/iobroker
          + '[' true = true ']'
          + chown root:root /usr/local/etc/rc.d/iobroker
          chown: root: illegal group name
          + chmod 755 /usr/local/etc/rc.d/iobroker
          + sysrc iobroker_enable=YES
          iobroker_enable: YES -> YES
          + service iobroker start
          Illegal variable name.
          + echo 'Autostart enabled!'
          Autostart enabled!
          + echo 'Autostart: rc.d'
          root@iobroker_v2:~ #
          

          Edit:

          root@iobroker_v2:~ # iobroker start
          Starting iobroker controller daemon...
          iobroker controller daemon failed to start:  Failed to write pidfile (EACCES)
          Error: Failed to write pidfile (EACCES)
          
          AlCalzoneA Offline
          AlCalzoneA Offline
          AlCalzone
          Developer
          schrieb am zuletzt editiert von
          #34

          @mrMuppet sagte in Neue Installation auf FreeBSD/FreeNAS 11.2 funktioniert nicht.:

          Illegal variable name.

          Das ist was neues - ich schaue später nochmal rein.

          Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

          1 Antwort Letzte Antwort
          0
          • AlCalzoneA Offline
            AlCalzoneA Offline
            AlCalzone
            Developer
            schrieb am zuletzt editiert von
            #35

            @mrMuppet sagte in Neue Installation auf FreeBSD/FreeNAS 11.2 funktioniert nicht.:

            Illegal variable name.

            Ich habe nochmal was geändert. Magst du bitte nochmal testen?

            Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

            M 1 Antwort Letzte Antwort
            0
            • AlCalzoneA AlCalzone

              @mrMuppet sagte in Neue Installation auf FreeBSD/FreeNAS 11.2 funktioniert nicht.:

              Illegal variable name.

              Ich habe nochmal was geändert. Magst du bitte nochmal testen?

              M Offline
              M Offline
              mrMuppet
              schrieb am zuletzt editiert von
              #36

              @AlCalzone Hier der nächste Versuch:

              root@iobroker_v2:~ # rm -rf /opt/iobroker
              root@iobroker_v2:~ # curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/freebsd-fix/installer.sh | bash -
              + INSTALLER_VERSION=2019-05-21
              + [[ 0 -eq 0 ]]
              + IS_ROOT=true
              + ROOT_GROUP=root
              ++ uname
              + unamestr=FreeBSD
              + '[' FreeBSD = Linux ']'
              + '[' FreeBSD = Darwin ']'
              + '[' FreeBSD = FreeBSD ']'
              + HOST_PLATFORM=freebsd
              + ROOT_GROUP=wheel
              + IOB_DIR=/opt/iobroker
              + '[' freebsd = osx ']'
              + CONTROLLER_DIR=/opt/iobroker/node_modules/iobroker.js-controller
              + INSTALLER_INFO_FILE=/opt/iobroker/INSTALLER_INFO.txt
              + INSTALL_TARGET=iobroker
              + IOB_USER=iobroker
              + '[' freebsd = osx ']'
              + test -t 1
              ++ which tput
              ++ tput colors
              + ncolors=80
              + test -n 80
              + test 80 -ge 8
              ++ tput cols
              + termcols=80
              ++ tput bold
              + bold=
              ++ tput smul
              + underline=
              ++ tput smso
              + standout=
              ++ tput sgr0
              + normal=
              ++ tput setaf 0
              + black=''
              ++ tput setaf 1
              + red=''
              ++ tput setaf 2
              + green=''
              ++ tput setaf 3
              + yellow=''
              ++ tput setaf 4
              + blue=''
              ++ tput setaf 5
              + magenta=''
              ++ tput setaf 6
              + cyan=''
              ++ tput setaf 7
              + white=''
              + HLINE===========================================================================
              + print_bold 'Welcome to the ioBroker installer!' 'Installer version: 2019-05-21' '' 'You might need to enter your password a couple of times.'
              + title='Welcome to the ioBroker installer!'
              + echo
              
              + echo ==========================================================================
              ==========================================================================
              + echo
              
              + echo '    Welcome to the ioBroker installer!'
                  Welcome to the ioBroker installer!
              + for text in "${@:2}"
              + echo '    Installer version: 2019-05-21'
                  Installer version: 2019-05-21
              + for text in "${@:2}"
              + echo '    '
              
              + for text in "${@:2}"
              + echo '    You might need to enter your password a couple of times.'
                  You might need to enter your password a couple of times.
              + echo
              
              + echo ==========================================================================
              ==========================================================================
              + echo
              
              + export AUTOMATED_INSTALLER=true
              + AUTOMATED_INSTALLER=true
              + NUM_STEPS=4
              + print_step 'Installing prerequisites' 1 4
              + stepname='Installing prerequisites'
              + stepnr=1
              + steptotal=4
              + echo
              
              + echo ==========================================================================
              ==========================================================================
              + echo '    Installing prerequisites (1/4)'
                  Installing prerequisites (1/4)
              + echo ==========================================================================
              ==========================================================================
              + echo
              
              + case "$HOST_PLATFORM" in
              + packages=("sudo" "git" "curl" "bash" "unzip" "avahi-libdns" "dbus" "nss_mdns" "gcc" "python")
              + declare -a packages
              + for pkg in "${packages[@]}"
              + install_package_freebsd sudo
              + package=sudo
              + pkg info sudo
              + for pkg in "${packages[@]}"
              + install_package_freebsd git
              + package=git
              + pkg info git
              + for pkg in "${packages[@]}"
              + install_package_freebsd curl
              + package=curl
              + pkg info curl
              + for pkg in "${packages[@]}"
              + install_package_freebsd bash
              + package=bash
              + pkg info bash
              + for pkg in "${packages[@]}"
              + install_package_freebsd unzip
              + package=unzip
              + pkg info unzip
              + for pkg in "${packages[@]}"
              + install_package_freebsd avahi-libdns
              + package=avahi-libdns
              + pkg info avahi-libdns
              + for pkg in "${packages[@]}"
              + install_package_freebsd dbus
              + package=dbus
              + pkg info dbus
              + for pkg in "${packages[@]}"
              + install_package_freebsd nss_mdns
              + package=nss_mdns
              + pkg info nss_mdns
              + for pkg in "${packages[@]}"
              + install_package_freebsd gcc
              + package=gcc
              + pkg info gcc
              + for pkg in "${packages[@]}"
              + install_package_freebsd python
              + package=python
              + pkg info python
              + ln -s /usr/local/include/avahi-compat-libdns_sd/dns_sd.h /usr/include/dns_sd.h
              ln: /usr/include/dns_sd.h: File exists
              + sed -i -e s/#enable-dbus/enable-dbus/ /usr/local/etc/avahi/avahi-daemon.conf
              + sed -i -e 's/hosts: file dns/hosts: file dns mdns/' /etc/nsswitch.conf
              + sysrc -f /etc/rc.conf dbus_enable=YES
              dbus_enable: YES -> YES
              + sysrc -f /etc/rc.conf avahi_daemon_enable=YES
              avahi_daemon_enable: YES -> YES
              + service dbus start
              dbus already running?  (pid=66501).
              + service avahi-daemon start
              avahi_daemon already running?  (pid=66508).
              + print_step 'Creating ioBroker user and directory' 2 4
              + stepname='Creating ioBroker user and directory'
              + stepnr=2
              + steptotal=4
              + echo
              
              + echo ==========================================================================
              ==========================================================================
              + echo '    Creating ioBroker user and directory (2/4)'
                  Creating ioBroker user and directory (2/4)
              + echo ==========================================================================
              ==========================================================================
              + echo
              
              + '[' freebsd = linux ']'
              + '[' freebsd = freebsd ']'
              + create_user_freebsd iobroker
              + username=iobroker
              + id iobroker
              + '[' 0 -ne 0 ']'
              + groups=(audio bluetooth dialout gpio i2c redis tty)
              + declare -a groups
              + for grp in "${groups[@]}"
              + '[' true = true ']'
              + getent group audio
              + for grp in "${groups[@]}"
              + '[' true = true ']'
              + getent group bluetooth
              + for grp in "${groups[@]}"
              + '[' true = true ']'
              + getent group dialout
              + for grp in "${groups[@]}"
              + '[' true = true ']'
              + getent group gpio
              + for grp in "${groups[@]}"
              + '[' true = true ']'
              + getent group i2c
              + for grp in "${groups[@]}"
              + '[' true = true ']'
              + getent group redis
              + for grp in "${groups[@]}"
              + '[' true = true ']'
              + getent group tty
              tty:*:4:iobroker
              + pw group mod tty -m iobroker
              + '[' true = true ']'
              + mkdir -p /opt/iobroker
              + cd /opt/iobroker
              + echo 'Directory /opt/iobroker created'
              Directory /opt/iobroker created
              + touch /opt/iobroker/INSTALLER_INFO.txt
              + chmod 777 /opt/iobroker/INSTALLER_INFO.txt
              + echo 'Installer version: 2019-05-21'
              ++ date +%F
              + echo 'Installation date 2019-05-23'
              + echo 'Platform: freebsd'
              + print_step 'Installing ioBroker' 3 4
              + stepname='Installing ioBroker'
              + stepnr=3
              + steptotal=4
              + echo
              
              + echo ==========================================================================
              ==========================================================================
              + echo '    Installing ioBroker (3/4)'
                  Installing ioBroker (3/4)
              + echo ==========================================================================
              ==========================================================================
              + echo
              
              + '[' true = true ']'
              + echo 'Installed as root'
              + npm i iobroker --loglevel error --unsafe-perm
              + npm i --production --loglevel error --unsafe-perm
              ../src/unix_dgram.cc:53:13: warning: unused function 'SetNonBlock'
                    [-Wunused-function]
              inline void SetNonBlock(int fd) {
                          ^
              ../src/unix_dgram.cc:65:13: warning: unused function 'SetCloExec'
                    [-Wunused-function]
              inline void SetCloExec(int fd) {
                          ^
              2 warnings generated.
              ../src/serialport.cpp:95:18: warning: 'Call' is deprecated
                    [-Wdeprecated-declarations]
                data->callback.Call(2, argv);
                               ^
              ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                NAN_DEPRECATED inline v8::Local<v8::Value>
                ^
              ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
              # define NAN_DEPRECATED __attribute__((deprecated))
                                                     ^
              ../src/serialport.cpp:150:18: warning: 'Call' is deprecated
                    [-Wdeprecated-declarations]
                data->callback.Call(1, argv);
                               ^
              ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                NAN_DEPRECATED inline v8::Local<v8::Value>
                ^
              ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
              # define NAN_DEPRECATED __attribute__((deprecated))
                                                     ^
              ../src/serialport.cpp:188:18: warning: 'Call' is deprecated
                    [-Wdeprecated-declarations]
                data->callback.Call(1, argv);
                               ^
              ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                NAN_DEPRECATED inline v8::Local<v8::Value>
                ^
              ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
              # define NAN_DEPRECATED __attribute__((deprecated))
                                                     ^
              ../src/serialport.cpp:231:18: warning: 'Call' is deprecated
                    [-Wdeprecated-declarations]
                data->callback.Call(1, argv);
                               ^
              ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                NAN_DEPRECATED inline v8::Local<v8::Value>
                ^
              ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
              # define NAN_DEPRECATED __attribute__((deprecated))
                                                     ^
              ../src/serialport.cpp:285:18: warning: 'Call' is deprecated
                    [-Wdeprecated-declarations]
                data->callback.Call(1, argv);
                               ^
              ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                NAN_DEPRECATED inline v8::Local<v8::Value>
                ^
              ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
              # define NAN_DEPRECATED __attribute__((deprecated))
                                                     ^
              ../src/serialport.cpp:336:18: warning: 'Call' is deprecated
                    [-Wdeprecated-declarations]
                data->callback.Call(2, argv);
                               ^
              ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                NAN_DEPRECATED inline v8::Local<v8::Value>
                ^
              ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
              # define NAN_DEPRECATED __attribute__((deprecated))
                                                     ^
              ../src/serialport.cpp:383:18: warning: 'Call' is deprecated
                    [-Wdeprecated-declarations]
                data->callback.Call(2, argv);
                               ^
              ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                NAN_DEPRECATED inline v8::Local<v8::Value>
                ^
              ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
              # define NAN_DEPRECATED __attribute__((deprecated))
                                                     ^
              ../src/serialport.cpp:424:18: warning: 'Call' is deprecated
                    [-Wdeprecated-declarations]
                data->callback.Call(1, argv);
                               ^
              ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                NAN_DEPRECATED inline v8::Local<v8::Value>
                ^
              ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
              # define NAN_DEPRECATED __attribute__((deprecated))
                                                     ^
              8 warnings generated.
              ../src/serialport_unix.cpp:384:20: warning: variable 'outbaud' is uninitialized
                    when used here [-Wuninitialized]
                data->baudRate = outbaud;
                                 ^~~~~~~
              ../src/serialport_unix.cpp:369:14: note: initialize the variable 'outbaud' to
                    silence this warning
                int outbaud;
                           ^
                            = 0
              1 warning generated.
              ../src/poller.cpp:69:17: warning: 'Call' is deprecated
                    [-Wdeprecated-declarations]
                obj->callback.Call(2, argv);
                              ^
              ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                NAN_DEPRECATED inline v8::Local<v8::Value>
                ^
              ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
              # define NAN_DEPRECATED __attribute__((deprecated))
                                                     ^
              1 warning generated.
              + print_step 'Finalizing installation' 4 4
              + stepname='Finalizing installation'
              + stepnr=4
              + steptotal=4
              + echo
              
              + echo ==========================================================================
              ==========================================================================
              + echo '    Finalizing installation (4/4)'
                  Finalizing installation (4/4)
              + echo ==========================================================================
              ==========================================================================
              + echo
              
              + INITSYSTEM=unknown
              + [[ freebsd = \f\r\e\e\b\s\d ]]
              + [[ -d /usr/local/etc/rc.d ]]
              + INITSYSTEM=rc.d
              + [[ -n '' ]]
              + echo 'init system: rc.d'
              + IOB_NODE_CMDLINE=node
              ++ which bash
              + BASH_CMDLINE=/usr/local/bin/bash
              + '[' iobroker '!=' root ']'
              + IOB_NODE_CMDLINE='sudo -H -u iobroker node'
              + '[' rc.d = systemd ']'
              + '[' rc.d = launchctl ']'
              ++ cat
              + IOB_EXECUTABLE='#!/usr/local/bin/bash
              sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js $@'
              + '[' freebsd = linux ']'
              + '[' freebsd = freebsd ']'
              + IOB_BIN_PATH=/usr/local/bin
              + '[' true = true ']'
              + ln -sfn /opt/iobroker/iobroker /usr/local/bin/iobroker
              + ln -sfn /opt/iobroker/iobroker /usr/local/bin/iob
              + '[' true = true ']'
              + ln -sfn /opt/iobroker/iobroker /opt/iobroker/iob
              + echo '#!/usr/local/bin/bash
              sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js $@'
              + make_executable /opt/iobroker/iobroker
              + file=/opt/iobroker/iobroker
              + '[' true = true ']'
              + chmod 755 /opt/iobroker/iobroker
              + [[ rc.d = \i\n\i\t\.\d ]]
              + '[' rc.d = systemd ']'
              + '[' rc.d = rc.d ']'
              + echo 'Enabling autostart...'
              Enabling autostart...
              ++ cat
              + RCD_FILE='#!/bin/sh
              #
              # PROVIDE: iobroker
              # REQUIRE: DAEMON
              # KEYWORD: shutdown
              
              . /etc/rc.subr
              
              name="iobroker"
              rcvar="iobroker_enable"
              
              load_rc_config $name
              
              iobroker_enable=${iobroker_enable-"NO"}
              iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"}
              
              PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
              NODECMD=$(which node)
              
              iobroker_start ()
              {
              su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start"
              }
              
              iobroker_stop ()
              {
              su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop"
              }
              
              iobroker_status ()
              {
              su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status"
              }
              
              PATH="${PATH}:/usr/local/bin"
              pidfile="${iobroker_pidfile}"
              
              start_cmd=iobroker_start
              stop_cmd=iobroker_stop
              status_cmd=iobroker_status
              
              run_rc_command "$1"'
              + SERVICE_FILENAME=/usr/local/etc/rc.d/iobroker
              + '[' true = true ']'
              + echo '#!/bin/sh
              #
              # PROVIDE: iobroker
              # REQUIRE: DAEMON
              # KEYWORD: shutdown
              
              . /etc/rc.subr
              
              name="iobroker"
              rcvar="iobroker_enable"
              
              load_rc_config $name
              
              iobroker_enable=${iobroker_enable-"NO"}
              iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"}
              
              PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
              NODECMD=$(which node)
              
              iobroker_start ()
              {
              su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start"
              }
              
              iobroker_stop ()
              {
              su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop"
              }
              
              iobroker_status ()
              {
              su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status"
              }
              
              PATH="${PATH}:/usr/local/bin"
              pidfile="${iobroker_pidfile}"
              
              start_cmd=iobroker_start
              stop_cmd=iobroker_stop
              status_cmd=iobroker_status
              
              run_rc_command "$1"'
              + set_root_permissions /usr/local/etc/rc.d/iobroker
              + file=/usr/local/etc/rc.d/iobroker
              + '[' true = true ']'
              + chown root:wheel /usr/local/etc/rc.d/iobroker
              + chmod 755 /usr/local/etc/rc.d/iobroker
              + sysrc iobroker_enable=YES
              iobroker_enable: YES -> YES
              + service iobroker start
              Before fixing dir permissions...
              HOST_PLATFORM: Undefined variable.
              + echo 'Autostart enabled!'
              Autostart enabled!
              + echo 'Autostart: rc.d'
              root@iobroker_v2:~ # iobroker start
              Starting iobroker controller daemon...
              iobroker controller daemon failed to start:  Failed to write pidfile (EACCES)
              Error: Failed to write pidfile (EACCES)
              root@iobroker_v2:~ #
              
              

              ioBroker auf NUC (Celeron mit Ubuntu-Server)

              Homematic, HMIP, Hue, Unifi, Plex, Nest, Roborock, Google Assistant

              AlCalzoneA 1 Antwort Letzte Antwort
              0
              • M mrMuppet

                @AlCalzone Hier der nächste Versuch:

                root@iobroker_v2:~ # rm -rf /opt/iobroker
                root@iobroker_v2:~ # curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/freebsd-fix/installer.sh | bash -
                + INSTALLER_VERSION=2019-05-21
                + [[ 0 -eq 0 ]]
                + IS_ROOT=true
                + ROOT_GROUP=root
                ++ uname
                + unamestr=FreeBSD
                + '[' FreeBSD = Linux ']'
                + '[' FreeBSD = Darwin ']'
                + '[' FreeBSD = FreeBSD ']'
                + HOST_PLATFORM=freebsd
                + ROOT_GROUP=wheel
                + IOB_DIR=/opt/iobroker
                + '[' freebsd = osx ']'
                + CONTROLLER_DIR=/opt/iobroker/node_modules/iobroker.js-controller
                + INSTALLER_INFO_FILE=/opt/iobroker/INSTALLER_INFO.txt
                + INSTALL_TARGET=iobroker
                + IOB_USER=iobroker
                + '[' freebsd = osx ']'
                + test -t 1
                ++ which tput
                ++ tput colors
                + ncolors=80
                + test -n 80
                + test 80 -ge 8
                ++ tput cols
                + termcols=80
                ++ tput bold
                + bold=
                ++ tput smul
                + underline=
                ++ tput smso
                + standout=
                ++ tput sgr0
                + normal=
                ++ tput setaf 0
                + black=''
                ++ tput setaf 1
                + red=''
                ++ tput setaf 2
                + green=''
                ++ tput setaf 3
                + yellow=''
                ++ tput setaf 4
                + blue=''
                ++ tput setaf 5
                + magenta=''
                ++ tput setaf 6
                + cyan=''
                ++ tput setaf 7
                + white=''
                + HLINE===========================================================================
                + print_bold 'Welcome to the ioBroker installer!' 'Installer version: 2019-05-21' '' 'You might need to enter your password a couple of times.'
                + title='Welcome to the ioBroker installer!'
                + echo
                
                + echo ==========================================================================
                ==========================================================================
                + echo
                
                + echo '    Welcome to the ioBroker installer!'
                    Welcome to the ioBroker installer!
                + for text in "${@:2}"
                + echo '    Installer version: 2019-05-21'
                    Installer version: 2019-05-21
                + for text in "${@:2}"
                + echo '    '
                
                + for text in "${@:2}"
                + echo '    You might need to enter your password a couple of times.'
                    You might need to enter your password a couple of times.
                + echo
                
                + echo ==========================================================================
                ==========================================================================
                + echo
                
                + export AUTOMATED_INSTALLER=true
                + AUTOMATED_INSTALLER=true
                + NUM_STEPS=4
                + print_step 'Installing prerequisites' 1 4
                + stepname='Installing prerequisites'
                + stepnr=1
                + steptotal=4
                + echo
                
                + echo ==========================================================================
                ==========================================================================
                + echo '    Installing prerequisites (1/4)'
                    Installing prerequisites (1/4)
                + echo ==========================================================================
                ==========================================================================
                + echo
                
                + case "$HOST_PLATFORM" in
                + packages=("sudo" "git" "curl" "bash" "unzip" "avahi-libdns" "dbus" "nss_mdns" "gcc" "python")
                + declare -a packages
                + for pkg in "${packages[@]}"
                + install_package_freebsd sudo
                + package=sudo
                + pkg info sudo
                + for pkg in "${packages[@]}"
                + install_package_freebsd git
                + package=git
                + pkg info git
                + for pkg in "${packages[@]}"
                + install_package_freebsd curl
                + package=curl
                + pkg info curl
                + for pkg in "${packages[@]}"
                + install_package_freebsd bash
                + package=bash
                + pkg info bash
                + for pkg in "${packages[@]}"
                + install_package_freebsd unzip
                + package=unzip
                + pkg info unzip
                + for pkg in "${packages[@]}"
                + install_package_freebsd avahi-libdns
                + package=avahi-libdns
                + pkg info avahi-libdns
                + for pkg in "${packages[@]}"
                + install_package_freebsd dbus
                + package=dbus
                + pkg info dbus
                + for pkg in "${packages[@]}"
                + install_package_freebsd nss_mdns
                + package=nss_mdns
                + pkg info nss_mdns
                + for pkg in "${packages[@]}"
                + install_package_freebsd gcc
                + package=gcc
                + pkg info gcc
                + for pkg in "${packages[@]}"
                + install_package_freebsd python
                + package=python
                + pkg info python
                + ln -s /usr/local/include/avahi-compat-libdns_sd/dns_sd.h /usr/include/dns_sd.h
                ln: /usr/include/dns_sd.h: File exists
                + sed -i -e s/#enable-dbus/enable-dbus/ /usr/local/etc/avahi/avahi-daemon.conf
                + sed -i -e 's/hosts: file dns/hosts: file dns mdns/' /etc/nsswitch.conf
                + sysrc -f /etc/rc.conf dbus_enable=YES
                dbus_enable: YES -> YES
                + sysrc -f /etc/rc.conf avahi_daemon_enable=YES
                avahi_daemon_enable: YES -> YES
                + service dbus start
                dbus already running?  (pid=66501).
                + service avahi-daemon start
                avahi_daemon already running?  (pid=66508).
                + print_step 'Creating ioBroker user and directory' 2 4
                + stepname='Creating ioBroker user and directory'
                + stepnr=2
                + steptotal=4
                + echo
                
                + echo ==========================================================================
                ==========================================================================
                + echo '    Creating ioBroker user and directory (2/4)'
                    Creating ioBroker user and directory (2/4)
                + echo ==========================================================================
                ==========================================================================
                + echo
                
                + '[' freebsd = linux ']'
                + '[' freebsd = freebsd ']'
                + create_user_freebsd iobroker
                + username=iobroker
                + id iobroker
                + '[' 0 -ne 0 ']'
                + groups=(audio bluetooth dialout gpio i2c redis tty)
                + declare -a groups
                + for grp in "${groups[@]}"
                + '[' true = true ']'
                + getent group audio
                + for grp in "${groups[@]}"
                + '[' true = true ']'
                + getent group bluetooth
                + for grp in "${groups[@]}"
                + '[' true = true ']'
                + getent group dialout
                + for grp in "${groups[@]}"
                + '[' true = true ']'
                + getent group gpio
                + for grp in "${groups[@]}"
                + '[' true = true ']'
                + getent group i2c
                + for grp in "${groups[@]}"
                + '[' true = true ']'
                + getent group redis
                + for grp in "${groups[@]}"
                + '[' true = true ']'
                + getent group tty
                tty:*:4:iobroker
                + pw group mod tty -m iobroker
                + '[' true = true ']'
                + mkdir -p /opt/iobroker
                + cd /opt/iobroker
                + echo 'Directory /opt/iobroker created'
                Directory /opt/iobroker created
                + touch /opt/iobroker/INSTALLER_INFO.txt
                + chmod 777 /opt/iobroker/INSTALLER_INFO.txt
                + echo 'Installer version: 2019-05-21'
                ++ date +%F
                + echo 'Installation date 2019-05-23'
                + echo 'Platform: freebsd'
                + print_step 'Installing ioBroker' 3 4
                + stepname='Installing ioBroker'
                + stepnr=3
                + steptotal=4
                + echo
                
                + echo ==========================================================================
                ==========================================================================
                + echo '    Installing ioBroker (3/4)'
                    Installing ioBroker (3/4)
                + echo ==========================================================================
                ==========================================================================
                + echo
                
                + '[' true = true ']'
                + echo 'Installed as root'
                + npm i iobroker --loglevel error --unsafe-perm
                + npm i --production --loglevel error --unsafe-perm
                ../src/unix_dgram.cc:53:13: warning: unused function 'SetNonBlock'
                      [-Wunused-function]
                inline void SetNonBlock(int fd) {
                            ^
                ../src/unix_dgram.cc:65:13: warning: unused function 'SetCloExec'
                      [-Wunused-function]
                inline void SetCloExec(int fd) {
                            ^
                2 warnings generated.
                ../src/serialport.cpp:95:18: warning: 'Call' is deprecated
                      [-Wdeprecated-declarations]
                  data->callback.Call(2, argv);
                                 ^
                ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                  NAN_DEPRECATED inline v8::Local<v8::Value>
                  ^
                ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                # define NAN_DEPRECATED __attribute__((deprecated))
                                                       ^
                ../src/serialport.cpp:150:18: warning: 'Call' is deprecated
                      [-Wdeprecated-declarations]
                  data->callback.Call(1, argv);
                                 ^
                ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                  NAN_DEPRECATED inline v8::Local<v8::Value>
                  ^
                ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                # define NAN_DEPRECATED __attribute__((deprecated))
                                                       ^
                ../src/serialport.cpp:188:18: warning: 'Call' is deprecated
                      [-Wdeprecated-declarations]
                  data->callback.Call(1, argv);
                                 ^
                ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                  NAN_DEPRECATED inline v8::Local<v8::Value>
                  ^
                ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                # define NAN_DEPRECATED __attribute__((deprecated))
                                                       ^
                ../src/serialport.cpp:231:18: warning: 'Call' is deprecated
                      [-Wdeprecated-declarations]
                  data->callback.Call(1, argv);
                                 ^
                ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                  NAN_DEPRECATED inline v8::Local<v8::Value>
                  ^
                ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                # define NAN_DEPRECATED __attribute__((deprecated))
                                                       ^
                ../src/serialport.cpp:285:18: warning: 'Call' is deprecated
                      [-Wdeprecated-declarations]
                  data->callback.Call(1, argv);
                                 ^
                ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                  NAN_DEPRECATED inline v8::Local<v8::Value>
                  ^
                ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                # define NAN_DEPRECATED __attribute__((deprecated))
                                                       ^
                ../src/serialport.cpp:336:18: warning: 'Call' is deprecated
                      [-Wdeprecated-declarations]
                  data->callback.Call(2, argv);
                                 ^
                ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                  NAN_DEPRECATED inline v8::Local<v8::Value>
                  ^
                ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                # define NAN_DEPRECATED __attribute__((deprecated))
                                                       ^
                ../src/serialport.cpp:383:18: warning: 'Call' is deprecated
                      [-Wdeprecated-declarations]
                  data->callback.Call(2, argv);
                                 ^
                ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                  NAN_DEPRECATED inline v8::Local<v8::Value>
                  ^
                ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                # define NAN_DEPRECATED __attribute__((deprecated))
                                                       ^
                ../src/serialport.cpp:424:18: warning: 'Call' is deprecated
                      [-Wdeprecated-declarations]
                  data->callback.Call(1, argv);
                                 ^
                ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                  NAN_DEPRECATED inline v8::Local<v8::Value>
                  ^
                ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                # define NAN_DEPRECATED __attribute__((deprecated))
                                                       ^
                8 warnings generated.
                ../src/serialport_unix.cpp:384:20: warning: variable 'outbaud' is uninitialized
                      when used here [-Wuninitialized]
                  data->baudRate = outbaud;
                                   ^~~~~~~
                ../src/serialport_unix.cpp:369:14: note: initialize the variable 'outbaud' to
                      silence this warning
                  int outbaud;
                             ^
                              = 0
                1 warning generated.
                ../src/poller.cpp:69:17: warning: 'Call' is deprecated
                      [-Wdeprecated-declarations]
                  obj->callback.Call(2, argv);
                                ^
                ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                  NAN_DEPRECATED inline v8::Local<v8::Value>
                  ^
                ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                # define NAN_DEPRECATED __attribute__((deprecated))
                                                       ^
                1 warning generated.
                + print_step 'Finalizing installation' 4 4
                + stepname='Finalizing installation'
                + stepnr=4
                + steptotal=4
                + echo
                
                + echo ==========================================================================
                ==========================================================================
                + echo '    Finalizing installation (4/4)'
                    Finalizing installation (4/4)
                + echo ==========================================================================
                ==========================================================================
                + echo
                
                + INITSYSTEM=unknown
                + [[ freebsd = \f\r\e\e\b\s\d ]]
                + [[ -d /usr/local/etc/rc.d ]]
                + INITSYSTEM=rc.d
                + [[ -n '' ]]
                + echo 'init system: rc.d'
                + IOB_NODE_CMDLINE=node
                ++ which bash
                + BASH_CMDLINE=/usr/local/bin/bash
                + '[' iobroker '!=' root ']'
                + IOB_NODE_CMDLINE='sudo -H -u iobroker node'
                + '[' rc.d = systemd ']'
                + '[' rc.d = launchctl ']'
                ++ cat
                + IOB_EXECUTABLE='#!/usr/local/bin/bash
                sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js $@'
                + '[' freebsd = linux ']'
                + '[' freebsd = freebsd ']'
                + IOB_BIN_PATH=/usr/local/bin
                + '[' true = true ']'
                + ln -sfn /opt/iobroker/iobroker /usr/local/bin/iobroker
                + ln -sfn /opt/iobroker/iobroker /usr/local/bin/iob
                + '[' true = true ']'
                + ln -sfn /opt/iobroker/iobroker /opt/iobroker/iob
                + echo '#!/usr/local/bin/bash
                sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js $@'
                + make_executable /opt/iobroker/iobroker
                + file=/opt/iobroker/iobroker
                + '[' true = true ']'
                + chmod 755 /opt/iobroker/iobroker
                + [[ rc.d = \i\n\i\t\.\d ]]
                + '[' rc.d = systemd ']'
                + '[' rc.d = rc.d ']'
                + echo 'Enabling autostart...'
                Enabling autostart...
                ++ cat
                + RCD_FILE='#!/bin/sh
                #
                # PROVIDE: iobroker
                # REQUIRE: DAEMON
                # KEYWORD: shutdown
                
                . /etc/rc.subr
                
                name="iobroker"
                rcvar="iobroker_enable"
                
                load_rc_config $name
                
                iobroker_enable=${iobroker_enable-"NO"}
                iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"}
                
                PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
                NODECMD=$(which node)
                
                iobroker_start ()
                {
                su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start"
                }
                
                iobroker_stop ()
                {
                su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop"
                }
                
                iobroker_status ()
                {
                su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status"
                }
                
                PATH="${PATH}:/usr/local/bin"
                pidfile="${iobroker_pidfile}"
                
                start_cmd=iobroker_start
                stop_cmd=iobroker_stop
                status_cmd=iobroker_status
                
                run_rc_command "$1"'
                + SERVICE_FILENAME=/usr/local/etc/rc.d/iobroker
                + '[' true = true ']'
                + echo '#!/bin/sh
                #
                # PROVIDE: iobroker
                # REQUIRE: DAEMON
                # KEYWORD: shutdown
                
                . /etc/rc.subr
                
                name="iobroker"
                rcvar="iobroker_enable"
                
                load_rc_config $name
                
                iobroker_enable=${iobroker_enable-"NO"}
                iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"}
                
                PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
                NODECMD=$(which node)
                
                iobroker_start ()
                {
                su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start"
                }
                
                iobroker_stop ()
                {
                su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop"
                }
                
                iobroker_status ()
                {
                su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status"
                }
                
                PATH="${PATH}:/usr/local/bin"
                pidfile="${iobroker_pidfile}"
                
                start_cmd=iobroker_start
                stop_cmd=iobroker_stop
                status_cmd=iobroker_status
                
                run_rc_command "$1"'
                + set_root_permissions /usr/local/etc/rc.d/iobroker
                + file=/usr/local/etc/rc.d/iobroker
                + '[' true = true ']'
                + chown root:wheel /usr/local/etc/rc.d/iobroker
                + chmod 755 /usr/local/etc/rc.d/iobroker
                + sysrc iobroker_enable=YES
                iobroker_enable: YES -> YES
                + service iobroker start
                Before fixing dir permissions...
                HOST_PLATFORM: Undefined variable.
                + echo 'Autostart enabled!'
                Autostart enabled!
                + echo 'Autostart: rc.d'
                root@iobroker_v2:~ # iobroker start
                Starting iobroker controller daemon...
                iobroker controller daemon failed to start:  Failed to write pidfile (EACCES)
                Error: Failed to write pidfile (EACCES)
                root@iobroker_v2:~ #
                
                
                AlCalzoneA Offline
                AlCalzoneA Offline
                AlCalzone
                Developer
                schrieb am zuletzt editiert von
                #37

                @mrMuppet 😕
                Irgendwas macht FreeBSD da komisch mit den variablen. Zum nächsten versuch komme ich erst am Wochenende.

                Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                M 1 Antwort Letzte Antwort
                0
                • AlCalzoneA AlCalzone

                  @mrMuppet 😕
                  Irgendwas macht FreeBSD da komisch mit den variablen. Zum nächsten versuch komme ich erst am Wochenende.

                  M Offline
                  M Offline
                  mrMuppet
                  schrieb am zuletzt editiert von
                  #38

                  @AlCalzone Gibt es schon eine neue "beta"?

                  ioBroker auf NUC (Celeron mit Ubuntu-Server)

                  Homematic, HMIP, Hue, Unifi, Plex, Nest, Roborock, Google Assistant

                  1 Antwort Letzte Antwort
                  0
                  • AlCalzoneA Offline
                    AlCalzoneA Offline
                    AlCalzone
                    Developer
                    schrieb am zuletzt editiert von
                    #39

                    Ich wusste doch, da war was... :sweat:

                    Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                    M 1 Antwort Letzte Antwort
                    0
                    • AlCalzoneA AlCalzone

                      Ich wusste doch, da war was... :sweat:

                      M Offline
                      M Offline
                      mrMuppet
                      schrieb am zuletzt editiert von
                      #40

                      @AlCalzone kannst du bei gelegenheit noch mal reinschauen? :grin:

                      ioBroker auf NUC (Celeron mit Ubuntu-Server)

                      Homematic, HMIP, Hue, Unifi, Plex, Nest, Roborock, Google Assistant

                      AlCalzoneA 2 Antworten Letzte Antwort
                      0
                      • M mrMuppet

                        @AlCalzone kannst du bei gelegenheit noch mal reinschauen? :grin:

                        AlCalzoneA Offline
                        AlCalzoneA Offline
                        AlCalzone
                        Developer
                        schrieb am zuletzt editiert von
                        #41

                        @mrMuppet Sorry, meine Abende und Wochenenden sind derzeit komplett verplant :( Ggf. Montag.

                        Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                        1 Antwort Letzte Antwort
                        0
                        • M mrMuppet

                          @AlCalzone kannst du bei gelegenheit noch mal reinschauen? :grin:

                          AlCalzoneA Offline
                          AlCalzoneA Offline
                          AlCalzone
                          Developer
                          schrieb am zuletzt editiert von
                          #42

                          @mrMuppet Was lange währt... Ich habe gerade nochmal einen potentiellen Fix gepusht.
                          Hast du noch Zeit und Lust den zu testen?

                          Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                          M 2 Antworten Letzte Antwort
                          0
                          • AlCalzoneA AlCalzone

                            @mrMuppet Was lange währt... Ich habe gerade nochmal einen potentiellen Fix gepusht.
                            Hast du noch Zeit und Lust den zu testen?

                            M Offline
                            M Offline
                            mrMuppet
                            schrieb am zuletzt editiert von
                            #43

                            @AlCalzone gerne morgen. Gerade noch ne Hochzeit...

                            ioBroker auf NUC (Celeron mit Ubuntu-Server)

                            Homematic, HMIP, Hue, Unifi, Plex, Nest, Roborock, Google Assistant

                            1 Antwort Letzte Antwort
                            0
                            • AlCalzoneA AlCalzone

                              @mrMuppet Was lange währt... Ich habe gerade nochmal einen potentiellen Fix gepusht.
                              Hast du noch Zeit und Lust den zu testen?

                              M Offline
                              M Offline
                              mrMuppet
                              schrieb am zuletzt editiert von
                              #44

                              @AlCalzone Leider immer immer noch ohne Erfolg.

                              root@iobroker_v2:~ # rm -rf /opt/iobroker
                              root@iobroker_v2:~ # curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/freebsd-fix/installer.sh | bash -
                              + INSTALLER_VERSION=2019-05-21
                              + [[ 0 -eq 0 ]]
                              + IS_ROOT=true
                              + ROOT_GROUP=root
                              ++ uname
                              + unamestr=FreeBSD
                              + '[' FreeBSD = Linux ']'
                              + '[' FreeBSD = Darwin ']'
                              + '[' FreeBSD = FreeBSD ']'
                              + HOST_PLATFORM=freebsd
                              + ROOT_GROUP=wheel
                              + IOB_DIR=/opt/iobroker
                              + '[' freebsd = osx ']'
                              + CONTROLLER_DIR=/opt/iobroker/node_modules/iobroker.js-controller
                              + INSTALLER_INFO_FILE=/opt/iobroker/INSTALLER_INFO.txt
                              + INSTALL_TARGET=iobroker
                              + IOB_USER=iobroker
                              + '[' freebsd = osx ']'
                              + test -t 1
                              ++ which tput
                              ++ tput colors
                              + ncolors=294
                              + test -n 294
                              + test 294 -ge 8
                              ++ tput cols
                              + termcols=294
                              ++ tput bold
                              + bold=
                              ++ tput smul
                              + underline=
                              ++ tput smso
                              + standout=
                              ++ tput sgr0
                              + normal=
                              ++ tput setaf 0
                              + black=''
                              ++ tput setaf 1
                              + red=''
                              ++ tput setaf 2
                              + green=''
                              ++ tput setaf 3
                              + yellow=''
                              ++ tput setaf 4
                              + blue=''
                              ++ tput setaf 5
                              + magenta=''
                              ++ tput setaf 6
                              + cyan=''
                              ++ tput setaf 7
                              + white=''
                              + HLINE===========================================================================
                              + print_bold 'Welcome to the ioBroker installer!' 'Installer version: 2019-05-21' '' 'You might need to enter your password a couple of times.'
                              + title='Welcome to the ioBroker installer!'
                              + echo
                              
                              + echo ==========================================================================
                              ==========================================================================
                              + echo
                              
                              + echo '    Welcome to the ioBroker installer!'
                                  Welcome to the ioBroker installer!
                              + for text in "${@:2}"
                              + echo '    Installer version: 2019-05-21'
                                  Installer version: 2019-05-21
                              + for text in "${@:2}"
                              + echo '    '
                              
                              + for text in "${@:2}"
                              + echo '    You might need to enter your password a couple of times.'
                                  You might need to enter your password a couple of times.
                              + echo
                              
                              + echo ==========================================================================
                              ==========================================================================
                              + echo
                              
                              + export AUTOMATED_INSTALLER=true
                              + AUTOMATED_INSTALLER=true
                              + NUM_STEPS=4
                              + print_step 'Installing prerequisites' 1 4
                              + stepname='Installing prerequisites'
                              + stepnr=1
                              + steptotal=4
                              + echo
                              
                              + echo ==========================================================================
                              ==========================================================================
                              + echo '    Installing prerequisites (1/4)'
                                  Installing prerequisites (1/4)
                              + echo ==========================================================================
                              ==========================================================================
                              + echo
                              
                              + case "$HOST_PLATFORM" in
                              + packages=("sudo" "git" "curl" "bash" "unzip" "avahi-libdns" "dbus" "nss_mdns" "gcc" "python")
                              + declare -a packages
                              + for pkg in "${packages[@]}"
                              + install_package_freebsd sudo
                              + package=sudo
                              + pkg info sudo
                              + for pkg in "${packages[@]}"
                              + install_package_freebsd git
                              + package=git
                              + pkg info git
                              + for pkg in "${packages[@]}"
                              + install_package_freebsd curl
                              + package=curl
                              + pkg info curl
                              + for pkg in "${packages[@]}"
                              + install_package_freebsd bash
                              + package=bash
                              + pkg info bash
                              + for pkg in "${packages[@]}"
                              + install_package_freebsd unzip
                              + package=unzip
                              + pkg info unzip
                              + for pkg in "${packages[@]}"
                              + install_package_freebsd avahi-libdns
                              + package=avahi-libdns
                              + pkg info avahi-libdns
                              + for pkg in "${packages[@]}"
                              + install_package_freebsd dbus
                              + package=dbus
                              + pkg info dbus
                              + for pkg in "${packages[@]}"
                              + install_package_freebsd nss_mdns
                              + package=nss_mdns
                              + pkg info nss_mdns
                              + for pkg in "${packages[@]}"
                              + install_package_freebsd gcc
                              + package=gcc
                              + pkg info gcc
                              + for pkg in "${packages[@]}"
                              + install_package_freebsd python
                              + package=python
                              + pkg info python
                              + ln -s /usr/local/include/avahi-compat-libdns_sd/dns_sd.h /usr/include/dns_sd.h
                              ln: /usr/include/dns_sd.h: File exists
                              + sed -i -e s/#enable-dbus/enable-dbus/ /usr/local/etc/avahi/avahi-daemon.conf
                              + sed -i -e 's/hosts: file dns/hosts: file dns mdns/' /etc/nsswitch.conf
                              + sysrc -f /etc/rc.conf dbus_enable=YES
                              dbus_enable: YES -> YES
                              + sysrc -f /etc/rc.conf avahi_daemon_enable=YES
                              avahi_daemon_enable: YES -> YES
                              + service dbus start
                              Starting dbus.
                              + service avahi-daemon start
                              Starting avahi-daemon.
                              + print_step 'Creating ioBroker user and directory' 2 4
                              + stepname='Creating ioBroker user and directory'
                              + stepnr=2
                              + steptotal=4
                              + echo
                              
                              + echo ==========================================================================
                              ==========================================================================
                              + echo '    Creating ioBroker user and directory (2/4)'
                                  Creating ioBroker user and directory (2/4)
                              + echo ==========================================================================
                              ==========================================================================
                              + echo
                              
                              + '[' freebsd = linux ']'
                              + '[' freebsd = freebsd ']'
                              + create_user_freebsd iobroker
                              + username=iobroker
                              + id iobroker
                              + '[' 0 -ne 0 ']'
                              + groups=(audio bluetooth dialout gpio i2c redis tty)
                              + declare -a groups
                              + for grp in "${groups[@]}"
                              + '[' true = true ']'
                              + getent group audio
                              + for grp in "${groups[@]}"
                              + '[' true = true ']'
                              + getent group bluetooth
                              + for grp in "${groups[@]}"
                              + '[' true = true ']'
                              + getent group dialout
                              + for grp in "${groups[@]}"
                              + '[' true = true ']'
                              + getent group gpio
                              + for grp in "${groups[@]}"
                              + '[' true = true ']'
                              + getent group i2c
                              + for grp in "${groups[@]}"
                              + '[' true = true ']'
                              + getent group redis
                              + for grp in "${groups[@]}"
                              + '[' true = true ']'
                              + getent group tty
                              tty:*:4:iobroker
                              + pw group mod tty -m iobroker
                              + '[' true = true ']'
                              + mkdir -p /opt/iobroker
                              + cd /opt/iobroker
                              + echo 'Directory /opt/iobroker created'
                              Directory /opt/iobroker created
                              + touch /opt/iobroker/INSTALLER_INFO.txt
                              + chmod 777 /opt/iobroker/INSTALLER_INFO.txt
                              + echo 'Installer version: 2019-05-21'
                              ++ date +%F
                              + echo 'Installation date 2019-06-30'
                              + echo 'Platform: freebsd'
                              + print_step 'Installing ioBroker' 3 4
                              + stepname='Installing ioBroker'
                              + stepnr=3
                              + steptotal=4
                              + echo
                              
                              + echo ==========================================================================
                              ==========================================================================
                              + echo '    Installing ioBroker (3/4)'
                                  Installing ioBroker (3/4)
                              + echo ==========================================================================
                              ==========================================================================
                              + echo
                              
                              + '[' true = true ']'
                              + echo 'Installed as root'
                              + npm i iobroker --loglevel error --unsafe-perm
                              + npm i --production --loglevel error --unsafe-perm
                              ../src/unix_dgram.cc:53:13: warning: unused function 'SetNonBlock' [-Wunused-function]
                              inline void SetNonBlock(int fd) {
                                          ^
                              ../src/unix_dgram.cc:65:13: warning: unused function 'SetCloExec' [-Wunused-function]
                              inline void SetCloExec(int fd) {
                                          ^
                              2 warnings generated.
                              ../src/serialport.cpp:95:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
                                data->callback.Call(2, argv);
                                               ^
                              ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                                NAN_DEPRECATED inline v8::Local<v8::Value>
                                ^
                              ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                              # define NAN_DEPRECATED __attribute__((deprecated))
                                                                     ^
                              ../src/serialport.cpp:150:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
                                data->callback.Call(1, argv);
                                               ^
                              ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                                NAN_DEPRECATED inline v8::Local<v8::Value>
                                ^
                              ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                              # define NAN_DEPRECATED __attribute__((deprecated))
                                                                     ^
                              ../src/serialport.cpp:188:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
                                data->callback.Call(1, argv);
                                               ^
                              ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                                NAN_DEPRECATED inline v8::Local<v8::Value>
                                ^
                              ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                              # define NAN_DEPRECATED __attribute__((deprecated))
                                                                     ^
                              ../src/serialport.cpp:231:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
                                data->callback.Call(1, argv);
                                               ^
                              ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                                NAN_DEPRECATED inline v8::Local<v8::Value>
                                ^
                              ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                              # define NAN_DEPRECATED __attribute__((deprecated))
                                                                     ^
                              ../src/serialport.cpp:285:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
                                data->callback.Call(1, argv);
                                               ^
                              ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                                NAN_DEPRECATED inline v8::Local<v8::Value>
                                ^
                              ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                              # define NAN_DEPRECATED __attribute__((deprecated))
                                                                     ^
                              ../src/serialport.cpp:336:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
                                data->callback.Call(2, argv);
                                               ^
                              ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                                NAN_DEPRECATED inline v8::Local<v8::Value>
                                ^
                              ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                              # define NAN_DEPRECATED __attribute__((deprecated))
                                                                     ^
                              ../src/serialport.cpp:383:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
                                data->callback.Call(2, argv);
                                               ^
                              ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                                NAN_DEPRECATED inline v8::Local<v8::Value>
                                ^
                              ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                              # define NAN_DEPRECATED __attribute__((deprecated))
                                                                     ^
                              ../src/serialport.cpp:424:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
                                data->callback.Call(1, argv);
                                               ^
                              ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                                NAN_DEPRECATED inline v8::Local<v8::Value>
                                ^
                              ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                              # define NAN_DEPRECATED __attribute__((deprecated))
                                                                     ^
                              8 warnings generated.
                              ../src/serialport_unix.cpp:384:20: warning: variable 'outbaud' is uninitialized when used here [-Wuninitialized]
                                data->baudRate = outbaud;
                                                 ^~~~~~~
                              ../src/serialport_unix.cpp:369:14: note: initialize the variable 'outbaud' to silence this warning
                                int outbaud;
                                           ^
                                            = 0
                              1 warning generated.
                              ../src/poller.cpp:69:17: warning: 'Call' is deprecated [-Wdeprecated-declarations]
                                obj->callback.Call(2, argv);
                                              ^
                              ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                                NAN_DEPRECATED inline v8::Local<v8::Value>
                                ^
                              ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                              # define NAN_DEPRECATED __attribute__((deprecated))
                                                                     ^
                              1 warning generated.
                              + print_step 'Finalizing installation' 4 4
                              + stepname='Finalizing installation'
                              + stepnr=4
                              + steptotal=4
                              + echo
                              
                              + echo ==========================================================================
                              ==========================================================================
                              + echo '    Finalizing installation (4/4)'
                                  Finalizing installation (4/4)
                              + echo ==========================================================================
                              ==========================================================================
                              + echo
                              
                              + INITSYSTEM=unknown
                              + [[ freebsd = \f\r\e\e\b\s\d ]]
                              + [[ -d /usr/local/etc/rc.d ]]
                              + INITSYSTEM=rc.d
                              + [[ -n '' ]]
                              + echo 'init system: rc.d'
                              + IOB_NODE_CMDLINE=node
                              ++ which bash
                              + BASH_CMDLINE=/usr/local/bin/bash
                              + '[' iobroker '!=' root ']'
                              + IOB_NODE_CMDLINE='sudo -H -u iobroker node'
                              + '[' rc.d = systemd ']'
                              + '[' rc.d = launchctl ']'
                              ++ cat
                              + IOB_EXECUTABLE='#!/usr/local/bin/bash
                              sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js $@'
                              + '[' freebsd = linux ']'
                              + '[' freebsd = freebsd ']'
                              + IOB_BIN_PATH=/usr/local/bin
                              + '[' true = true ']'
                              + ln -sfn /opt/iobroker/iobroker /usr/local/bin/iobroker
                              + ln -sfn /opt/iobroker/iobroker /usr/local/bin/iob
                              + '[' true = true ']'
                              + ln -sfn /opt/iobroker/iobroker /opt/iobroker/iob
                              + echo '#!/usr/local/bin/bash
                              sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js $@'
                              + make_executable /opt/iobroker/iobroker
                              + file=/opt/iobroker/iobroker
                              + '[' true = true ']'
                              + chmod 755 /opt/iobroker/iobroker
                              + [[ rc.d = \i\n\i\t\.\d ]]
                              + '[' rc.d = systemd ']'
                              + '[' rc.d = rc.d ']'
                              + echo 'Enabling autostart...'
                              Enabling autostart...
                              ++ cat
                              + RCD_FILE='#!/bin/sh
                              #
                              # PROVIDE: iobroker
                              # REQUIRE: DAEMON
                              # KEYWORD: shutdown
                              
                              . /etc/rc.subr
                              
                              name="iobroker"
                              rcvar="iobroker_enable"
                              
                              load_rc_config $name
                              
                              iobroker_enable=${iobroker_enable-"NO"}
                              iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"}
                              
                              PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
                              NODECMD=$(which node)
                              
                              iobroker_start ()
                              {
                              su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start"
                              }
                              
                              iobroker_stop ()
                              {
                              su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop"
                              }
                              
                              iobroker_status ()
                              {
                              su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status"
                              }
                              
                              PATH="${PATH}:/usr/local/bin"
                              pidfile="${iobroker_pidfile}"
                              
                              start_cmd=iobroker_start
                              stop_cmd=iobroker_stop
                              status_cmd=iobroker_status
                              
                              run_rc_command "$1"'
                              + SERVICE_FILENAME=/usr/local/etc/rc.d/iobroker
                              + '[' true = true ']'
                              + echo '#!/bin/sh
                              #
                              # PROVIDE: iobroker
                              # REQUIRE: DAEMON
                              # KEYWORD: shutdown
                              
                              . /etc/rc.subr
                              
                              name="iobroker"
                              rcvar="iobroker_enable"
                              
                              load_rc_config $name
                              
                              iobroker_enable=${iobroker_enable-"NO"}
                              iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"}
                              
                              PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
                              NODECMD=$(which node)
                              
                              iobroker_start ()
                              {
                              su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start"
                              }
                              
                              iobroker_stop ()
                              {
                              su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop"
                              }
                              
                              iobroker_status ()
                              {
                              su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status"
                              }
                              
                              PATH="${PATH}:/usr/local/bin"
                              pidfile="${iobroker_pidfile}"
                              
                              start_cmd=iobroker_start
                              stop_cmd=iobroker_stop
                              status_cmd=iobroker_status
                              
                              run_rc_command "$1"'
                              + set_root_permissions /usr/local/etc/rc.d/iobroker
                              + file=/usr/local/etc/rc.d/iobroker
                              + '[' true = true ']'
                              + chown root:wheel /usr/local/etc/rc.d/iobroker
                              + chmod 755 /usr/local/etc/rc.d/iobroker
                              + sysrc iobroker_enable=YES
                              iobroker_enable: YES -> YES
                              + service iobroker start
                              Illegal variable name.
                              + echo 'Autostart enabled!'
                              Autostart enabled!
                              + echo 'Autostart: rc.d'
                              
                              

                              ioBroker auf NUC (Celeron mit Ubuntu-Server)

                              Homematic, HMIP, Hue, Unifi, Plex, Nest, Roborock, Google Assistant

                              AlCalzoneA 1 Antwort Letzte Antwort
                              0
                              • M mrMuppet

                                @AlCalzone Leider immer immer noch ohne Erfolg.

                                root@iobroker_v2:~ # rm -rf /opt/iobroker
                                root@iobroker_v2:~ # curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/freebsd-fix/installer.sh | bash -
                                + INSTALLER_VERSION=2019-05-21
                                + [[ 0 -eq 0 ]]
                                + IS_ROOT=true
                                + ROOT_GROUP=root
                                ++ uname
                                + unamestr=FreeBSD
                                + '[' FreeBSD = Linux ']'
                                + '[' FreeBSD = Darwin ']'
                                + '[' FreeBSD = FreeBSD ']'
                                + HOST_PLATFORM=freebsd
                                + ROOT_GROUP=wheel
                                + IOB_DIR=/opt/iobroker
                                + '[' freebsd = osx ']'
                                + CONTROLLER_DIR=/opt/iobroker/node_modules/iobroker.js-controller
                                + INSTALLER_INFO_FILE=/opt/iobroker/INSTALLER_INFO.txt
                                + INSTALL_TARGET=iobroker
                                + IOB_USER=iobroker
                                + '[' freebsd = osx ']'
                                + test -t 1
                                ++ which tput
                                ++ tput colors
                                + ncolors=294
                                + test -n 294
                                + test 294 -ge 8
                                ++ tput cols
                                + termcols=294
                                ++ tput bold
                                + bold=
                                ++ tput smul
                                + underline=
                                ++ tput smso
                                + standout=
                                ++ tput sgr0
                                + normal=
                                ++ tput setaf 0
                                + black=''
                                ++ tput setaf 1
                                + red=''
                                ++ tput setaf 2
                                + green=''
                                ++ tput setaf 3
                                + yellow=''
                                ++ tput setaf 4
                                + blue=''
                                ++ tput setaf 5
                                + magenta=''
                                ++ tput setaf 6
                                + cyan=''
                                ++ tput setaf 7
                                + white=''
                                + HLINE===========================================================================
                                + print_bold 'Welcome to the ioBroker installer!' 'Installer version: 2019-05-21' '' 'You might need to enter your password a couple of times.'
                                + title='Welcome to the ioBroker installer!'
                                + echo
                                
                                + echo ==========================================================================
                                ==========================================================================
                                + echo
                                
                                + echo '    Welcome to the ioBroker installer!'
                                    Welcome to the ioBroker installer!
                                + for text in "${@:2}"
                                + echo '    Installer version: 2019-05-21'
                                    Installer version: 2019-05-21
                                + for text in "${@:2}"
                                + echo '    '
                                
                                + for text in "${@:2}"
                                + echo '    You might need to enter your password a couple of times.'
                                    You might need to enter your password a couple of times.
                                + echo
                                
                                + echo ==========================================================================
                                ==========================================================================
                                + echo
                                
                                + export AUTOMATED_INSTALLER=true
                                + AUTOMATED_INSTALLER=true
                                + NUM_STEPS=4
                                + print_step 'Installing prerequisites' 1 4
                                + stepname='Installing prerequisites'
                                + stepnr=1
                                + steptotal=4
                                + echo
                                
                                + echo ==========================================================================
                                ==========================================================================
                                + echo '    Installing prerequisites (1/4)'
                                    Installing prerequisites (1/4)
                                + echo ==========================================================================
                                ==========================================================================
                                + echo
                                
                                + case "$HOST_PLATFORM" in
                                + packages=("sudo" "git" "curl" "bash" "unzip" "avahi-libdns" "dbus" "nss_mdns" "gcc" "python")
                                + declare -a packages
                                + for pkg in "${packages[@]}"
                                + install_package_freebsd sudo
                                + package=sudo
                                + pkg info sudo
                                + for pkg in "${packages[@]}"
                                + install_package_freebsd git
                                + package=git
                                + pkg info git
                                + for pkg in "${packages[@]}"
                                + install_package_freebsd curl
                                + package=curl
                                + pkg info curl
                                + for pkg in "${packages[@]}"
                                + install_package_freebsd bash
                                + package=bash
                                + pkg info bash
                                + for pkg in "${packages[@]}"
                                + install_package_freebsd unzip
                                + package=unzip
                                + pkg info unzip
                                + for pkg in "${packages[@]}"
                                + install_package_freebsd avahi-libdns
                                + package=avahi-libdns
                                + pkg info avahi-libdns
                                + for pkg in "${packages[@]}"
                                + install_package_freebsd dbus
                                + package=dbus
                                + pkg info dbus
                                + for pkg in "${packages[@]}"
                                + install_package_freebsd nss_mdns
                                + package=nss_mdns
                                + pkg info nss_mdns
                                + for pkg in "${packages[@]}"
                                + install_package_freebsd gcc
                                + package=gcc
                                + pkg info gcc
                                + for pkg in "${packages[@]}"
                                + install_package_freebsd python
                                + package=python
                                + pkg info python
                                + ln -s /usr/local/include/avahi-compat-libdns_sd/dns_sd.h /usr/include/dns_sd.h
                                ln: /usr/include/dns_sd.h: File exists
                                + sed -i -e s/#enable-dbus/enable-dbus/ /usr/local/etc/avahi/avahi-daemon.conf
                                + sed -i -e 's/hosts: file dns/hosts: file dns mdns/' /etc/nsswitch.conf
                                + sysrc -f /etc/rc.conf dbus_enable=YES
                                dbus_enable: YES -> YES
                                + sysrc -f /etc/rc.conf avahi_daemon_enable=YES
                                avahi_daemon_enable: YES -> YES
                                + service dbus start
                                Starting dbus.
                                + service avahi-daemon start
                                Starting avahi-daemon.
                                + print_step 'Creating ioBroker user and directory' 2 4
                                + stepname='Creating ioBroker user and directory'
                                + stepnr=2
                                + steptotal=4
                                + echo
                                
                                + echo ==========================================================================
                                ==========================================================================
                                + echo '    Creating ioBroker user and directory (2/4)'
                                    Creating ioBroker user and directory (2/4)
                                + echo ==========================================================================
                                ==========================================================================
                                + echo
                                
                                + '[' freebsd = linux ']'
                                + '[' freebsd = freebsd ']'
                                + create_user_freebsd iobroker
                                + username=iobroker
                                + id iobroker
                                + '[' 0 -ne 0 ']'
                                + groups=(audio bluetooth dialout gpio i2c redis tty)
                                + declare -a groups
                                + for grp in "${groups[@]}"
                                + '[' true = true ']'
                                + getent group audio
                                + for grp in "${groups[@]}"
                                + '[' true = true ']'
                                + getent group bluetooth
                                + for grp in "${groups[@]}"
                                + '[' true = true ']'
                                + getent group dialout
                                + for grp in "${groups[@]}"
                                + '[' true = true ']'
                                + getent group gpio
                                + for grp in "${groups[@]}"
                                + '[' true = true ']'
                                + getent group i2c
                                + for grp in "${groups[@]}"
                                + '[' true = true ']'
                                + getent group redis
                                + for grp in "${groups[@]}"
                                + '[' true = true ']'
                                + getent group tty
                                tty:*:4:iobroker
                                + pw group mod tty -m iobroker
                                + '[' true = true ']'
                                + mkdir -p /opt/iobroker
                                + cd /opt/iobroker
                                + echo 'Directory /opt/iobroker created'
                                Directory /opt/iobroker created
                                + touch /opt/iobroker/INSTALLER_INFO.txt
                                + chmod 777 /opt/iobroker/INSTALLER_INFO.txt
                                + echo 'Installer version: 2019-05-21'
                                ++ date +%F
                                + echo 'Installation date 2019-06-30'
                                + echo 'Platform: freebsd'
                                + print_step 'Installing ioBroker' 3 4
                                + stepname='Installing ioBroker'
                                + stepnr=3
                                + steptotal=4
                                + echo
                                
                                + echo ==========================================================================
                                ==========================================================================
                                + echo '    Installing ioBroker (3/4)'
                                    Installing ioBroker (3/4)
                                + echo ==========================================================================
                                ==========================================================================
                                + echo
                                
                                + '[' true = true ']'
                                + echo 'Installed as root'
                                + npm i iobroker --loglevel error --unsafe-perm
                                + npm i --production --loglevel error --unsafe-perm
                                ../src/unix_dgram.cc:53:13: warning: unused function 'SetNonBlock' [-Wunused-function]
                                inline void SetNonBlock(int fd) {
                                            ^
                                ../src/unix_dgram.cc:65:13: warning: unused function 'SetCloExec' [-Wunused-function]
                                inline void SetCloExec(int fd) {
                                            ^
                                2 warnings generated.
                                ../src/serialport.cpp:95:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
                                  data->callback.Call(2, argv);
                                                 ^
                                ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                                  NAN_DEPRECATED inline v8::Local<v8::Value>
                                  ^
                                ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                                # define NAN_DEPRECATED __attribute__((deprecated))
                                                                       ^
                                ../src/serialport.cpp:150:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
                                  data->callback.Call(1, argv);
                                                 ^
                                ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                                  NAN_DEPRECATED inline v8::Local<v8::Value>
                                  ^
                                ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                                # define NAN_DEPRECATED __attribute__((deprecated))
                                                                       ^
                                ../src/serialport.cpp:188:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
                                  data->callback.Call(1, argv);
                                                 ^
                                ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                                  NAN_DEPRECATED inline v8::Local<v8::Value>
                                  ^
                                ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                                # define NAN_DEPRECATED __attribute__((deprecated))
                                                                       ^
                                ../src/serialport.cpp:231:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
                                  data->callback.Call(1, argv);
                                                 ^
                                ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                                  NAN_DEPRECATED inline v8::Local<v8::Value>
                                  ^
                                ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                                # define NAN_DEPRECATED __attribute__((deprecated))
                                                                       ^
                                ../src/serialport.cpp:285:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
                                  data->callback.Call(1, argv);
                                                 ^
                                ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                                  NAN_DEPRECATED inline v8::Local<v8::Value>
                                  ^
                                ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                                # define NAN_DEPRECATED __attribute__((deprecated))
                                                                       ^
                                ../src/serialport.cpp:336:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
                                  data->callback.Call(2, argv);
                                                 ^
                                ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                                  NAN_DEPRECATED inline v8::Local<v8::Value>
                                  ^
                                ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                                # define NAN_DEPRECATED __attribute__((deprecated))
                                                                       ^
                                ../src/serialport.cpp:383:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
                                  data->callback.Call(2, argv);
                                                 ^
                                ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                                  NAN_DEPRECATED inline v8::Local<v8::Value>
                                  ^
                                ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                                # define NAN_DEPRECATED __attribute__((deprecated))
                                                                       ^
                                ../src/serialport.cpp:424:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
                                  data->callback.Call(1, argv);
                                                 ^
                                ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                                  NAN_DEPRECATED inline v8::Local<v8::Value>
                                  ^
                                ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                                # define NAN_DEPRECATED __attribute__((deprecated))
                                                                       ^
                                8 warnings generated.
                                ../src/serialport_unix.cpp:384:20: warning: variable 'outbaud' is uninitialized when used here [-Wuninitialized]
                                  data->baudRate = outbaud;
                                                   ^~~~~~~
                                ../src/serialport_unix.cpp:369:14: note: initialize the variable 'outbaud' to silence this warning
                                  int outbaud;
                                             ^
                                              = 0
                                1 warning generated.
                                ../src/poller.cpp:69:17: warning: 'Call' is deprecated [-Wdeprecated-declarations]
                                  obj->callback.Call(2, argv);
                                                ^
                                ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
                                  NAN_DEPRECATED inline v8::Local<v8::Value>
                                  ^
                                ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
                                # define NAN_DEPRECATED __attribute__((deprecated))
                                                                       ^
                                1 warning generated.
                                + print_step 'Finalizing installation' 4 4
                                + stepname='Finalizing installation'
                                + stepnr=4
                                + steptotal=4
                                + echo
                                
                                + echo ==========================================================================
                                ==========================================================================
                                + echo '    Finalizing installation (4/4)'
                                    Finalizing installation (4/4)
                                + echo ==========================================================================
                                ==========================================================================
                                + echo
                                
                                + INITSYSTEM=unknown
                                + [[ freebsd = \f\r\e\e\b\s\d ]]
                                + [[ -d /usr/local/etc/rc.d ]]
                                + INITSYSTEM=rc.d
                                + [[ -n '' ]]
                                + echo 'init system: rc.d'
                                + IOB_NODE_CMDLINE=node
                                ++ which bash
                                + BASH_CMDLINE=/usr/local/bin/bash
                                + '[' iobroker '!=' root ']'
                                + IOB_NODE_CMDLINE='sudo -H -u iobroker node'
                                + '[' rc.d = systemd ']'
                                + '[' rc.d = launchctl ']'
                                ++ cat
                                + IOB_EXECUTABLE='#!/usr/local/bin/bash
                                sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js $@'
                                + '[' freebsd = linux ']'
                                + '[' freebsd = freebsd ']'
                                + IOB_BIN_PATH=/usr/local/bin
                                + '[' true = true ']'
                                + ln -sfn /opt/iobroker/iobroker /usr/local/bin/iobroker
                                + ln -sfn /opt/iobroker/iobroker /usr/local/bin/iob
                                + '[' true = true ']'
                                + ln -sfn /opt/iobroker/iobroker /opt/iobroker/iob
                                + echo '#!/usr/local/bin/bash
                                sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js $@'
                                + make_executable /opt/iobroker/iobroker
                                + file=/opt/iobroker/iobroker
                                + '[' true = true ']'
                                + chmod 755 /opt/iobroker/iobroker
                                + [[ rc.d = \i\n\i\t\.\d ]]
                                + '[' rc.d = systemd ']'
                                + '[' rc.d = rc.d ']'
                                + echo 'Enabling autostart...'
                                Enabling autostart...
                                ++ cat
                                + RCD_FILE='#!/bin/sh
                                #
                                # PROVIDE: iobroker
                                # REQUIRE: DAEMON
                                # KEYWORD: shutdown
                                
                                . /etc/rc.subr
                                
                                name="iobroker"
                                rcvar="iobroker_enable"
                                
                                load_rc_config $name
                                
                                iobroker_enable=${iobroker_enable-"NO"}
                                iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"}
                                
                                PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
                                NODECMD=$(which node)
                                
                                iobroker_start ()
                                {
                                su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start"
                                }
                                
                                iobroker_stop ()
                                {
                                su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop"
                                }
                                
                                iobroker_status ()
                                {
                                su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status"
                                }
                                
                                PATH="${PATH}:/usr/local/bin"
                                pidfile="${iobroker_pidfile}"
                                
                                start_cmd=iobroker_start
                                stop_cmd=iobroker_stop
                                status_cmd=iobroker_status
                                
                                run_rc_command "$1"'
                                + SERVICE_FILENAME=/usr/local/etc/rc.d/iobroker
                                + '[' true = true ']'
                                + echo '#!/bin/sh
                                #
                                # PROVIDE: iobroker
                                # REQUIRE: DAEMON
                                # KEYWORD: shutdown
                                
                                . /etc/rc.subr
                                
                                name="iobroker"
                                rcvar="iobroker_enable"
                                
                                load_rc_config $name
                                
                                iobroker_enable=${iobroker_enable-"NO"}
                                iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"}
                                
                                PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
                                NODECMD=$(which node)
                                
                                iobroker_start ()
                                {
                                su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start"
                                }
                                
                                iobroker_stop ()
                                {
                                su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop"
                                }
                                
                                iobroker_status ()
                                {
                                su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status"
                                }
                                
                                PATH="${PATH}:/usr/local/bin"
                                pidfile="${iobroker_pidfile}"
                                
                                start_cmd=iobroker_start
                                stop_cmd=iobroker_stop
                                status_cmd=iobroker_status
                                
                                run_rc_command "$1"'
                                + set_root_permissions /usr/local/etc/rc.d/iobroker
                                + file=/usr/local/etc/rc.d/iobroker
                                + '[' true = true ']'
                                + chown root:wheel /usr/local/etc/rc.d/iobroker
                                + chmod 755 /usr/local/etc/rc.d/iobroker
                                + sysrc iobroker_enable=YES
                                iobroker_enable: YES -> YES
                                + service iobroker start
                                Illegal variable name.
                                + echo 'Autostart enabled!'
                                Autostart enabled!
                                + echo 'Autostart: rc.d'
                                
                                
                                AlCalzoneA Offline
                                AlCalzoneA Offline
                                AlCalzone
                                Developer
                                schrieb am zuletzt editiert von
                                #45

                                @mrMuppet Es könnte sein, dass FreeBSD über eine Variable im Startup-Skript stolpert. Kannst du bitte folgendes mal häppchenweise (Code-Block für Code-Block) ausführen und schauen wo es einen Fehler (bestenfalls "illegal variable name") gibt?

                                name="iobroker"
                                
                                rcvar="iobroker_enable"
                                
                                iobroker_enable=${iobroker_enable-"NO"}
                                
                                iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"}
                                
                                PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
                                
                                NODECMD=$(which node)
                                
                                iobroker_start ()
                                {
                                su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start"
                                }
                                
                                iobroker_stop ()
                                {
                                su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop"
                                }
                                
                                iobroker_status ()
                                {
                                su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status"
                                }
                                
                                PATH="${PATH}:/usr/local/bin"
                                
                                pidfile="${iobroker_pidfile}"
                                
                                start_cmd=iobroker_start
                                
                                stop_cmd=iobroker_stop
                                
                                status_cmd=iobroker_status
                                

                                Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                M 1 Antwort Letzte Antwort
                                0
                                • AlCalzoneA AlCalzone

                                  @mrMuppet Es könnte sein, dass FreeBSD über eine Variable im Startup-Skript stolpert. Kannst du bitte folgendes mal häppchenweise (Code-Block für Code-Block) ausführen und schauen wo es einen Fehler (bestenfalls "illegal variable name") gibt?

                                  name="iobroker"
                                  
                                  rcvar="iobroker_enable"
                                  
                                  iobroker_enable=${iobroker_enable-"NO"}
                                  
                                  iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"}
                                  
                                  PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
                                  
                                  NODECMD=$(which node)
                                  
                                  iobroker_start ()
                                  {
                                  su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start"
                                  }
                                  
                                  iobroker_stop ()
                                  {
                                  su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop"
                                  }
                                  
                                  iobroker_status ()
                                  {
                                  su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status"
                                  }
                                  
                                  PATH="${PATH}:/usr/local/bin"
                                  
                                  pidfile="${iobroker_pidfile}"
                                  
                                  start_cmd=iobroker_start
                                  
                                  stop_cmd=iobroker_stop
                                  
                                  status_cmd=iobroker_status
                                  
                                  M Offline
                                  M Offline
                                  mrMuppet
                                  schrieb am zuletzt editiert von mrMuppet
                                  #46

                                  @AlCalzone sagte in Neue Installation auf FreeBSD/FreeNAS 11.2 funktioniert nicht.:

                                  Es könnte sein, dass FreeBSD über eine Variable im Startup-Skript stolpert. Kannst du bitte folgendes mal häppchenweise (Code-Block für Code-Block) ausführen

                                  Em... klein Frage: wie mache ich denn das? Wenn ich die Zeilen so eingebe, dann kommt nur:

                                  rcvar=iobroker_enable: Command not found.
                                  

                                  oder soll ich jeweils ne .sh datei machen und das reinschreiben? Ich probier das mal eben...

                                  Edit: Bekomme ich irgendwie nicht hin... Please help!

                                  ioBroker auf NUC (Celeron mit Ubuntu-Server)

                                  Homematic, HMIP, Hue, Unifi, Plex, Nest, Roborock, Google Assistant

                                  AlCalzoneA 1 Antwort Letzte Antwort
                                  0
                                  • M mrMuppet

                                    @AlCalzone sagte in Neue Installation auf FreeBSD/FreeNAS 11.2 funktioniert nicht.:

                                    Es könnte sein, dass FreeBSD über eine Variable im Startup-Skript stolpert. Kannst du bitte folgendes mal häppchenweise (Code-Block für Code-Block) ausführen

                                    Em... klein Frage: wie mache ich denn das? Wenn ich die Zeilen so eingebe, dann kommt nur:

                                    rcvar=iobroker_enable: Command not found.
                                    

                                    oder soll ich jeweils ne .sh datei machen und das reinschreiben? Ich probier das mal eben...

                                    Edit: Bekomme ich irgendwie nicht hin... Please help!

                                    AlCalzoneA Offline
                                    AlCalzoneA Offline
                                    AlCalzone
                                    Developer
                                    schrieb am zuletzt editiert von AlCalzone
                                    #47

                                    @mrMuppet Wichtig ist, dass du sie exakt eingibst - am besten kopieren. In deinem Beispiel fehlen die Anführungszeichen. Eine eigene .sh-Datei sollte nicht nötig sein.

                                    Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                    M 1 Antwort Letzte Antwort
                                    0
                                    • AlCalzoneA AlCalzone

                                      @mrMuppet Wichtig ist, dass du sie exakt eingibst - am besten kopieren. In deinem Beispiel fehlen die Anführungszeichen. Eine eigene .sh-Datei sollte nicht nötig sein.

                                      M Offline
                                      M Offline
                                      mrMuppet
                                      schrieb am zuletzt editiert von
                                      #48

                                      @AlCalzone aber das sind doch immer noch keinen funktionierenden Befehle oder?

                                      root@iobroker_v2:~ # name="iobroker"
                                      name=iobroker: Command not found
                                      

                                      ioBroker auf NUC (Celeron mit Ubuntu-Server)

                                      Homematic, HMIP, Hue, Unifi, Plex, Nest, Roborock, Google Assistant

                                      M 1 Antwort Letzte Antwort
                                      0
                                      • M mrMuppet

                                        @AlCalzone aber das sind doch immer noch keinen funktionierenden Befehle oder?

                                        root@iobroker_v2:~ # name="iobroker"
                                        name=iobroker: Command not found
                                        
                                        M Offline
                                        M Offline
                                        mrMuppet
                                        schrieb am zuletzt editiert von mrMuppet
                                        #49

                                        @mrMuppet

                                        root@iobroker_v2:~ # rcvar="iobroker_enable"
                                        rcvar=iobroker_enable: Command not found.
                                        root@iobroker_v2:~ # iobroker_enable=${iobroker_enable-"NO"}
                                        Missing '}'.
                                        root@iobroker_v2:~ # iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"}
                                        Missing '}'.
                                        
                                        

                                        ioBroker auf NUC (Celeron mit Ubuntu-Server)

                                        Homematic, HMIP, Hue, Unifi, Plex, Nest, Roborock, Google Assistant

                                        M 1 Antwort Letzte Antwort
                                        0
                                        • M mrMuppet

                                          @mrMuppet

                                          root@iobroker_v2:~ # rcvar="iobroker_enable"
                                          rcvar=iobroker_enable: Command not found.
                                          root@iobroker_v2:~ # iobroker_enable=${iobroker_enable-"NO"}
                                          Missing '}'.
                                          root@iobroker_v2:~ # iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"}
                                          Missing '}'.
                                          
                                          
                                          M Offline
                                          M Offline
                                          mrMuppet
                                          schrieb am zuletzt editiert von mrMuppet
                                          #50

                                          @mrMuppet

                                          root@iobroker_v2:~ # PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
                                          PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid: Command not found.
                                          root@iobroker_v2:~ # NODECMD=$(which node)
                                          Illegal variable name.
                                          root@iobroker_v2:~ # iobroker_start ()
                                          Badly placed ()'s.
                                          root@iobroker_v2:~ # {
                                          {: Command not found.
                                          root@iobroker_v2:~ # su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start"
                                          NODECMD: Undefined variable.
                                          root@iobroker_v2:~ # }
                                          }: Command not found.
                                          

                                          ioBroker auf NUC (Celeron mit Ubuntu-Server)

                                          Homematic, HMIP, Hue, Unifi, Plex, Nest, Roborock, Google Assistant

                                          M AlCalzoneA 2 Antworten 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

                                          823

                                          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