mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-13 17:50:48 +01:00
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 |
||
|---|---|---|
| .. | ||
| .githooks | ||
| .github | ||
| boot_recovery | ||
| C/atop_agg | ||
| diagnostics | ||
| docs | ||
| dwm | ||
| features | ||
| feedback-appimage | ||
| fixes | ||
| fresh-install | ||
| gaming | ||
| i3 | ||
| i3blocks | ||
| installers | ||
| lib | ||
| meta | ||
| misc | ||
| periodic_background | ||
| scripts | ||
| tests | ||
| utils | ||
| zsh | ||
| .gitignore | ||
| install_core_system.sh | ||
| test_results.log | ||