DSM 7.2 Probleme zwischen Python3 und Syno Apps

vic

Benutzer
Mitglied seit
30. Okt 2023
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Hallo,

kürzlich habe ich Python3 (3.9) über das Paketzentrum installiert, um einige eigene Skripte auf dem DS auszuführen.

Ich konnte diese Skripte ausführen (alles gut), aber nach einem DS-Neustart (um einen Cron-Startdienst zu überprüfen) traten Probleme mit zwei Syno-Apps auf, die Python verwenden: Security Advisor und Log Certer.
Diese beiden Apps laufen nicht mehr und können die eigenen Dienste nicht mehr starten.
Nach mehreren Suchen habe ich in einigen Logdateien Fehler gefunden, die auf Python hinweisen, zum Beispiel:

audit: type=1400 audit(1698666699.077:597): apparmor="DENIED" operation="exec" profile="/usr/syno/sbin/synologconfgen" name="/volume1/@appstore/Python3.9/usr/bin/python3.9" pid=17926 comm="synologconfgen" requested_mask="x" denied_mask="x" fsuid=0 ouid=0

audit: type=1400 audit(1698671541.069:775): apparmor="DENIED" operation="mknod" profile="/usr/syno/sbin/synologconfgen" name="/usr/syno/lib/synosyslog/subgens/__pycache__/local.cpython-39.pyc.140597298820016" pid=18802 comm="synologconfgen" requested_mask="c" denied_mask="c" fsuid=0 ouid=0

> sudo /usr/syno/sbin/synologconfgen
> /usr/bin/env: ‘python3’: Permission denied

Wenn ich im obigen Beispiel den Befehl "/usr/bin/env python3" direkt vom administrator oder root aus ausführe, funktioniert dies. Nur wenn dies über die Anwendung aufgerufen wird, funktioniert es nicht.

Ich habe bereits versucht, das installierte Python 3.9 zu entfernen und den DS neu zu starten, aber es hat nichts gebracht.
Es scheint, dass mit der Installation von Python 3.9 einige Links/Dateien/Berechtigungen, die für die Ausführung der Syno-Apps erforderlich sind, geändert/überschrieben wurden und die Apps jetzt nicht mehr richtig funktionieren.

Hat jemand so ein Verhalten schon gesehen?
Weiß jemand wo das Problem liegen könnte?
Vielen Dank!
 

Thonav

Benutzer
Sehr erfahren
Mitglied seit
16. Feb 2014
Beiträge
7.896
Punkte für Reaktionen
1.517
Punkte
274
Hallo und Willkommen!
Deine Infos sind nur rudimentär. Was wolltest Du mit den Skripts denn erreichen? Werde mal konkreter und erklär mal, warum Du dazu im System rumschlawienern musst.
Das Problem könnte vor der Tastatur sitzen ;)
 

vic

Benutzer
Mitglied seit
30. Okt 2023
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Hallo und danke für die Antwort.

Ich bin mir nicht sicher, welche Details Du brauchst.

Mein Ziel war es, einige Skripte auszuführen, die Python 3 benötigten, und während auf dem DS nur Python 2 (2.7) installiert war, habe ich Python 3.9 über das offizielle Paketzentrum von Synology installiert.
Bei dieser Installation wurde kein Fehler im DSM angezeigt.

Dann habe ich mich mit meinem Benutzer angemeldet (SSH) und unter meinem Home-Verzeichnis ein neues Verzeichnis erstellt, in dem ich diese Skripte gespeichert und ausgeführt habe.
Die Skripte werden verwendet, um einige Informationen von einem Client-PC zu sammeln und sie auf einer Webseite auf dem DS anzuzeigen.
Die Skripte haben perfekt funktioniert und die Webseite war sichtbar.

Dann habe ich den DS neu gestartet und nach dem Neustart funktionieren die beiden oben genannten Apps nicht mehr (Security Advisor und Log Certer).

Erst dann habe ich begonnen, alle Logdateien im System zu durchsuchen, um zu verstehen, was passiert ist.

Ich habe versucht, das Problem zu beheben, indem ich Python 3.9 deinstallierte, aber es hat sich nichts geändert.

Ich glaube nicht, dass das Problem durch die Skripte selbst verursacht wird, da diese sich im Home-Verzeichnis befinden und keine Systemdateien berühren. Sie öffnen einen Port an einer bestimmten IP-Adresse, um einige Daten zu lesen und eine HTML-Datei zu erstellen, die auf dem DS angezeigt wird.

Mein Eindruck ist, dass mit der Installation von Python 3.9 etwas im System überschrieben wurde und es nun nicht mehr funktioniert.
Auch weil ich in die Verzeichnisse /usr/bin und /usr/lib einige Python 3.8-Dateien gesehen habe, die ich nicht selbst installiert habe und die auch nicht im Packet Center angezeigt sind.
Es scheint, dass diese Apps Python 3.8 verwendeten, das offenbar zusammen mit dem DSM installiert wird und außerhalb nicht sichtbar ist.

Daher meine Frage: Wie kann ich die Situation rückgängig machen, sodass diese beiden Apps wieder funktionieren?
Ist es möglich, die ursprüngliche offizielle Python-Installation (3.8?) wiederherzustellen?

Vielen Dank.
 

ctrlaltdelete

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
30. Dez 2012
Beiträge
14.073
Punkte für Reaktionen
6.086
Punkte
569
Poste mal die Scripte, ich vermute die verbiegen etwas in den Berechtigungen zum Ausführen, was seit DSM 7 leider notwendig ist.
 

vic

Benutzer
Mitglied seit
30. Okt 2023
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Hallo,

hiermit ist das Skript, das ich auf dem DS verwende (s. Anlage). Es ist unter homes gespeichert.

In der Zwischenzeit habe ich auch eine Rückmeldung vom Synology-Support erhalten: Python2 ist vollständig in DSM integriert und kann (ihren Angaben zufolge) ohne eine vollständige DSM-Neuinstallation nicht wiederhergestellt werden, während Python3 (3.9) als Paket installiert ist und entfernt werden kann und ohne Probleme neu installiert.

Ich verwende drei RPi als Server mit mehreren Python-Installationen und hatte noch nie Probleme beim Wiederherstellen der Konfigurationen.
Ist das DSM so unflexibel? Am Ende handelt es sich immer noch um eine Linux-Installation, wenn auch ziemlich alt (4.4).

Vielen Dank für die Unterstützung.
 

Anhänge

  • app.zip
    2,9 KB · Aufrufe: 4


 

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