I set up my microos server to have automatic updates, these are the exact commands I used:
systemctl enable --now transactional-update.timer
sudo vi /etc/transactional-update.conf (then put REBOOT_METHOD=systemd in there)
sudo mkdir /etc/systemd/system/transactional-update.timer.d/
sudo vi /etc/systemd/system/transactional-update.timer.d/local.conf
put
[Timer]
OnCalendar=--* 07:00:00
Persistent=true
in that file.
but later I noticed that the server updated itself and rebooted around 02:00 (i think thatβs the default), to check I ran systemctl list-timers transactional-update.timer and that gave the following:
NEXT LEFT LAST PASSED UNIT ACTIVATES
Sun 2026-07-19 07:27:48 CEST 5h 17min Sun 2026-07-19 01:45:12 CEST 25min ago transactional-update.timer transactional-update.service
1 timers listed.
Pass --all to see loaded but inactive timers, too.
~
Iβm sure I just did something wrong as itβs my first time setting up a MicroOS server
The plot thickens lol, just had it update and reboot at 01:16β¦ does anybody have any ideas why?
NEXT LEFT LAST PASSED UNIT ACTIVATES
Tue 2026-07-21 07:47:45 CEST 6h Tue 2026-07-21 01:16:59 CEST - transactional-update.timer transactional-update.service
1 timers listed.
Pass --all to see loaded but inactive timers, too.
I suspect itβs still using the system version of transactional-update.timer you need to run systemctl status transactional-update.timer and where itβs pointing to.
Is it still pointing at the /usr/lib/systemd/system?
thank you for helping, really appreciate it I ran with and without sudo, hereβs the output:
systemctl status transactional-update.timer
β transactional-update.timer - Daily update of the system
Loaded: loaded (/usr/lib/systemd/system/transactional-update.timer; enabled; preset: enabled)
Drop-In: /etc/systemd/system/transactional-update.timer.d
ββlocal.conf
Active: active (waiting) since Tue 2026-07-21 01:18:10 CEST; 25min ago
Invocation: 8686e1ad391f4a16923bfe326a7e790d
Trigger: Tue 2026-07-21 07:47:45 CEST; 6h left
Triggers: β transactional-update.service
Docs: man:transactional-update(8)
Warning: some journal files were not opened due to insufficient permissions.
tony@localhost:~> sudo systemctl status transactional-update.timer
[sudo] password for root:
β transactional-update.timer - Daily update of the system
Loaded: loaded (/usr/lib/systemd/system/transactional-update.timer; enabled; preset: enabled)
Drop-In: /etc/systemd/system/transactional-update.timer.d
ββlocal.conf
Active: active (waiting) since Tue 2026-07-21 01:18:10 CEST; 25min ago
Invocation: 8686e1ad391f4a16923bfe326a7e790d
Trigger: Tue 2026-07-21 07:47:45 CEST; 6h left
Triggers: β transactional-update.service
Docs: man:transactional-update(8)
Jul 21 01:18:10 localhost.localdomain systemd[1]: Started Daily update of the system.
No worries! I appreciate all help, donβt worry Iβm not in a hurry
I think I figured out the issue, somehow I think my transactional-update.conf was invalid or maybe it was overwritten since I never stopped the timer before editing, but I ran sudo vi /etc/systemd/system/transactional-update.timer again and it looked like a preset, so I edited it to look like this:
[Unit]
Description=Daily update of the system
Documentation=man:transactional-update(8)
After=network.target local-fs.target
[Timer]
OnCalendar=--* 07:00:00
AccuracySec=1m
Persistent=true
[Install]
WantedBy=timers.target
then ran:
systemctl daemon-reload
systemctl status transactional-update.timer
and now the output is:
tony@localhost:~> systemctl status transactional-update.timer
β transactional-update.timer - Daily update of the system
Loaded: loaded (/etc/systemd/system/transactional-update.timer; enabled; preset: enabled)
Drop-In: /etc/systemd/system/transactional-update.timer.d
ββlocal.conf
Active: active (waiting) since Fri 2026-07-24 07:04:40 CEST; 18h ago
Invocation: ce66c09e7cf84ed9937583425d9b4b7c
Trigger: Sat 2026-07-25 07:00:00 CEST; 5h 43min left
Triggers: β transactional-update.service
Docs: man:transactional-update(8)
Warning: some journal files were not opened due to insufficient permissions.
So I think itβs a success thank you for all help I wouldnβt have figured it out otherwise! Now just to wait and seee if it actually updates
I think it works! if I runsudo snapper list I get the following output:
[sudo] password for root:
# β Type β Pre # β Date β User β Used Space β Cleanup β Description β Userdata
βββββΌβββββββββΌββββββββΌβββββββββββββββββββββββββββββββββββΌβββββββΌβββββββββββββΌββββββββββΌβββββββββββββββββββββββββΌββββββββββββββ
0 β single β β β root β β β current β
15 β single β β Fri 17 Jul 2026 07:25:47 AM CEST β root β 16.12 MiB β number β Snapshot Update of #12 β important=yes
16 β single β β Sat 18 Jul 2026 12:57:27 AM CEST β root β 9.69 MiB β number β Snapshot Update of #15 β important=yes
18 β single β β Sun 19 Jul 2026 01:45:23 AM CEST β root β 14.03 MiB β number β Snapshot Update of #16 β important=yes
22 β single β β Tue 21 Jul 2026 01:17:10 AM CEST β root β 15.05 MiB β number β Snapshot Update of #18 β important=yes
26 β single β β Thu 23 Jul 2026 12:50:31 AM CEST β root β 12.42 MiB β number β Snapshot Update of #22 β important=yes
28 β single β β Fri 24 Jul 2026 07:00:15 AM CEST β root β 8.12 MiB β number β Snapshot Update of #26 β important=yes
30 β single β β Sat 25 Jul 2026 07:00:13 AM CEST β root β 11.09 MiB β number β Snapshot Update of #28 β important=yes
33 β single β β Mon 27 Jul 2026 07:00:18 AM CEST β root β 22.81 MiB β number β Snapshot Update of #30 β important=yes
36 β single β β Thu 30 Jul 2026 07:00:17 AM CEST β root β 25.74 MiB β number β Snapshot Update of #33 β important=yes
38 β single β β Fri 31 Jul 2026 07:00:27 AM CEST β root β 16.23 MiB β number β Snapshot Update of #36 β important=yes
41 β single β β Sun 02 Aug 2026 07:00:12 AM CEST β root β 14.57 MiB β number β Snapshot Update of #38 β
45* β single β β Tue 04 Aug 2026 07:00:23 AM CEST β root β 164.97 MiB β number β Snapshot Update of #41 β
However, how do I know if it is actually updated things and has rebooted and is using for example the latest kernel?