Anzeige:
Ergebnis 1 bis 13 von 13

Thema: minidlna startet nicht automatisch

  1. #1
    Registrierter Benutzer
    Registriert seit
    Feb 2005
    Beiträge
    402

    minidlna startet nicht automatisch

    Hallo,

    ich habe mir einen NAS gebastelt, auf dem Debian Wheezy läuft. Darüber möchte ich über minidlna Filme usw auf den Fernseher streamen.

    Das funktioniert, wenn ich minidlna manuell starte.
    Code:
    /etc/init.d/minidlna start
    Ich möchte aber dass minidlna als Daemon gleich beim Systemstart mit gestartet wird. Leider tut er das nicht:
    Code:
    /etc/init.d/minidlna status
    [FAIL] minidlna is not running ... failed!
    Es wurde zum Runlevel hinzugefügt (2,3,4,5,):
    Code:
    update-rc.d minidlna defaults
    In der /etc/defaults/minidlna wurde ebenfalls Daemon aktiviert:
    Code:
    # Start the daemon if set to "yes"
    START_DAEMON="yes"
    In den Logfiles steht auch kein Eintrag mit minidlna.

    Jemand eine Idee, warum es nicht starten will ohne Hilfe?

    Gruß
    hafgan

  2. #2
    Fieses Frettchen Avatar von DrunkenFreak
    Registriert seit
    Dec 2003
    Beiträge
    3.315
    Braucht es vllt. irgendwelche Abhängigkeiten? Was passiert denn, wenn du ein "date > /tmp/minidlna.out" vorne in das Skript reinschreibst? Wird es überhaupt gestartet?

  3. #3
    Registrierter Benutzer
    Registriert seit
    Feb 2005
    Beiträge
    402
    Danke, gute Idee:

    Code:
    # cat minidlna.out
    Sun Dec 16 13:47:13 CET 2012
    Skript wird also ausgeführt, startet aber trotzdem nicht minidlna. Aus irgend einem Grund bricht er wohl den Startvorgang ab.

    Seltsam, mit 'date' im Skript bekomme ich diese Fehlermeldung im Log. Ohne Date, nicht. (Starten tut er in beiden Fällen nicht). Könnt das damit zusammen hängen?
    Code:
    [2012/12/16 13:46:29] minidlna.c:155: warn: received signal 15, good-bye
    [2012/12/16 13:46:30] sql.c:41: error: SQL ERROR 8 [attempt to write a readonly database]
    UPDATE SETTINGS set UPDATE_ID = 0
    Abhängigkeiten sollten mit apt-get eigentlich alle berücksichtigt sein.

    Gruß
    hafgan

  4. #4
    Registrierter Benutzer
    Registriert seit
    Jan 2008
    Beiträge
    2.551
    Code:
    /etc/minidlna.conf
    Code:
    # Path to the directory that should hold the database and album art cache.
    #db_dir=/var/lib/minidlna
    /var/lib/ vorhanden/ und Platz dort?

  5. #5
    Registrierter Benutzer
    Registriert seit
    Feb 2005
    Beiträge
    402
    Code:
    # cat /etc/minidlna.conf | grep db_dir
    #          from the db_dir directory (see below).
    #db_dir=/var/lib/minidlna
    Code:
    # ls -alF /var/lib/minidlna/
    insgesamt 35264
    drwxr-xr-x  3 minidlna minidlna     4096 Nov 20 22:15 ./
    drwxr-xr-x 32 root     root         4096 Nov 20 22:09 ../
    drwxr-xr-x  3 root     root         4096 Nov 20 22:15 art_cache/
    -rw-r--r--  1 root     root     36098048 Dez 16 12:36 files.db
    Code:
    # df -h
    Dateisystem                                            Größe Benutzt Verf. Verw% Eingehängt auf
    rootfs                                                  9,2G    2,0G  6,8G   23% /
    udev                                                     10M       0   10M    0% /dev
    tmpfs                                                   395M    264K  395M    1% /run
    /dev/disk/by-uuid/4ca842a2-2a71-4ec4-ae70-9beb7687f6a2  9,2G    2,0G  6,8G   23% /                                                                                                                                                           
    tmpfs                                                   5,0M       0  5,0M    0% /run/lock                                                                                                                                                   
    tmpfs                                                   1,2G       0  1,2G    0% /run/shm                                                                                                                                                    
    /dev/md1                                                1,8T    327G  1,4T   19% /home                                                                                                                                                       
    tmpfs                                                   2,0G       0  2,0G    0% /tmp
    Würde sagen passt soweit, oder?
    Geändert von hafgan (16.12.12 um 16:10 Uhr)

  6. #6
    Registrierter Benutzer
    Registriert seit
    Jan 2008
    Beiträge
    2.551
    Bei mir:

    Code:
    ls -alF /var/lib/minidlna/
    insgesamt 84
    drwxr-xr-x  2 minidlna minidlna  4096 Dez 16 16:39 ./
    drwxr-xr-x 47 root     root      4096 Dez 16 16:38 ../
    -rw-r--r--  1 minidlna minidlna 77824 Dez 16 16:41 files.db
    Code:
    ps axwwu  | grep minidlna
    minidlna  2257  0.0  3.3  38180  6376 ?        Ssl  16:41   0:00 /usr/bin/minidlna -f /etc/minidlna.conf -P /run/minidlna/minidlna.pid

    Gibts bei Dir user/group minidlna?

    Code:
    /etc/group:minidlna:x:118:
    Code:
    /etc/passwd:minidlna:x:112:118:MiniDLNA server,,,:/var/lib/minidlna:/usr/sbin/nologin
    Vllt. einfach minidlna komplett neu installieren?

  7. #7
    Registrierter Benutzer
    Registriert seit
    Feb 2005
    Beiträge
    402
    Die gruppe gibts.

    Ich habe die Anwendung komplett (purge) deinstalliert und neu installiert. Danach gehörte die Datenbank minidlna:minidlna.

    Läuft trotzdem nicht von alleine ...

    Das gibts doch nicht. Du hast damit keine Probleme?

  8. #8
    Registrierter Benutzer
    Registriert seit
    Feb 2005
    Beiträge
    402
    Ich habs jetzt doch noch hingekriegt: Aber SEHR unschön!

    in der ersten Zeile des Startskripts /etc/init.d/minidlna habe ich eingefügt:
    sleep 30
    Bleibt dann zwar 30 sek beim Bootvorgang hängen, aber danach ist minidlna verfügbar. Ich vermute das hängt mit mit dem Netzwerk zusammen. Minidlna benötigt ja die Netzwerkschnittstelle. Kann das sein, dass wenn die IP noch nicht bezogen ist, das Skript abbricht?

    Hat da jemand vielleicht eine elegantere Idee?

    Gruß
    hafgan

  9. #9
    Linux-Suchti Avatar von roadracer
    Registriert seit
    Feb 2009
    Ort
    Wolfenbüttel
    Beiträge
    759
    Vll ein "sleep 30 && wasauchimmer &"?
    Auch nicht sehr schön aber ein bisschen besser, dann bleibt der bootvorgang da nicht hängen.
    Kannst du dem Bootscript vll eine geringere Priorität geben? Dann wird es erst später nach dem Netzwerk gestartet.
    OpenSUSE 12.3 x86 XFCE 4.10

    Alle Rechtschreibfehler unterliegen der GFDL und dürfen so oder in veränderter Form genutzt und weiter gegeben werden.

  10. #10
    Fieses Frettchen Avatar von DrunkenFreak
    Registriert seit
    Dec 2003
    Beiträge
    3.315
    Zitat Zitat von hafgan Beitrag anzeigen
    Hat da jemand vielleicht eine elegantere Idee?
    Normalerweise sollte das Initskript eine Abhängigkeit mitbringen:

    Code:
    #...
    Required-Start: network
    #...
    Da die Skripte alle nach und nach ausgeführt werden, ist es verwunderlich, dass ein Sleep tatsächlich was bringt.

    Du könntest auch mal direkt im Runlevel (/etc/rc?.d) nachgucken in welcher Reihenfolge die Skripte gestartet werden. Niedrigere Zahlen bedeuten früheres Starten.

  11. #11
    Registrierter Benutzer
    Registriert seit
    Feb 2005
    Beiträge
    402
    Die Reihenfolge in rc2.d sieht so aus:
    Code:
    lrwxrwxrwx  1 root root   14 Dez 21 15:13 S01motd -> ../init.d/motd*
    lrwxrwxrwx  1 root root   17 Dez 21 15:48 S13rpcbind -> ../init.d/rpcbind*
    lrwxrwxrwx  1 root root   20 Dez 21 15:50 S14nfs-common -> ../init.d/nfs-common*
    lrwxrwxrwx  1 root root   22 Dez 21 15:50 S16acpi-fakekey -> ../init.d/acpi-fakekey*
    lrwxrwxrwx  1 root root   15 Dez 24 02:19 S16munin -> ../init.d/munin*
    lrwxrwxrwx  1 root root   20 Dez 24 02:20 S16munin-node -> ../init.d/munin-node*
    lrwxrwxrwx  1 root root   17 Dez 21 15:50 S16rsyslog -> ../init.d/rsyslog*
    lrwxrwxrwx  1 root root   15 Dez 21 15:50 S17acpid -> ../init.d/acpid*
    lrwxrwxrwx  1 root root   22 Dez 21 15:50 S17acpi-support -> ../init.d/acpi-support*
    lrwxrwxrwx  1 root root   17 Dez 21 15:50 S17anacron -> ../init.d/anacron*
    lrwxrwxrwx  1 root root   13 Dez 21 15:50 S17atd -> ../init.d/atd*
    lrwxrwxrwx  1 root root   14 Dez 21 15:50 S17cron -> ../init.d/cron*
    lrwxrwxrwx  1 root root   14 Dez 21 15:50 S17dbus -> ../init.d/dbus*
    lrwxrwxrwx  1 root root   15 Dez 21 15:50 S17exim4 -> ../init.d/exim4*
    lrwxrwxrwx  1 root root   15 Dez 21 15:50 S17mdadm -> ../init.d/mdadm*
    lrwxrwxrwx  1 root root   15 Dez 21 16:04 S17rsync -> ../init.d/rsync*
    lrwxrwxrwx  1 root root   13 Dez 21 15:50 S17ssh -> ../init.d/ssh*
    lrwxrwxrwx  1 root root   22 Dez 21 15:50 S18avahi-daemon -> ../init.d/avahi-daemon*
    lrwxrwxrwx  1 root root   18 Dez 21 15:50 S19bootlogs -> ../init.d/bootlogs*
    lrwxrwxrwx  1 root root   14 Dez 21 15:50 S19cups -> ../init.d/cups*
    lrwxrwxrwx  1 root root   15 Dez 21 15:51 S19saned -> ../init.d/saned*
    lrwxrwxrwx  1 root root   18 Dez 24 02:02 S20minidlna -> ../init.d/minidlna*
    lrwxrwxrwx  1 root root   18 Dez 21 15:50 S20rc.local -> ../init.d/rc.local*
    lrwxrwxrwx  1 root root   19 Dez 21 15:50 S20rmnologin -> ../init.d/rmnologin*
    Im Startskript steht das Netzwerk nur ganz oben als Kommentar:
    Code:
    ### BEGIN INIT INFO
    # Provides:          minidlna
    # Required-Start:    $network $local_fs $remote_fs
    # Required-Stop::    $network $local_fs $remote_fs
    # Should-Start:      $all
    # Should-Stop:       $all
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: Start minidlna at boot time
    # Description:       Manage the minidlna daemon, a DLNA/UPnP-AV media server.
    ### END INIT INFO
    Im Skript finde ich jetzt keine Abfrage. Soll aber nicht viel heißen! Evtl. finde ich es nicht. Hier ist das ganze /etc/init.d/minidlna:
    #!/bin/sh
    #
    # MiniDLNA initscript
    #
    # Based on the mediatomb debian package.
    # Original authors: Tor Krill <tor@excito.com>
    # Leonhard Wimmer <leo@mediatomb.cc>
    # Andres Mejia <mcitadel@gmail.com>
    #
    # Modified by: Benoît Knecht <benoit.knecht@fsfe.org>
    #
    ### BEGIN INIT INFO
    # Provides: minidlna
    # Required-Start: $network $local_fs $remote_fs
    # Required-Stop:: $network $local_fs $remote_fs
    # Should-Start: $all
    # Should-Stop: $all
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: Start minidlna at boot time
    # Description: Manage the minidlna daemon, a DLNA/UPnP-AV media server.
    ### END INIT INFO
    sleep 30

    unset USER

    # PATH should only include /usr/* if it runs after the mountnfs.sh script
    PATH=/sbin:/usr/sbin:/bin:/usr/bin
    DESC="DLNA/UPnP-AV media server"
    NAME=minidlna
    DAEMON=/usr/bin/minidlna
    PIDDIR=/run/$NAME
    PIDFILE=$PIDDIR/$NAME.pid
    SCRIPTNAME=/etc/init.d/$NAME
    DEFAULT=/etc/default/$NAME

    # Exit if the package is not installed
    [ -x $DAEMON ] || exit 0

    # Read configuration variable file if it is present
    [ -r $DEFAULT ] && . $DEFAULT

    # Load the VERBOSE setting and other rcS variables
    . /lib/init/vars.sh

    # Define LSB log_* functions.
    # Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
    . /lib/lsb/init-functions

    # Do not start the daemon if NO_START is enabled in DEFAULT
    if [ "$START_DAEMON" != "yes" ] && [ "$1" != "stop" ]; then
    log_warning_msg "$NAME: Not starting $DESC."
    log_warning_msg "$NAME: Disabled in $DEFAULT."
    exit 0
    fi

    # Set the default configuration file
    if [ -z $CONFIGFILE ]; then
    CONFIGFILE=/etc/minidlna.conf
    fi

    # Set the default log file
    if [ -z $LOGFILE ]; then
    LOGFILE=/var/log/minidlna.log
    fi

    # Run as `minidlna' if USER is not specified or is `root'
    if [ -z $USER ]; then
    USER=minidlna
    fi

    # If no group is specified, use USER
    if [ -z $GROUP ]; then
    GROUP=$USER
    fi

    DAEMON_ARGS="-f $CONFIGFILE -P $PIDFILE $DAEMON_OPTS"

    #
    # Function that starts the daemon/service
    #
    do_start()
    {
    # Return
    # 0 if daemon has been started
    # 1 if daemon was already running
    # 2 if daemon could not be started
    touch $LOGFILE && chown $USER:$GROUP $LOGFILE || return 2
    if [ ! -d $PIDDIR ]; then
    mkdir $PIDDIR || return 2
    fi
    chown $USER:$GROUP $PIDDIR || return 2

    start-stop-daemon --start --quiet --pidfile $PIDFILE \
    --chuid $USER:$GROUP --exec $DAEMON --test > /dev/null \
    || return 1
    start-stop-daemon --start --quiet --pidfile $PIDFILE \
    --chuid $USER:$GROUP --exec $DAEMON -- \
    $DAEMON_ARGS \
    || return 2
    }

    #
    # Function that stops the daemon/service
    #
    do_stop()
    {
    # Return
    # 0 if daemon has been stopped
    # 1 if daemon was already stopped
    # 2 if daemon could not be stopped
    # other if a failure occurred
    start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
    RETVAL="$?"
    [ "$RETVAL" = 2 ] && return 2
    # Wait for children to finish too if this is a daemon that forks
    # and if the daemon is only ever run from this initscript.
    start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
    [ "$?" = 2 ] && return 2
    # Many daemons don't delete their pidfiles when they exit.
    rm -rf $PIDDIR
    return "$RETVAL"
    }

    case "$1" in
    start)
    [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME"
    do_start
    case "$?" in
    0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
    2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
    esac
    ;;
    stop)
    [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
    do_stop
    case "$?" in
    0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
    2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
    esac
    ;;
    status)
    status_of_proc -p "$PIDFILE" "$DAEMON" "$NAME" && exit 0 || exit $?
    ;;
    restart|force-reload)
    log_daemon_msg "Restarting $DESC" "$NAME"
    do_stop
    case "$?" in
    0|1)
    if [ "$1" = "force-reload" ]; then
    # Rescan the collection
    DAEMON_ARGS="$DAEMON_ARGS -R"
    fi
    do_start
    case "$?" in
    0) log_end_msg 0 ;;
    1) log_end_msg 1 ;; # Old process is still running
    *) log_end_msg 1 ;; # Failed to start
    esac
    ;;
    *)
    # Failed to stop
    log_end_msg 1
    ;;
    esac
    ;;
    *)
    echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
    exit 3
    ;;
    esac

    :

  12. #12
    Registrierter Benutzer
    Registriert seit
    Feb 2005
    Beiträge
    402
    Guten Morgen!

    Ich hab das jetzt erstmal so hingenommen und auch festgestellt, dass es ein
    Code:
    sleep 10
    auch tut. (Vielleicht reichen ja auch 5 ... mal sehen).

    Allerdings liegt das offensichtlich nicht an minidlna:
    Ich habe jetzt noch ein NFS eingerichtet, das nach dem reboot ebenfalls nicht mehr gelaufen ist. Die Statusabfrage von /etc/init.d/nfs-kernel-server zeigte in diesem Fall zwar, dass er läuft. Es gab aber keine Verbindung. Erst nach einem Restart war das mounten möglich. Auch hier half wieder das berühmte sleep 10.

    Da ist doch etwas anderes im Argen ...

    Logfiles zeigten keinen Unterschied zwischen dem Start beim Boot, oder beim manuellen Restart.

    @ Roadracer, wie meinst Du das?
    Code:
    sleep 10 &&
    Ich habe mal ein df hinten angehängt, aber der bleibt dann da trotzdem hängen und wartet ab.

    Gruß
    hafgan

  13. #13
    Linux-Suchti Avatar von roadracer
    Registriert seit
    Feb 2009
    Ort
    Wolfenbüttel
    Beiträge
    759
    ne kein
    Code:
    sleep 10 &&
    ich meine
    Code:
    sleep 30 && wasauchimmer &
    Das && cattet zwei Befehle zusammen und ein & lässt sie dann im Hintergrund laufen.
    OpenSUSE 12.3 x86 XFCE 4.10

    Alle Rechtschreibfehler unterliegen der GFDL und dürfen so oder in veränderter Form genutzt und weiter gegeben werden.

Ähnliche Themen

  1. KDM oder XDM startet nicht mehr automatisch
    Von bigL65 im Forum X-Konfiguration
    Antworten: 2
    Letzter Beitrag: 04.09.05, 12:11
  2. Nach System-Update startet KDE nichtmehr automatisch
    Von schuhmann im Forum System installieren und konfigurieren
    Antworten: 2
    Letzter Beitrag: 15.06.05, 17:29
  3. K3B startet automatisch
    Von Rocketman im Forum Windowmanager
    Antworten: 6
    Letzter Beitrag: 13.06.04, 11:55
  4. Lilo umschreiben damit das andere BS automatisch startet?!?
    Von ricke im Forum System installieren und konfigurieren
    Antworten: 3
    Letzter Beitrag: 20.03.03, 18:12
  5. KDE: Alarm-Dämon startet automatisch
    Von Uwe_Stgt im Forum Windowmanager
    Antworten: 7
    Letzter Beitrag: 14.02.02, 19:13

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •