Wie YAHM-Autostart einrichten?

Einrichtung, Nutzung und Hilfe zu YAHM

Moderator: Co-Administratoren

Antworten
Benutzeravatar
DocZoid
Beiträge: 94
Registriert: 01.11.2010, 18:53
Wohnort: Dortmund

Wie YAHM-Autostart einrichten?

Beitrag von DocZoid » 28.06.2018, 22:00

Hallo zusammen,

mein YAHM startet nicht automatisch, und ich bekomme es auch nicht eingestellt. Ich bin allerdings kein Linux-Profi, von daher bitte auch von dummen Fehlern ausgehen... ;-)

YAHM 1.9
CCU2 2.31.25
Ubuntu 16.04.4

Manuell mit "yahm-ctl start" als root startet es.

Wenn ich das in rc.local eintrage startet es nicht, aber rc.local wird ausgeführt.
Ich habe versucht einen daemon dafür zu erstellen und bin daran erst recht gescheitert. Der funktioniert nicht mal, wenn ich den aus der Console mit "/etc/init.d/yahmd start" starte.

Habe ich eher ein Linux- oder ein YAHM-Problem? Ich habe ein ähnliches Verhalten mit owfs, von daher habe ich den Verdacht, dass ich ein generelles Linux-Config-Problem habe.

Ich habe kein yahm.log, und yahm-console.log zeigt immer nur

Code: Alles auswählen

crond[50]: crond: crond (busybox 1.20.2) started, log level 8
Immerhin habe ich eine nichtssagende Fehlermeldung in journalctl (Auszug):

Code: Alles auswählen

Jun 28 04:06:27 odroid dhclient[993]: Listening on LPF/yahmbr0/00:1e:06:61:7a:39
Jun 28 04:06:27 odroid dhclient[993]: Sending on   LPF/yahmbr0/00:1e:06:61:7a:39
Jun 28 04:06:27 odroid sh[912]: Listening on LPF/yahmbr0/00:1e:06:61:7a:39
Jun 28 04:06:27 odroid sh[912]: Sending on   LPF/yahmbr0/00:1e:06:61:7a:39
Jun 28 04:06:27 odroid sh[912]: DHCPDISCOVER on yahmbr0 to 255.255.255.255 port 67 interval 3 (xid=0x2d820b39)
Jun 28 04:06:27 odroid sh[912]: DHCPREQUEST of 10.0.1.41 on yahmbr0 to 255.255.255.255 port 67 (xid=0x390b822d)
Jun 28 04:06:27 odroid dhclient[993]: DHCPDISCOVER on yahmbr0 to 255.255.255.255 port 67 interval 3 (xid=0x2d820b39)
Jun 28 04:06:27 odroid dhclient[993]: DHCPREQUEST of 10.0.1.41 on yahmbr0 to 255.255.255.255 port 67 (xid=0x390b822d)
Jun 28 04:06:28 odroid avahi-daemon[779]: Joining mDNS multicast group on interface yahmbr0.IPv4 with address 10.0.1.41.
Jun 28 04:06:28 odroid avahi-daemon[779]: New relevant interface yahmbr0.IPv4 for mDNS.
Jun 28 04:06:28 odroid avahi-daemon[779]: Registering new address record for 10.0.1.41 on yahmbr0.IPv4.
Jun 28 04:06:30 odroid ntpd[1515]: Listen normally on 3 yahmbr0 10.0.1.41:123
Jun 28 04:06:36 odroid lxc-containers[1719]: Error starting container: yahm
/etc/init.d/yahmd:

Code: Alles auswählen

#!/bin/sh

### BEGIN INIT INFO
# Provides:          yahm
# Required-Start:    $all
# Required-Stop:     $remote_fs $network $syslog $named
# Default-Start:     3 4 5
# Default-Stop:      0 1 2 6
# Short-Description: yahm service wrapper
# Description:       Start and stop the yahm container.
### END INIT INFO

PATH=/sbin:/bin:/usr/sbin:/usr/bin
DESC="YAHM container service"
NAME="yahm-ctl"
DAEMON="lxc-start -n yahm"     <--- ich habe hier auch DAEMON="yahm-ctl start" versucht
PIDDIR=/var/run/yahm
PIDFILE=$PIDDIR/$NAME.pid
Bin für Hinweise und Ideen dankbar!

Benutzeravatar
DocZoid
Beiträge: 94
Registriert: 01.11.2010, 18:53
Wohnort: Dortmund

Re: Wie YAHM-Autostart einrichten?

Beitrag von DocZoid » 01.07.2018, 18:47

:roll:

Ich habe das Daemon-Script von einer Webseite kopiert, die den Rest weggelassen hatte und auf ein anderes Script verwies. Ich dachte, die Konfiguration würde ausreichen... d'oh!

Hier mein funktionsfähiges Script, wenn ihr es verbessert bitte posten:

Code: Alles auswählen

#!/bin/sh

### BEGIN INIT INFO
# Provides:          yahm
# Required-Start:    $remote_fs $network $syslog $named
# Required-Stop:     $remote_fs $network $syslog $named
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: yahm service wrapper
# Description:       Start and stop the yahm container.
### END INIT INFO

PATH=/sbin:/bin:/usr/sbin:/usr/bin     
LXCNAME=yahm
DESC="YAHM container service"
NAME=yahm-ctl
DAEMON=/usr/sbin/$NAME
PIDDIR=/var/run/yahm
PIDFILE=$PIDDIR/$NAME.pid 
DAEMON_OPTS=start
                       
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0

. /lib/lsb/init-functions
          
# Include laden
source /opt/YAHM/share/include.sh

d_start() {
    if [ $(lxc-info -n ${LXCNAME}|grep RUNNING |wc -l) -eq 1 ]
    then
        die "${LXCNAME} container is already running"
    fi
    [ -d $PIDDIR ] || {
    mkdir -m 0775 -p $PIDDIR
    chown root:root $PIDDIR >/dev/null 2>&1
    }                      
    lxc-start $QUIET -n ${LXCNAME} -d -L /var/log/yahm/${LXCNAME}_console.log --pidfile=$PIDFILE
    # ensure the daemon has been started 
    sleep 1
    pidofproc -p $PIDFILE $DAEMON >/dev/null
}

d_stop() {
    start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
    sleep 1
    if [ -f $PIDFILE ] && ! ps h `cat $PIDFILE` > /dev/null
    then
        # Stale PID file (yahm was successfilly stopped),
        #remove it
        rm -f $PIDFILE
    fi
}

d_status() {
    pidofproc -p $PIDFILE $DAEMON > /dev/null
}

case "$1" in
    start)
        log_daemon_msg "Starting $DESC" "$NAME"
        d_start
        log_end_msg $?
        ;;
    stop)
        log_daemon_msg "Stopping $DESC" "$NAME"
        d_stop
        log_end_msg $?
        ;;
    restart|force-reload)
        log_daemon_msg "Restarting $DESC" "$NAME"
        d_status && d_stop
        d_start
        log_end_msg $?
        ;;
    status)
        d_status
        if [ $? -eq 0 ];then
            log_success_msg "$NAME is running"
        else
            log_failure_msg "$NAME is not running"
        fi
        ;;
    *)
        echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload|status}" >&2
        exit 1
        ;;
esac

exit 0

Antworten

Zurück zu „YAHM“