That's not my problem. I've customized the pattern so that all updates are installed, as long as they don't introduce new configurations—even for “regular” software. That works without any issues. The same goes for third-party repositories like ntfy or docker.
What I don't understand is the log file entry indicating that packages are being held back, even though they end up being installed anyway. I'd at least like to understand why.
I cant install software on that laptop. I have a VPN setup on that laptop, which connects me to my company network. If i disable the VPN and the laptop is in the LAN at home, i can access my home network resources. But the VPN on this machine, prevents me from installing another VPN client like Wireguard and i don't want to change something on the laptop, wich isn't my own device.
However, i can and must use the android phone sometimes, when im underway, to connect to the internet. I can open the wireguard vpn on this phone and can access my resources from home. But this isn't shared with the Wifi hotspot.
I don't know, if a proxy or something similar exists for Android, which allows to share the VPN via WiFi hotspot.
Syncthing is blocked, or better the ports are blocked on 3 of the hosts (and i cant open them). I can use scp, to copy files. Ports 22 and 443 are the only ports, i can use on all hosts. Additionally, i cant install new software there.
For the restart, i have found the line exec "$(realpath $0)" "$@". Using the script directly works with that. But since the script is called from a systemd service unit, i don't know if this break the logic. The service unit is from type oneshot and calls the script multiple times (but different parameters), like this:
script.sh does different things, when changing the first parameter. It starts the other variants, when the current variant finishes. Now i don't know, if restarting /home/username/.local/bin/script.sh variant1 will break the logic and the other variants will either not executed or in some unexpected schedule.
With Arch based, like CaxhyOS or Manjaro? Whenever I install new things or at weekends or when something important is fixed. But god beware, not every day. There is no reason for that.
It seems that this doesn't work as expected. Please see my new post from today. I have found also the following issue https://github.com/systemd/systemd/issues/3107. According to this, a monotonic timer doesn't survive a reboot or power off. Please correct me, if I'm wrong.
If I understand this correctly, only a onCalendar type can be used here. That's a little bit annoying, but as of yet, I haven't found a way around this.
Sorry, i have to ask again. I actually thought I had solved the problem. However, today I discovered that the jobs are overdue and have not been started for several days. When I display the timers with systemctl --user list-timers, I see that the NEXT column is empty::
NEXT LEFT LAST PASSED UNIT ACTIVATES
- - Sun 2026-02-01 20:01:48 CET - backup.timer backup.service
Since there is no NEXT date, the timer/service will probably not be restarted. The timer unit looks like this:
[Unit]
Description="Backup to remote"
[Timer]
OnUnitActiveSec=3d
Persistent=true
[Install]
WantedBy=default.target
As you can see, I am well over the 3 days. When I call systemctl --user status backup.timer, I get:
● backup.timer - "Backup to remote"
Loaded: loaded (/home/username/.config/systemd/user/backup.timer; enabled; preset: enabled)
Drop-In: /home/username/.config/systemd/user/backup.timer.d
Active: active (elapsed) since Fri 2026-02-13 16:53:31 CET; 7min ago
Invocation: 95ae3860c50a454b98078fc2ce3eb3c5
Trigger: n/a
Triggers: ● backup.service
To me, this looks perfectly "normal." The only thing that puzzles me is the Active line. Why is the current date (Fri 2026-02-13 16:53:31 CET) set there and not the date on which the job last ran (Sun 2026-02-01 20:01:48 CET)? The NEXT column fills up again when I start systemctl --user restart backup.service. The job is then executed immediately and the column is filled. However, after rebooting the laptop, the column is empty again and the job is no longer started at the given intervals.
OK. I think 7 day was a slightly misleading schedule :-) My bad. But yes, you are right, for 7 days, this will work fine. But i think OnUnitActiveSec=7d is more flexible, when i change this to 12 days, 9 days and so on... I should learn to be more precise in my questions. Sorry.
I have one additional question. Sorry. According to the wiki I should use grub-mkconfig -o /boot/grub/grub.cfg to generate a new menu after removing or installing other kernels. But obviously /boot/grub/grub.cfg is wrong, at least for me (the subdir grub doesnt exist here). In my case the file is under /efi/grub/grub.cfg. Is that also OK? When mounting ESP I followed https://wiki.archlinux.org/title/EFI_system_partition#Mount_the_partition#Typical_mount_points and chose the 2nd variant.
Nice. I will try the systemd unit. Meanwhile, i have added a loop in the script, which helps a little bit:
maxwait=15
if [[ $(nm-online -x) != *"online"* ]]; then
echo "missing internet connection, waiting..."
for (( i = 1; i <= maxwait; ++i )); do
sleep 1 &
echo $i
if [[ $(nm-online -x) == *"online"* ]]; then
break
fi
if [[ $i -eq $maxwait ]]; then
echo "No internet connection"
exit 1
fi
wait
done
fi
In my test, this exits the script after 15 seconds without connection, but continues, when the connection is available or is established within this time.
But i think, its a nice idea, to add this to the script AND use the systemd unit together.
I uninstalled Steam with pacman -Runs steam. After that there were still several folders within my home. I removed these and then installed steam with pacman -Syu steam aga in. Luckily I didn't need to reinstall the games as they are installed on a separate partition. I simply remounted the library and can now start the games without any error messages. Thanks for your help.
BTW: Whats the difference between pacman -Rns and pacman -Runs? What does u mean?
That's not my problem. I've customized the pattern so that all updates are installed, as long as they don't introduce new configurations—even for “regular” software. That works without any issues. The same goes for third-party repositories like ntfy or docker.
What I don't understand is the log file entry indicating that packages are being held back, even though they end up being installed anyway. I'd at least like to understand why.
OK, in that case, im out of luck, since the phone is not rooted (and i dont want to root it). But many thx
I cant install software on that laptop. I have a VPN setup on that laptop, which connects me to my company network. If i disable the VPN and the laptop is in the LAN at home, i can access my home network resources. But the VPN on this machine, prevents me from installing another VPN client like Wireguard and i don't want to change something on the laptop, wich isn't my own device.
However, i can and must use the android phone sometimes, when im underway, to connect to the internet. I can open the wireguard vpn on this phone and can access my resources from home. But this isn't shared with the Wifi hotspot.
I don't know, if a proxy or something similar exists for Android, which allows to share the VPN via WiFi hotspot.
Many thx for the hint with journald. A little bit searching gives me https://serverfault.com/questions/573946/how-can-i-send-a-message-to-the-systemd-journal-from-the-command-line
I try that tomorrow. From reading it seems to be, what I need.
Syncthing is blocked, or better the ports are blocked on 3 of the hosts (and i cant open them). I can use scp, to copy files. Ports 22 and 443 are the only ports, i can use on all hosts. Additionally, i cant install new software there.
For the restart, i have found the line
exec "$(realpath $0)" "$@". Using the script directly works with that. But since the script is called from a systemd service unit, i don't know if this break the logic. The service unit is from type oneshot and calls the script multiple times (but different parameters), like this:script.sh does different things, when changing the first parameter. It starts the other variants, when the current variant finishes. Now i don't know, if restarting
/home/username/.local/bin/script.sh variant1will break the logic and the other variants will either not executed or in some unexpected schedule.I thought it was ext4, but it seems to be ext3. A standard file system check didn't find any errors after I restored the partition table.
With Arch based, like CaxhyOS or Manjaro? Whenever I install new things or at weekends or when something important is fixed. But god beware, not every day. There is no reason for that.
It seems that this doesn't work as expected. Please see my new post from today. I have found also the following issue https://github.com/systemd/systemd/issues/3107. According to this, a monotonic timer doesn't survive a reboot or power off. Please correct me, if I'm wrong.
If I understand this correctly, only a onCalendar type can be used here. That's a little bit annoying, but as of yet, I haven't found a way around this.
Sorry, i have to ask again. I actually thought I had solved the problem. However, today I discovered that the jobs are overdue and have not been started for several days. When I display the timers with
systemctl --user list-timers, I see that the NEXT column is empty::Since there is no NEXT date, the timer/service will probably not be restarted. The timer unit looks like this:
As you can see, I am well over the 3 days. When I call
systemctl --user status backup.timer, I get:To me, this looks perfectly "normal." The only thing that puzzles me is the Active line. Why is the current date (Fri 2026-02-13 16:53:31 CET) set there and not the date on which the job last ran (Sun 2026-02-01 20:01:48 CET)? The NEXT column fills up again when I start
systemctl --user restart backup.service. The job is then executed immediately and the column is filled. However, after rebooting the laptop, the column is empty again and the job is no longer started at the given intervals.Ahh even more possibility's. Many thx.
OK. I think 7 day was a slightly misleading schedule :-) My bad. But yes, you are right, for 7 days, this will work fine. But i think
OnUnitActiveSec=7dis more flexible, when i change this to 12 days, 9 days and so on... I should learn to be more precise in my questions. Sorry.Shifting the day of the week is totally fine, since i only care about days between the job executions. Many thx, then i try my luck with this.
I have one additional question. Sorry. According to the wiki I should use
grub-mkconfig -o /boot/grub/grub.cfgto generate a new menu after removing or installing other kernels. But obviously/boot/grub/grub.cfgis wrong, at least for me (the subdir grub doesnt exist here). In my case the file is under/efi/grub/grub.cfg. Is that also OK? When mounting ESP I followed https://wiki.archlinux.org/title/EFI_system_partition#Mount_the_partition#Typical_mount_points and chose the 2nd variant.Many thx. Worked fine.
If I install a new kernel, I have to recreate the entries with
grub-mkconfig -o /boot/grub/grub.cfg. But do I have to do that also for kernel updates?I don't think so, because the filename should not change, if I'm right?
Ahh ok. Since in this case the script should only run at start and then exit, I use oneshot. Many thx.
Yep, I know. But when I only depend on
this doesn't mean, I have a working internet connection. That's why the loop.
Or is that wrong?
What's the difference between oneshot and simple?
Nice. I will try the systemd unit. Meanwhile, i have added a loop in the script, which helps a little bit:
In my test, this exits the script after 15 seconds without connection, but continues, when the connection is available or is established within this time.
But i think, its a nice idea, to add this to the script AND use the systemd unit together.
Many thx. I hadn't referred to groups, but at least that's how it makes sense.
I uninstalled Steam with
pacman -Runs steam. After that there were still several folders within my home. I removed these and then installed steam withpacman -Syusteam aga in. Luckily I didn't need to reinstall the games as they are installed on a separate partition. I simply remounted the library and can now start the games without any error messages. Thanks for your help.BTW: Whats the difference between
pacman -Rnsandpacman -Runs? What does u mean?