• Café
  • Automatisiertes Paketupgrade

Hallo
Es ist genau so nach jeden Pc Start oder reboot wird eine ---Boot Zeile erzeugt und das Script zeigt eine - Zeit an.
Wenn das Script das zweiten mal startet ist alles OK
Möglicherweise bin ich aber Schuld daran durch meine Timer Einstellung.

[Timer]
OnBootSec=5min
OnUnitActiveSec=15min
Persistent=true

[Install]
WantedBy=multi-user.target

Ich bin mir nicht sicher ob nur Endeavour diese ---boot Zeile in das journal schreibt.
Auf meinen Arch Pc sieht eine Abfrage so aus.

journalctl -u shadow.service -g Started | tail -2
-- Boot 039d1183c54d4093af81480cf2c7a245 --
Jan 28 17:08:23 linux-pc6 systemd[1]: Started Verify integrity of password and group files.

Mir ist noch etwas aufgefallen. In der .config/ureminder.config war Days=1 eingetragen. In der /etc/ureminder.config war Days=7 eingetragen.
Im Log wird + days=7 angezeigt, nachdem auch in der /etc/ureminder.config war Days=1 eingetragen wurde wird das auch im Log angezeigt.

Hier die Zusammenfassung von Heute

journalctl -u ureminder.service -g Started -r -n2 -o short-unix | grep ureminder.service | awk '{print substr($1, 1, length($1) -7)}'
1738010796
1738009261
#
reboot
systemctl list-timers
NEXT                            LEFT LAST                         PASSED UNIT                             ACTIVATES
Tue 2025-01-28 20:24:21 CET  3min 9s Mon 2025-01-27 21:46:36 CET       - ureminder.timer                  ureminder.service
#
ls -la /var/log/ureminder*
-rw-r--r-- 1 root root 12830 28. Jan 20:24 /var/log/ureminder.log
#
systemctl list-timers
NEXT                            LEFT LAST                          PASSED UNIT                             ACTIVATES
Tue 2025-01-28 20:39:25 CET    14min Tue 2025-01-28 20:24:25 CET  50s ago ureminder.timer                  ureminder.service
#
sudo mv /var/log/ureminder.log /var/log/ureminder-t4.log
#
journalctl -u ureminder.service -g Started | tail -4
Jan 27 21:21:01 rk-7072 systemd[1]: Started ureminder.service.
Jan 27 21:46:36 rk-7072 systemd[1]: Started ureminder.service.
-- Boot 97eaedf8c8e94e9583efd1f89a8c4061 --
Jan 28 20:24:25 rk-7072 systemd[1]: Started ureminder.service.
#
journalctl -u ureminder.service -g Started | tail -4
Jan 27 21:46:36 rk-7072 systemd[1]: Started ureminder.service.
-- Boot 97eaedf8c8e94e9583efd1f89a8c4061 --
Jan 28 20:24:25 rk-7072 systemd[1]: Started ureminder.service.
Jan 28 20:39:35 rk-7072 systemd[1]: Started ureminder.service.
#
sudo mv /var/log/ureminder.log /var/log/ureminder-t5.log
#
journalctl -u ureminder.service -g Started | tail -5
Jan 27 21:46:36 rk-7072 systemd[1]: Started ureminder.service.
-- Boot 97eaedf8c8e94e9583efd1f89a8c4061 --
Jan 28 20:24:25 rk-7072 systemd[1]: Started ureminder.service.
Jan 28 20:39:35 rk-7072 systemd[1]: Started ureminder.service.
Jan 28 20:54:38 rk-7072 systemd[1]: Started ureminder.service.
#
sudo mv /var/log/ureminder.log /var/log/ureminder-t6.log

Bei Bedarf können die Log Dateien nachgereicht werden.

  • tuxnix hat auf diesen Beitrag geantwortet.
    • Bearbeitet

    Gerry_Ghetto Mit einer vernünftigen Validierung der Daten (input) hätte man dieses Problem abfangen können.

    Die liebe Vernunft!
    Ich lese doch nur das ein, was systemed "vernünftiger Weise" nötiert hat.
    Und ja, ich hätte erst einmal validieren müssen, ob meine Vorstellungen von Vernunft und die Vernunft derer die systemd machen, an dieser Stelle mit einander korrelieren.
    Aber die einzige Methode das herauszufinden ist try & error.
    Jedenfalls stellte ich mir vernünftiger Weise vor, dass wenn ich die Startzeiten eines service abfrage auch die Startzeiten des service erhalte und nicht noch ein: "Darf's ein bisschen mehr sein." (und die -g Option bei journalctl so dachte ich, käme von grep.) Und auf meinem Pc hat es bisher ja auch immer danach ausgesehen, als wäre es so. Aber ja, ich kann mich irren. Das tue ich sogar häufig und dann wird es halt wieder korrigiert.
    Und ja, du hast recht, jetzt nachdem ich endlich weiß wo der Haase im Pfeffer liegt, sehe ich, dass wenn ich ein journalctl -u ureminder.service -g Started -n1000 tätige auch mal ab und an eine einsame Zeile mit -- Boot 97eaedf8c8e94........- zwischendurch auftaucht. Und ja, auch Endevour ist hiermit entlastet.

    md_39118
    Möglicherweise bin ich aber Schuld daran durch meine Timer Einstellung.

    Nein, der Timer löst aus, mehr will man von ihm nicht.
    Und ja, bei mir schreibt er auch die -- Boot Zeile, Das ist mir aber bisher nie aufgefallen. Ich boote recht selten. Deshalb hab ich auch nie die "minus Minuten" gesehen.
    Endevours ist in dem Punkt auch wieder entlastet. (s. oben)

    md_39118 Mir ist noch etwas aufgefallen. In der .config/ureminder.config war Days=1 eingetragen. In der /etc/ureminder.config war Days=7 eingetragen.....

    Ist mir inzwischen auch aufgefallen. Das ist bei mir schon korrigiert, aber die Korrektur noch nicht ausgeliefert. Die user-config sollte dann immer die ausschlaggebende sein.

    Ich bin gerade dabei die Validierung der Eingaben in der user-config Datei zu erarbeiten.
    Ob es so bleibt oder noch modifiziert wird, weiß ich jetzt auch noch nicht, jedenfalls ist Stand der Dinge dass das script den Inhalt der Arrays in der ~/...config für GUIs, APPS und StopUpgd darauf hin überprüft, ob es sich dabei um installierte Pakete handelt und falls nicht, darüber informiert und irrelevante Angaben dann auch selbsttätig löscht.
    (Es ist recht ungewöhnlich es so zu handhaben, aber hätte den Vorteil, dass die ~/.....config nur Eingaben hat, die auch etwas bewirken und Typos ect. pp. ausgeschlossen sind.
    Ohnehin spricht das script lediglich Empfehlungen aus, falls ein Upgrade eines installierten Paketes ansteht. Alles was kein installierte Paket ist, hat deshalb auch in der ~/...config nichts zu suchen. Das Löschen jedenfalls ändert nichts am System, sondern sorgt lediglich für eine kurze Laufzeit des scripts. Und das script selbst macht eigentlich auch nicht viel, außer dem user nette Hinweise zu geben. )

    Werden die auto upgrade Zeiten bei dir jetzt richtig angezeigt?

    Dann könnten wir dann auch ein Häkchen dahinter machen.

    Version 0.9.2-1 mit den beschriebenen Änderungen folgt auf dem Fuße.

    Es gibt Dinge, die weiss man. Es gibt Dinge, die lernt man. Und es gibt Dinge, die meint man.

    Programmieren lernt man, indem man programmiert. Und dabei fliegt man oft auf die Schnauze, aber das ist auf längere Sicht etwas gutes, weil man idealerweise daraus lernt.

    Nimm dir die Kritik am Code nicht zu Herzen, denn es ist Kritik am Code und nicht an deiner Person.

      • Bearbeitet

      Gerry_Ghetto

      1. Ich nehme es mir immer zu Herzen wenn du etwas sagst.
      2. Dann grummele ich erst einmal.
      3. Dann schau ich nochmal richtig nach.
      4. Und dann merke ich, dass ich wieder etwas dazugelernt habe.

      Also recht vielen Dank für deine Kritik!
      ....und die aufmunterden Worte.

      Gerry_Ghetto Nimm dir die Kritik am Code nicht zu Herzen, denn es ist Kritik am Code und nicht an deiner Person.

      Code von anderen ist aus eigener Sicht immer Scheiße. Besonders jener des Vergangenheits-Ich.

      Hallo
      Werden die auto upgrade Zeiten bei dir jetzt richtig angezeigt?
      So wie ich das Bild von Gestern sehe "JA"

      • tuxnix hat auf diesen Beitrag geantwortet.
        • Bearbeitet

        md_39118

        Jein! Bei der unteren Meldung steht noch ein klitzekleines Minuszeichen vor der Eins. Zeitparadoxien sind wirklich überaus nachhaltig..... 😉 Ich habe da Filme gesehen 😱 ....
        Wenn du magst kannst du versuchen der Sache auf die Spur zu kommen.
        Die Option -l nutzen und falls sowas wieder vorkommt mit z.B kate die /var/log/uremiunder.log öffnen und schauen wo das Minuszeichen herkommt. Da ist nur der Abschnitt von NOW bis MINUTES interessant.
        Im Zweifelsfall kopieren und den Inhalt dann hier ins Forum beamen.😎
        War der untere screenshot nach einem Neustart?

        //edit

        Hallo
        Ja der untere screenshot ist nach dem Einschalten erstellt, der obere nachdem der Timer das Script 15 Min. später startet.

        • Bearbeitet

        Hmm mal weiter beobachten ob das nur nach dem booten auftaucht. Den service mit der -l Option ausstatten. Und dann abwarten und schaun. Minus 1 Minute ist eventuell auch dadurch möglich, wenn der systemd.timer mit dem Auslösen 1. Minute Verspätung hat. Das ist in der Toleranz. Man kann den auch auf accuracy einstellen, wenn man es ganz genau haben will. Aber so what, es geht ja nicht um's exakt wachsweich gekochte Frühstücksei 🥚.
        (Wenn im log. DAYS und HOURS (großgeschrieben) =0 sind, würde ich MINUTES=-1 tollerieren.)

        Hallo
        Hier nochmal zur letzten Abfrage von Gestern.
        Um 20:24:25 erfogte der 1. Start nach dem reboot in der *-t4.log steht dann "DAYS=-20116 DREST=-64877 HOURS=-18 MINUTES=-1"
        Um 20:39:35 erfogte der 2. Start durch (Timer 15min) die *-t5.log zeigt nun "DAYS=0 DREST=5011 HOURS=1 MINUTES=23"
        Um 20:54:38 erfogte der 3. Start durch (Timer 15min) die *-t6.log zeigt nun "DAYS=0 DREST=4101 HOURS=1 MINUTES=8"

        journalctl -u ureminder.service -g Started | tail -5
        Jan 27 21:46:36 rk-7072 systemd[1]: Started ureminder.service.
        -- Boot 97eaedf8c8e94e9583efd1f89a8c4061 --
        Jan 28 20:24:25 rk-7072 systemd[1]: Started ureminder.service.
        Jan 28 20:39:35 rk-7072 systemd[1]: Started ureminder.service.
        Jan 28 20:54:38 rk-7072 systemd[1]: Started ureminder.service.
        • tuxnix hat auf diesen Beitrag geantwortet.
          • Bearbeitet

          md_39118
          Gestern war gestern. (Ich hab da noch gleichzeitig Variablen umgestellt) Also vergessen wir das mal.

          DAYS=0 HOURS=1 MINUTES=23 sieht gut aus.
          DAYS=0 HOURS=1 MINUTES=8 ist auch gut.
          (Dein Timer ist auf 15min eingestellt 😉 )

          Falls wieder einmal -1 Minute erscheint, dann ist es wichtig auch DAYS= und HOURS= anzuschauen. Nur wenn dann auch dort negative Werte auftauchen, dann liegt was im Argen.

          5 Tage später

          Hallo
          Am 2.2.2025 habe ich mit trizen -S ureminder-git die Version "0.9.2-1" Installiert.
          Vorher wurde alles alte gelöscht. Im Timer habe ich wieder "OnBootSec=5min" eingetragen.
          In /etc/ureminder.config wurde Days=3 eingetragen.
          In .config/ureminder.config wurde Days=1 eingetragen.
          Nach einen reboot startet ureminder erkennt 55 neue Pakete und holt sie auch.
          Dann wurde es merkwürdig der Monitor wird mit Meldungen geflutet "Bild 1" nach wegklicken aller 55 Meldungen ist "Bild 2" zu sehen.
          Ein Upgrade erfolgte nicht.
          Die Log Datei ist 74KiB groß und wird angehängt.


          Ups das log ist wohl zu groß max. 65535 Zeichen.

          • Bearbeitet

          Ja, das hab ich angekündigt, du hast es wohl nicht auf Anhieb verstanden, was ich meinte.
          Ich weiß auch nicht ob ich es so lassen werde, aber es ist erst einmal alles o.K. so.

          In der /etc/ureminder.config (die solltest du übrigens auch gar nicht selbst bearbeiten. Immer wenn du eine ~/.config/ureminder.config angelegt hast, gelten diese Angaben.) sind sehr viele GUIs aufgelistet. Der Sinn ist, dass ein user der keine eigene ~/.config/ureminder.config anlegt, trotz allem eine Nachricht erhält ( Usersession neu starten! ) falls die GUI die er gerade laufen hat ein Paket upgrade erfährt. Deshalb sind die dort alle aufgelistet. Der User der eine eigene config anlegt, sollte alle Pakete die nicht installiert sind aus seiner config löschen.
          Ansonsten löscht das ureminder skript beim ersten Lauf alles unnötige raus und gibt auf dem Desktop eine 'Nachricht aus, dass der Eintrag aus der user eigenen config gelöscht wurde. Das sind die vielen Nachrichten die du siehst. Ich schau mal, ich könnte das auch in einer Nachricht zusammenfassen. Das wäre vielleicht weniger irritierend.

          Das selbe passiert, wenn du "uw7ww" in deine config reinschreibst oder du einen Typo bei einem Paketnamen hast. Du bekommt eine Nachricht, dass Paket uw7ww nicht installiert ist und dass der Eintrag deshalb aus deiner user config gelöscht wurde.


          Hallo
          Aha dann sehe ich mir mal meine .config Datei an und Beobachte den nächsten Start.

          Schreib doch einmal so etwas wie "k2rx1000" bei GUIs= oder bei APPS= rein.
          Dann bekommst du beim nächsten Lauf die Nachricht, dass "k2rx1000" nicht installiert ist und aus der config gelöscht wurde.

          Hallo
          Jetzt sieht es gut aus ich hatte APPS=rs100 eingetragen das wird aus der ureminder.config gelöscht.
          Das Upgrade wurde durchgeführt. Mich haben nur die vielen Meldungen beim ersten Start verwirt.

          ein Monat später

          Hallo
          Seit einiger Zeit werden auf dem Monitor keine Notify Meldungen mehr angezeigt ob das mit diesem Paket Update vom 24.2.2025 zusammenhängt kann ich nicht sagen.
          extra/knotifyconfig 6.10.0-1 6.11.0-1 0,00 MiB

          Im Moment sieht es so aus die Journal Meldung ist noch OK, auf dem Monitor kommt keine Meldung mehr.
          Mär 16 17:38:24 rk-7072 sudo[10979]: root : PWD=/ ; USER=ralf ; ENV=DISPLAY= DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus ; COMMAND=/usr/bin/notify-send 'linux Upgrade:' 'New kernen version will run next boot' -a ureminder -t 0 -u normal -r 1

          Versuch 1

          notify-send 'linux Upgrade:' 'New kernen version will run next boot' -a ureminder -t 0 -u normal -r 1
          Mär 16 17:46:57 rk-7072 plasmashell[749]: org.kde.plasma.notificationmanager: Trying to replace notification with id 1 which doesn't exist, creating a new one. This is an application bug!

          Versuch 2

          sudo notify-send 'linux Upgrade:' 'New kernen version will run next boot' -a ureminder -t 0 -u normal -r 1
          Fehler beim Erzeugen der Befehlszeile »dbus-launch --autolaunch=ee215cf214d04739abca62b2714c0302 --binary-syntax --close-stderr«: Der Kindprozess wurde mit Status 1 beendet

          Notify-send wurde geändert. Ein notify-send -t 0 war zuvor eine Nachricht die vom user selbst weggeklickt werden musste. Jetzt ist es eine Nachricht von 0 millisec.
          Ich hab das bei ureminder-git v.0.9.4 korrigiert und es müsste wieder anzeigen, wenn du ein upgrade machst.