testsAndMisc/linux_configuration/periodic_background
Krzysztof kuhy Rudnicki b57d5f9064 Install live scripts by atomic rename
The periodic setup wrote /usr/local/bin scripts with sed > target,
truncating the file in place. bash reads scripts lazily, so the running
hosts-file-monitor could execute a half-new file.

New lib/atomic_install.sh renders into a temp file beside the target,
syntax-checks it, sets mode/owner and renames it over the target (new
inode). A bad template fails closed and leaves the live file untouched.
Applied to the maintenance script, hosts monitor, browser wrapper and
auto-update script; the hosts monitor service is restarted if running.

Test: test_services_atomic_install.sh (inode changes, old inode keeps
old bytes, syntax error and missing template leave target untouched).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WzxdWYWDKuhbBAoNETfoB9
2026-11-12 12:59:59 +01:00
..
lib Install live scripts by atomic rename 2026-11-12 12:59:59 +01:00
check_and_enable_services.sh DNS: dnsmasq bind-dynamic, no ordering cycle, stunnel Wants=; retire pc_startup check; repo paths under ~/src 2026-10-02 18:02:44 +02:00
setup_periodic_system.sh Install live scripts by atomic rename 2026-11-12 12:59:59 +01:00