MoLoPoLY

u/MoLoPoLY@discuss.tchncs.de
44 posts · 76 comments

Recent posts

Recent comments

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.

on Wifi Hotspot / VPN · c/android · 1 pts · 106d

OK, in that case, im out of luck, since the phone is not rooted (and i dont want to root it). But many thx

on Wifi Hotspot / VPN · c/android · 2 pts · 106d

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:

ExecStart=/home/username/.local/bin/script.sh variant1
ExecStart=/home/username/.local/bin/script.sh variant2
ExecStart=/home/username/.local/bin/script.sh variant3

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.

on Systemd Timer units · c/linuxquestions · 2 pts · 224d

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.

on Systemd Timer units · c/linuxquestions · 1 pts · 224d

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.

on Systemd Timer units · c/linuxquestions · 3 pts · 233d

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.

on Systemd Timer units · c/linuxquestions · 3 pts · 233d

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.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.

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?

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?