Arch-update Timer konfigurieren

Hallo
Seit kurzem nutze ich arch-update. Dazu gibt es eine Einstellung wann nach Updates gesucht wird.

Damit startet man die Timer Einstellung:
systemctl --user edit --full arch-update.timer

Bei mir sieht das so aus:

[Unit]
Description=Run arch-update auto check at boot and then every hour

[Timer]
OnStartupSec=15
OnUnitActiveSec=1h

[Install]
WantedBy=timers.target

Wichtig ist die Einstellung unter [Timer] Das heist, 15 Sekunden nach Desktop Start wird nach Updates gesucht und dann jede Stunde.
Wie kann ich das konfigurieren das er nur einmal täglich nach Updates sucht und nicht bei jedem Systemstart?

Wäre auch einmal wöchentlich möglich?! Oder alle zwei Tage?

Hallo,

laut der Git-Site von Arch-Update ist das dort gut beschrieben: Time units are s for seconds, m for minutes, h for hours, d for days...
also OnUnitActiveSec=1h in OnUnitActiveSec=1d ändern.

BTW: Warum nutzt Du nicht den hauseigenen endeavouros-update-notifier?

Bye
nabashi

Wenn du Zeile OnUnitActiveSec=1h entfernst, sollte nur direkt nach dem Start des Rechners nach Updates gesucht werden. Startest du später am Tag den Rechner neu und es sind keine neuen Updates dazugekommen, käme auch kein erneutes Popup mehr. Die gefundenen Updates werden in einer Datei gespeichert. Und nur, wenn neue Updates hinzukommen, gibt es eine Benachrichtigung.

Du könntest auch ganz auf den Timer und das Trayicon verzichten und einfach manuell ein Mal am Tag Arch-Update starten.

Ja, das ist ja mein Problem. Bei mir gibt es 3 - 5 Updatemeldungen am Tag. Einmal würde mir reichen.

Ich hatte mal 24h eingetragen, das hat nicht funktioniert. ok, ich probier mal 1d

Hatte ich mal, hat bei mir nicht richtig funktioniert:

Dann würde ich tatsächlich komplett auf die automatische Suche verzichten und vor dem Herunterfahren Arch-Update manuell ausführen.

1 Like

Du kannst aber auch eine bestimmte Uhrzeit einstellen.

[Unit]
Description=Run arch-update daily

[Timer]
OnCalendar=*-*-* 09:00:00
Persistent=true

[Install]
WantedBy=timers.target

Das wäre dann z.B.: um 9 Uhr morgens.

Danach den Timer neu laden und aktivieren.

systemctl --user daemon-reload
systemctl --user enable --now arch-update.timer

Vielleicht hilft dir das weiter.

2 Likes

Ja, ich danke dir. Wuste gar nicht das es diese Option gibt.
Ich nehme an, OnCalendar=*-*-* sagt aus das es an jedem Kalendertag gestartet wir, in diesem Fall eben um 9 Uhr morgens

Ich habe zwar die Anleitung bei Github gründlich durchgelesen, aber solche [Timer] Optionen habe ich nicht gefunden.
Wo kann man das nachlesen, möglicherweise gibt es da noch mehr?

Oder ist das allgemeines Wissen über die systemd Optionen wie ein [Unit] aufgebaut wird?

Hier finden Sie einige Informationen:

Und:

2 Likes

Genau so ist es - ich hoffe ich konnte helfen.

1 Like

Danke Leute, jetzt kann mich mir den Timer setzen wie ich es brauche.

Das wusste ich auch nicht. Mich würde interessieren, ob das tatsächlich funktioniert.

Was passiert, wenn ich erst um 10 Uhr online gehe? Wird der Scan, der um 9 Uhr hätte stattfinden sollen, nachgeholt? Oder würde dann erst am nächsten Tag um 9 Uhr erneut gescannt werden?

Wenn Sie „Persistent=true“ hinzufügen, wird der Dienst sofort ausgelöst, wenn er die letzte Startzeit verpasst hat. (Übersetzt mit deepl)

https://wiki.archlinux.org/title/Systemd/Timers#Realtime_timer

2 Likes

Thanks, @Stagger_Lee ! :wink:

2 Likes

Jetzt habe ich den Timer auf 7:00 Uhr gesetzt aber er meldet sich nicht mehr, obwohl Updates da sind.

[Unit]
Description=Run arch-update auto check at boot and then every hour

[Timer]
OnCalendar=*-*-* 07:00:00
Persistent=true

[Install]
WantedBy=timers.target

Auch das habe ich nach der Änderung ausgeführt:

systemctl --user daemon-reload
systemctl --user enable --now arch-update.timer

Dennoch passiert … nichts. Was mache ich falsch?

Wenn du eine Zeit definieren willst, kannst du dies sehr gut testen mit systemd-analyze

Beispiel:


  systemd-analyze calendar Weekly
  systemd-analyze calendar '5..21:0/15'

Was soll denn passieren? Wir haben ja noch nicht 07:00h.

Ergänzend: ich würde den Status angucken

systemctl --user list-timers

Wie soll ich das verstehen?! Wenn das ein Scherz gewesen sein sollte, habe ich den nicht verstanden, sorry.
Wenn es heute 12:00 Uhr ist und ich stelle den Timer auf vergangene Zeit, also 9:00 Uhr, muss das in diesem Moment anspringen (dank Persistent=true) wo ich die Datei abspeichere und systemctl aktualisiere.
Das hat sogar mal funktioniert aber jetzt tut es das nicht mehr.

Ok, Timer steht auf 9:00 Uhr

systemctl --user --all list-timers
NEXT                         LEFT LAST                         PASSED UNIT              ACTIVATES          
Sat 2025-07-05 09:00:00 CEST  22h Fri 2025-07-04 09:28:16 CEST      - arch-update.timer arch-update.service


Ist eigentlich selbsterklärend, angeblich startete der timer um 9:00 Uhr, das Update wird aber nicht angestoßen.
Es stehen aber schon welche an …:

checkupdates
breezy 3.3.11-1 -> 3.3.12-1
ca-certificates-mozilla 3.113-1 -> 3.113.1-1
hwdata 0.396-1 -> 0.397-1
kaccounts-integration 25.04.2-1 -> 25.04.3-1
kdenlive 25.04.2-1 -> 25.04.3-1
kjournald 25.04.2-1 -> 25.04.3-1
lib32-nss 3.113-1 -> 3.113.1-1
libjxl 0.11.1-3 -> 0.11.1-4
libvirt 1:11.4.0-1 -> 1:11.5.0-1
lsof 4.99.4-1 -> 4.99.5-1
nss 3.113-1 -> 3.113.1-1
pacman-mirrorlist 20250522-1 -> 20250702-2
python-fonttools 4.58.4-1 -> 4.58.5-1
signon-kwallet-extension 25.04.2-1 -> 25.04.3-1

Ich blick nicht mehr durch, erst hat es funktioniert, jetzt nicht mehr.
Und laut systemctl --user --all list-timers wurde es auch abgearbeitet. Kommt irgendwie nicht an.
Jedenfalls zeig das Icon in der Taskleiste kein Update an, es bleibt einfarbig, Wenn Updates anstehen, sollte es einen roten Punkt zeigen.
Erst wenn ich aufs Icon klicke, kommt der rote Punkt und das Update Terminal erscheint.

Hat noch jemand eine Idee?

Das ist völliger Quatsch. Du kannst keinen Timer auf eine vergangene Zeit stellen. Ich habe jetzt ca. 10:42h. Wenn ich jetzt einen Timer definiere mit einer Zeit, wie z.b. 5:00h, dann geht es um das nächste Mal, wenn es 5:00h ist, also Morgen früh um 5:00h

Der Timer ist laut Auskunft von list-timers Fri 2025-07-04 09:28:16` gelaufen. Erstmal aus timer Sicht alles gut.

Wenn du mit der Aktion nicht zufrieden bist, dann solltest du mal gucken, was passiert ist.

systemctl --user status arch-update.service

Vergreif dich bitte nicht im Ton. Was du schreibst, stimmt einfach nicht :

Und selbst wenn es so wäre was du schreibst, sollte es doch am nächsten Tag funktionieren oder?
Tut es aber auch nicht.