minidlna und inotify

  • Hallo zusammen,


    ich bekomme es einfach nicht hin, dass minidlna selbständig neue Mediendateien erkennt. Mittels

    Code
    sudo -u minidlna minidlnad -R

    kann man die Datenbank komplett neu einlesen lassen. Und es gibt im Netz zahlreiche Berichte von Usern, die das als cronjob einmal täglich machen lassen. Aber das löst ja das Problem nicht, sondern umgeht es nur unelegant.


    In der minidlna.conf wird mittels inotify=yes dem Kernel ja mitgeteilt, die Medienordner zu überwachen. Dazu muss der Knoten /dev/inotify vorhanden sein. Das war bei mir nicht der Fall. Also habe ich ihn mittels

    Code
    sudo mknod /dev/inotify c 10 63

    erstellt. Dies wird z.B. hier als Lösung beschrieben. Bei mir hat es aber leider nicht funktioniert. Nach einem Neustart von minidlna werden trotzdem keine neuen Dateien erkannt.


    Woran kann ich erkennen, ob inotify überhaupt seinen Dienst tut? Und wo werden Fehlermeldungen oder die Überwachungen von inotify geloggt?


    Danke für alle Hilfe!

  • Machst du das auf ner Externen Platte ?


    Welches Format Festplatte ?


    Und wie greifst du darauf zu ? Also welcher Pfad ... ?


    Achja Welche Version von Minidlna ?


    Achja Welche Rechte und Benutzer haben die Datein und Ordner ... Festplatte (?)


  • Hallo Hirnblaehung,



    das Problem liegt nicht bei Ordnern oder Rechten. Diese sind alle richtig gesetzt. (Diese Fragen haben wir diskutiert, als Dein minidlna nichts erkannt hat, Du erinnerst Dich.) Minidlna erkennt alle Dateien korrekt. Nur wie beschrieben eben nicht automatisch per inotify, sondern nur wenn ich die Datenbank neu einlesen lasse.


    Deshalb meine Frage: Woran kann ich erkennen, ob inotify überhaupt arbeitet und warum es bei der Überwachung der Medienordner nicht funktioniert.


    Viele Grüße


    Apologus

  • Ich habe ein paar neue Erkenntnisse, die ich hier mal mitteilen. Vielleicht nutzen sie jemand anderes einmal.


    1. inotify wird als Kernel-Service von minidlna gestartet. Das heißt, die Medienordner werden überhaupt nur überwacht, wenn minidlna läuft. Veränderungen werden auch nicht im Nachhinein erkannt. Wenn man die Medien auf einer externen Platte hat, diese an einem anderen Rechner befüllt und dann wieder anschließt, werden neue Daten nicht erkannt. Da hilft nur ein Neueinlesen der ganzen Bibliothek.


    2. Bei der Installation aus den Jessie-Repositories wird ein Benutzer minidlna angelegt und standardmäßig minidlna als mit dem Benutzer minidlna gestartet. Wenn minidlna dann inotify startet, dann eben auch als User minidlna. Das heißt, die Dateien und Ordner der müssen minidlna als Owner haben.
    Ich befülle den Pi per sftp (also ssh) von einem Linux PC. Mein Dateimanager meldet sich dabei als Benutzer pi am Raspi an. Ich kann also beim Befüllen der Medienordner den Dateien und Ordnern gar nicht den Owner minidlna zuweisen. Sind die Dateien erst mal im Medienordner nützt es auch nichts, nachträglich den Benutzer (z.B. per ssh) zu ändern. Denn auf einen reinen Benutzerwechsel reagiert inotify nicht. Ich muss als die Dateien erst in einen beliebigen anderen Ordner kopieren, anschließend die Rechte ändern und dann in die Medienordner verschieben. :-/


    3. inotify reagiert sofort darauf, wenn ein Ordner in die Medienordner verschoben wird. Das notify_interval, das bei mir auf 15 Minuten steht, hat damit nichts zu tun. Wenn ich nur Dateien kopieren, verschiebe, lösche... passiert nichts. Auch nicht nach 15 Minuten. Die Dateien werden z.B. weiterhin in BubbleUpnp angezeigt, obwohl sie gelöscht sind. Abspielen lassen sie sich natürlich nicht.


    Stellt sich die Frage, was tun... Immerhin mein Workaround funktioniert. Aber eine schöne Lösung ist das nicht. Eine Möglichkeit wäre wahrscheinlich, minidlna als pi auszuführen. Das werde ich vielleicht noch testen. Gibt es da Sicherheitsbedenken? Der Server ist ja nur im lokalen Netz erreichbar.

  • Versuche doch einfach mal minidlna-1.1.5.tar.gz zu nutzen ... also bei mir geht es da ... bin dazemal nur auf andere Probleme gestossen :)


  • Versuche doch einfach mal minidlna-1.1.5.tar.gz zu nutzen ... also bei mir geht es da ... bin dazemal nur auf andere Probleme gestossen :)


    Schau doch mal mit top nach, als welcher Benutzer minidlna in der selbst kompilierten Variante ausgeführt wird.