Lösung für das Problem mit pyinotify und DSM 6

Status
Für weitere Antworten geschlossen.

Technosoft2000

Benutzer
Mitglied seit
25. Mrz 2016
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Durch das DSM 6 Update war pyinotify nicht mehr vorhanden und hat nach erneuter installation mittels PIP
Rich (BBCode):
pip install pyinotify
hat folgender Aufruf
Rich (BBCode):
python -m pyinotify -v /tmp/
folgenden Fehler verursacht:
Rich (BBCode):
root@TS2K-DS415PLUS:/# python -m pyinotify -v /tmp/
Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/usr/lib/python2.7/site-packages/pyinotify.py", line 2386, in <module>
    command_line()
  File "/usr/lib/python2.7/site-packages/pyinotify.py", line 2340, in command_line
    wm = WatchManager()
  File "/usr/lib/python2.7/site-packages/pyinotify.py", line 1776, in __init__
    self._inotify_wrapper = INotifyWrapper.create()
  File "/usr/lib/python2.7/site-packages/pyinotify.py", line 128, in create
    if inotify.init():
  File "/usr/lib/python2.7/site-packages/pyinotify.py", line 212, in init
    libc_name = ctypes.util.find_library(try_libc_name)
  File "/usr/lib/python2.7/ctypes/util.py", line 247, in find_library
    raise RuntimeError("can not find library %s" % name)
RuntimeError: can not find library c

Folgender WORKAROUND hilft vorerst - mittels Editor die Datei /usr/lib/python2.7/site-packages/pyinotify.py patchen

Ab Zeile 211 muss der Code
Rich (BBCode):
        try:
            libc_name = ctypes.util.find_library(try_libc_name)
        except (OSError, IOError):
            pass  # Will attemp to load it with None anyway.
angepasst werden - man muss im 'except' Abschnitt den 'RuntimeError' zusätzlich auffangen
Rich (BBCode):
        try:
            libc_name = ctypes.util.find_library(try_libc_name)
        except (OSError, IOError, RuntimeError):
            pass  # Will attemp to load it with None anyway.

Danach war eine Ausführung möglich.

Bei mir trat nun auch der Fehlerfall auf:

WD=-1 or the message No space left on device (ENOSPC) whenever I try to add a new watch

in der FAQ - https://github.com/seb-m/pyinotify/wiki/Frequently-Asked-Questions steht dann folgender Hinweis:

You must have reached your quota of watches, type
Rich (BBCode):
sysctl -n fs.inotify.max_user_watches
to read your current limit and type (mein Wert war 8192)
Rich (BBCode):
sysctl -n -w fs.inotify.max_user_watches=16384
to modify (increase) it.

Nach der Änderung wie in der FAQ ging alles einwandfrei :)

Ein guter Einstieg für pyinotify und dem automatischen Indexen ist folgender Blog Artikel übrigens
https://codesourcery.wordpress.com/...ynology-nas-automatically-indexing-new-files/

Gruß
TS2k
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat