15.5: Perl Code funktioniert nicht mehr
![](https://seccdn.libravatar.org/avatar/9990e086bd973f56b231df090227bffd.jpg?s=120&d=mm&r=g)
Hallo zusammen, ich habe einen merkwürdigen Effekt bei Perl-Scripts, nach einem Upgrade von 15.4 nach 15.5. if ( -f "/home/admin/Buderus/Munin-ErtragContinue.csv" ) { ... } else { print "File not found.\n"; } Das Script läuft immer in den else Zweig, obwohl es das File gibt und auch Leserechte bestehen. -rw-rw-r-- 1 admin users 2,0K 7. Aug 19:16 /home/admin/Buderus/Munin-ErtragContinue.csv Auch ein open(logFP, ">> /home/admin/log/munin.diskstate.log") liefert "Permission denied" obwohl -rw-rw-rw- 1 admin users 8,5M 6. Aug 19:10 /home/admin/log/munin.diskstate.log Komischerweise habe ich das Problem nur auf meinem Server, den ich am Sonntag aktualisiert habe. Der Desktop PC und das Laptop haben das Problem nicht. Ich habe in YAST2 nachgesehen, es sind viele Perl Pakete installiert und auf allen PCs habe ich das Repository https://download.opensuse.org/repositories/devel:/languages:/perl/15.5/ definiert. Ausser Packman haben alle Repositories die Prio 98 Auf dem Server UND auch auf dem Desktop PC sind die Perl AddOn Pakete aus SUSE LLC oder aus devel:/languages:/perl. Aber trotz diesem Mischmasch funktioniert es auf den Desktop. Ich habe alle installierten Perl-Pakete noch einmal installieren lassen, keine Besserung. Perl selbst ist die Version 5.26.1-150300.17.11.1 von SUSE LLC https://www.suse.com/ Auf Server als auch Desktop. Hat jemand eine Idee ? Danke für Hinweise. Werner Franke
![](https://seccdn.libravatar.org/avatar/9990e086bd973f56b231df090227bffd.jpg?s=120&d=mm&r=g)
Hallo, Nachtrag: Gestern hatte ich auch noch eine Mail von ROOT von dem Server nach dem Upgrade bekommen, mit der ich nichts anfangen konnte: Subject: logdigest localhost /var/log/messages: ________________________________________________________________________________ Messages matching keywords in the "alarming" list: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- (311 lines) 2023-08-07T00:00:08.583357+02:00 localhost sudo: pam_systemd(sudo:session): Failed to stat() runtime directory '/run/user/0': No such file or directory 2023-08-07T00:00:08.671600+02:00 localhost sudo: pam_systemd(sudo:session): Failed to stat() runtime directory '/run/user/0': No such file or directory 2023-08-07T00:00:39.745631+02:00 localhost systemd[1]: logrotate.service: Main process exited, code=exited, status=1/FAILURE 2023-08-07T00:00:39.745891+02:00 localhost systemd[1]: logrotate.service: Failed with result 'exit-code'. 2023-08-07T00:00:39.746672+02:00 localhost systemd[1]: Failed to start Rotate log files. Ich habe an dem Tag noch nachgesehen, "/run/user/0" hat es gegeben root@hpserver (-bash) ll -d /run/user/0 drwx------ 9 root root 220 8. Aug 10:10 /run/user/0 Eventuell hängt das mit meinem Perl Problem zusammen ? Weitere Mails wie oben habe ich nicht bekommen. Gruss Werner Am 08.08.23 um 10:37 schrieb Werner Franke:
Hallo zusammen,
ich habe einen merkwürdigen Effekt bei Perl-Scripts, nach einem Upgrade von 15.4 nach 15.5.
if ( -f "/home/admin/Buderus/Munin-ErtragContinue.csv" ) { ... } else { print "File not found.\n"; }
Das Script läuft immer in den else Zweig, obwohl es das File gibt und auch Leserechte bestehen. -rw-rw-r-- 1 admin users 2,0K 7. Aug 19:16 /home/admin/Buderus/Munin-ErtragContinue.csv
Auch ein open(logFP, ">> /home/admin/log/munin.diskstate.log") liefert "Permission denied" obwohl
-rw-rw-rw- 1 admin users 8,5M 6. Aug 19:10 /home/admin/log/munin.diskstate.log
Komischerweise habe ich das Problem nur auf meinem Server, den ich am Sonntag aktualisiert habe. Der Desktop PC und das Laptop haben das Problem nicht.
Ich habe in YAST2 nachgesehen, es sind viele Perl Pakete installiert und auf allen PCs habe ich das Repository
https://download.opensuse.org/repositories/devel:/languages:/perl/15.5/
definiert. Ausser Packman haben alle Repositories die Prio 98
Auf dem Server UND auch auf dem Desktop PC sind die Perl AddOn Pakete aus SUSE LLC oder aus devel:/languages:/perl. Aber trotz diesem Mischmasch funktioniert es auf den Desktop.
Ich habe alle installierten Perl-Pakete noch einmal installieren lassen, keine Besserung.
Perl selbst ist die Version 5.26.1-150300.17.11.1 von SUSE LLC https://www.suse.com/ Auf Server als auch Desktop.
Hat jemand eine Idee ?
Danke für Hinweise. Werner Franke
![](https://seccdn.libravatar.org/avatar/f7ca0d57e6444449cd9c2fbc17e15896.jpg?s=120&d=mm&r=g)
Am 08.08.23 10:54 schrieb Werner Franke:
Hallo,
Nachtrag: Gestern hatte ich auch noch eine Mail von ROOT von dem Server nach dem Upgrade bekommen, mit der ich nichts anfangen konnte:
Subject: logdigest localhost
/var/log/messages: ________________________________________________________________________________
Messages matching keywords in the "alarming" list: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- (311 lines) 2023-08-07T00:00:08.583357+02:00 localhost sudo: pam_systemd(sudo:session): Failed to stat() runtime directory '/run/user/0': No such file or directory 2023-08-07T00:00:08.671600+02:00 localhost sudo: pam_systemd(sudo:session): Failed to stat() runtime directory '/run/user/0': No such file or directory 2023-08-07T00:00:39.745631+02:00 localhost systemd[1]: logrotate.service: Main process exited, code=exited, status=1/FAILURE 2023-08-07T00:00:39.745891+02:00 localhost systemd[1]: logrotate.service: Failed with result 'exit-code'. 2023-08-07T00:00:39.746672+02:00 localhost systemd[1]: Failed to start Rotate log files.
Ich habe an dem Tag noch nachgesehen, "/run/user/0" hat es gegeben root@hpserver (-bash) ll -d /run/user/0 drwx------ 9 root root 220 8. Aug 10:10 /run/user/0
Eventuell hängt das mit meinem Perl Problem zusammen ? Weitere Mails wie oben habe ich nicht bekommen.
Gruss Werner
Am 08.08.23 um 10:37 schrieb Werner Franke:
Hallo zusammen,
ich habe einen merkwürdigen Effekt bei Perl-Scripts, nach einem Upgrade von 15.4 nach 15.5.
if ( -f "/home/admin/Buderus/Munin-ErtragContinue.csv" ) { ... } else { print "File not found.\n"; }
Das Script läuft immer in den else Zweig, obwohl es das File gibt und auch Leserechte bestehen. -rw-rw-r-- 1 admin users 2,0K 7. Aug 19:16 /home/admin/Buderus/Munin-ErtragContinue.csv
Auch ein open(logFP, ">> /home/admin/log/munin.diskstate.log") liefert "Permission denied" obwohl
-rw-rw-rw- 1 admin users 8,5M 6. Aug 19:10 /home/admin/log/munin.diskstate.log
Komischerweise habe ich das Problem nur auf meinem Server, den ich am Sonntag aktualisiert habe. Der Desktop PC und das Laptop haben das Problem nicht.
Ich habe in YAST2 nachgesehen, es sind viele Perl Pakete installiert und auf allen PCs habe ich das Repository
https://download.opensuse.org/repositories/devel:/languages:/perl/15.5/
definiert. Ausser Packman haben alle Repositories die Prio 98
Auf dem Server UND auch auf dem Desktop PC sind die Perl AddOn Pakete aus SUSE LLC oder aus devel:/languages:/perl. Aber trotz diesem Mischmasch funktioniert es auf den Desktop.
Ich habe alle installierten Perl-Pakete noch einmal installieren lassen, keine Besserung.
Perl selbst ist die Version 5.26.1-150300.17.11.1 von SUSE LLC https://www.suse.com/ Auf Server als auch Desktop.
Hat jemand eine Idee ?
Danke für Hinweise. Werner Franke
Hallo Werner, ein Schuss ins Blaue: Die "Berechtigungen" (rwx---... ) die Du mit ls siehst kommen vom Dateisystem. Aber vielleicht legen Dich grad irgendwelche ACLs rein... Vielleicht wurde irgendwas durch das upgrade auf 15.5 "restrictiver". Schau Dir mal die gegenständliche Datei mit "lsattr" an. "man acl" kann vielleicht auch helfen Grüße, Norbert
![](https://seccdn.libravatar.org/avatar/4c7c9c9e5756ed4c38882b8f2ef8b88a.jpg?s=120&d=mm&r=g)
Am Tue, Aug 08, 2023 at 12:13:41PM +0200 schrieb Norbert Zawodsky:
ein Schuss ins Blaue: Die "Berechtigungen" (rwx---... ) die Du mit ls siehst kommen vom Dateisystem. Aber vielleicht legen Dich grad irgendwelche ACLs rein... Vielleicht wurde irgendwas durch das upgrade auf 15.5 "restrictiver".
Eine ACL hätte man in dem 'ls -l' Output gesehen. Das ist das + in dem Beispiel da: -rw-r--r--+ 1 ulf ulf 0 Aug 8 12:24 test ^ hier Viele Grüße Ulf
![](https://seccdn.libravatar.org/avatar/9990e086bd973f56b231df090227bffd.jpg?s=120&d=mm&r=g)
Hallo Norbert, Ulf, Am 08.08.23 um 12:28 schrieb Ulf Volmer:
Am Tue, Aug 08, 2023 at 12:13:41PM +0200 schrieb Norbert Zawodsky:
ein Schuss ins Blaue: Die "Berechtigungen" (rwx---... ) die Du mit ls siehst kommen vom Dateisystem. Aber vielleicht legen Dich grad irgendwelche ACLs rein... Vielleicht wurde irgendwas durch das upgrade auf 15.5 "restrictiver".
Eine ACL hätte man in dem 'ls -l' Output gesehen. Das ist das + in dem Beispiel da:
-rw-r--r--+ 1 ulf ulf 0 Aug 8 12:24 test ^ hier
Stimmt. Es gibt da keine ACLs. admin@hpserver (-bash) [1005]: lsattr Buderus --------------e------- Buderus/Daten-2021.csv --------------e------- Buderus/ErtragTotal-2022.log --------------e------- Buderus/fhem-6.0 --------------e------- Buderus/ErtragTotal-2023.csv --------------e------- Buderus/Munin-ErtragContinue.csv --------------e------- Buderus/Munin-Daten.csv --------------e------- Buderus/convert_csv_file.pl --------------e------- Buderus/Daten-2023.csv --------------e------- Buderus/Daten-2022.csv.30.12.2022 lsattr: Die Operation wird nicht unterstützt Beim Lesen der Flags von Buderus/run_fhem.log --------------e------- Buderus/Daten_for_Calc-2021.csv --------------e------- Buderus/run_fhem_test.pl --------------e------- Buderus/run_fhem.pl --------------e------- Buderus/NotifiedErrors.dat --------------e------- Buderus/Daten.csv.SAVE --------------e------- Buderus/check_run_fhem.pl --------------e------- Buderus/Daten-2022.csv --------------e------- Buderus/ErtragTotal-2021.log --------------e------- Buderus/Daten_for_Calc-2023.csv --------------e------- Buderus/Daten_for_Calc-2022.csv lsattr: Die Operation wird nicht unterstützt Beim Lesen der Flags von Buderus/fhem Wie ihr eventuell bemerkt habe, hat das auch etwas mit munin zu tun, da dieser Name in den Dateien vorkommt. https://munin-monitoring.org/ Ich habe die Munin Config für meine selbstgeschriebenen Plugins so eingestellt, dass sie unter dem User munin laufen. Wenn ich als ROOT zu munin wechsle (sudo su munin -) und die Datei /home/admin/log/munin.diskstate.log mit dem vi öffne, dann ist sie änderbar und ich kann eine Änderung auch speichern. Das Perl Script arbeitet auch fehlerfrei, wenn ich das Script direkt unter dem User munin laufen lasse. Die Fehler bekomme ich nur, wenn ich ein Perl-Script über munin-run --pidebug heizung config starte. 'heizuung' ist der Name des Scripts. Es scheint also mit der Munin Installation zusammenzuhängen. Seit dem Upgrade auf 15.5 arbeitet Munin auch nicht mehr ohne Probleme. Einige selbstgeschriebene Plugins, die vorher problemlos funktioniert haben, funktionieren seit dem nicht mehr. Beim Upgrade wurde auch munin-node-2.0.72-bp155.1.5.noarch (Haupt-Repository (OSS)) munin-2.0.72-bp155.1.5.noarch (Haupt-Repository (OSS)) aktualisiert. Falls hier niemend noch eine Idee hat, muss ich da dann bei Munin nachfragen. Danke. viele Grüße Werner
![](https://seccdn.libravatar.org/avatar/4c7c9c9e5756ed4c38882b8f2ef8b88a.jpg?s=120&d=mm&r=g)
Am Tue, Aug 08, 2023 at 06:07:40PM +0200 schrieb Werner Franke:
Wie ihr eventuell bemerkt habe, hat das auch etwas mit munin zu tun, da dieser Name in den Dateien vorkommt. https://munin-monitoring.org/
Die systemd Unit für munin-node enthält leap155:~ # systemctl cat munin-node.service | grep ProtectHome ProtectHome=true und verhindert Deinen Zugriff. Du hast jetzt die Wahl, Dein Datenverzeichnis anderswohin zu verschieben oder für munin-node eine Overlay Datei zu erstellen, die die Einstellung wieder überschreibt. BTW: Ein analoger Bug-Report ist da: https://bugzilla.opensuse.org/show_bug.cgi?id=1212692 Evtl. legst Du einen für munin-node daneben. Viele Grüße Ulf
![](https://seccdn.libravatar.org/avatar/9990e086bd973f56b231df090227bffd.jpg?s=120&d=mm&r=g)
Am 08.08.23 um 18:07 schrieb Werner Franke:
Hallo Norbert, Ulf,
Am 08.08.23 um 12:28 schrieb Ulf Volmer:
Am Tue, Aug 08, 2023 at 12:13:41PM +0200 schrieb Norbert Zawodsky:
ein Schuss ins Blaue: Die "Berechtigungen" (rwx---... ) die Du mit ls siehst kommen vom Dateisystem. Aber vielleicht legen Dich grad irgendwelche ACLs rein... Vielleicht wurde irgendwas durch das upgrade auf 15.5 "restrictiver".
Eine ACL hätte man in dem 'ls -l' Output gesehen. Das ist das + in dem Beispiel da:
-rw-r--r--+ 1 ulf ulf 0 Aug 8 12:24 test ^ hier
Stimmt. Es gibt da keine ACLs.
admin@hpserver (-bash) [1005]: lsattr Buderus --------------e------- Buderus/Daten-2021.csv --------------e------- Buderus/ErtragTotal-2022.log --------------e------- Buderus/fhem-6.0 --------------e------- Buderus/ErtragTotal-2023.csv --------------e------- Buderus/Munin-ErtragContinue.csv --------------e------- Buderus/Munin-Daten.csv --------------e------- Buderus/convert_csv_file.pl --------------e------- Buderus/Daten-2023.csv --------------e------- Buderus/Daten-2022.csv.30.12.2022 lsattr: Die Operation wird nicht unterstützt Beim Lesen der Flags von Buderus/run_fhem.log --------------e------- Buderus/Daten_for_Calc-2021.csv --------------e------- Buderus/run_fhem_test.pl --------------e------- Buderus/run_fhem.pl --------------e------- Buderus/NotifiedErrors.dat --------------e------- Buderus/Daten.csv.SAVE --------------e------- Buderus/check_run_fhem.pl --------------e------- Buderus/Daten-2022.csv --------------e------- Buderus/ErtragTotal-2021.log --------------e------- Buderus/Daten_for_Calc-2023.csv --------------e------- Buderus/Daten_for_Calc-2022.csv lsattr: Die Operation wird nicht unterstützt Beim Lesen der Flags von Buderus/fhem
Wie ihr eventuell bemerkt habe, hat das auch etwas mit munin zu tun, da dieser Name in den Dateien vorkommt. https://munin-monitoring.org/
Ich habe die Munin Config für meine selbstgeschriebenen Plugins so eingestellt, dass sie unter dem User munin laufen. Wenn ich als ROOT zu munin wechsle (sudo su munin -) und die Datei /home/admin/log/munin.diskstate.log mit dem vi öffne, dann ist sie änderbar und ich kann eine Änderung auch speichern.
Das Perl Script arbeitet auch fehlerfrei, wenn ich das Script direkt unter dem User munin laufen lasse.
Die Fehler bekomme ich nur, wenn ich ein Perl-Script über
munin-run --pidebug heizung config
starte. 'heizuung' ist der Name des Scripts.
Es scheint also mit der Munin Installation zusammenzuhängen. Seit dem Upgrade auf 15.5 arbeitet Munin auch nicht mehr ohne Probleme. Einige selbstgeschriebene Plugins, die vorher problemlos funktioniert haben, funktionieren seit dem nicht mehr.
Beim Upgrade wurde auch munin-node-2.0.72-bp155.1.5.noarch (Haupt-Repository (OSS)) munin-2.0.72-bp155.1.5.noarch (Haupt-Repository (OSS)) aktualisiert.
Falls hier niemend noch eine Idee hat, muss ich da dann bei Munin nachfragen.
Ich habe für mich eine erst einmal funktionierende Lösung gefunden. Ich habe die beiden Dateien in die Home Directory des Users munin kopiert. /var/lib/munin Dort funktioniert das Perl Script. Es geht also nur dann nicht, wenn Munin auf Dateien ausserhalb seiner Umgebung zugreifen soll. Warum auch immer. Die beiden Daten Files muss ich jetzt nur noch nach einer Änderung nach /var/lib/munin kopieren. Das geht. Hab's ausprobiert. Gruee Werner
![](https://seccdn.libravatar.org/avatar/9990e086bd973f56b231df090227bffd.jpg?s=120&d=mm&r=g)
Am 08.08.23 um 18:46 schrieb Ulf Volmer:
Am Tue, Aug 08, 2023 at 06:39:18PM +0200 schrieb Werner Franke:
Dort funktioniert das Perl Script. Es geht also nur dann nicht, wenn Munin auf Dateien ausserhalb seiner Umgebung zugreifen soll. Warum auch immer.
Das warum habe ich 4 Minuten vorher gepostet. :-)
DANKE :-) Gruss Werner
![](https://seccdn.libravatar.org/avatar/4c7c9c9e5756ed4c38882b8f2ef8b88a.jpg?s=120&d=mm&r=g)
Am Tue, Aug 08, 2023 at 10:37:11AM +0200 schrieb Werner Franke:
if ( -f "/home/admin/Buderus/Munin-ErtragContinue.csv" ) { ... } else { print "File not found.\n"; }
Das Script läuft immer in den else Zweig, obwohl es das File gibt und auch Leserechte bestehen. -rw-rw-r-- 1 admin users 2,0K 7. Aug 19:16 /home/admin/Buderus/Munin-ErtragContinue.csv
Stimmen die Rechte für die darüberliegenden Directories? Kontrolle mit ls -ld /home/admin/Buderus /home/admin /home Viele Grüße Ulf
![](https://seccdn.libravatar.org/avatar/9990e086bd973f56b231df090227bffd.jpg?s=120&d=mm&r=g)
Am 08.08.23 um 11:56 schrieb Ulf Volmer:
Am Tue, Aug 08, 2023 at 10:37:11AM +0200 schrieb Werner Franke:
if ( -f "/home/admin/Buderus/Munin-ErtragContinue.csv" ) { ... } else { print "File not found.\n"; }
Das Script läuft immer in den else Zweig, obwohl es das File gibt und auch Leserechte bestehen. -rw-rw-r-- 1 admin users 2,0K 7. Aug 19:16 /home/admin/Buderus/Munin-ErtragContinue.csv
Stimmen die Rechte für die darüberliegenden Directories?
Kontrolle mit
ls -ld /home/admin/Buderus /home/admin /home
Die sind alle auf 775 oder 755, sollte also passen, aber ich habe schon vorhin geschrieben, das das Problem mit dem Tool Munin zusammenhängt. Nur dort habe ich die Probleme. Gruss werner
participants (3)
-
Norbert Zawodsky
-
Ulf Volmer
-
Werner Franke