3 ms·
Here's documentation about the old SysVInit "system" of cobbled together hacks: https://wiki.archlinux.org/title/SysVinit#Writing_rc.d_scripts https://wiki.arch
by JetSpiegel 4y ago
Here's documentation about the old SysVInit "system" of cobbled together hacks:
https://wiki.archlinux.org/title/SysVinit#Writing_rc.d_scripts https://wiki.archlinux.org/title/SysVinit#Writing_rc.d_scrip...
Note the missing features, which I would call dealbreakers:
- How do I know if a daemon is running? What if you several "copies" of the same daemon, like multiple OpenVPN connections?
- How do you test if your cron script runs with the correct environment variables when it runs at 4AM? How can you test it with the same environment that will be set at 4AM, if you can only run it only on the interactive bash shell?
- Say you want to change an environment variable from a daemon shipped by your distro. Are you sure you included all " and ' on your arbitrary shell program pretending to be configuration? Can you lint your change or do you just pray, reboot and get an emergency shell?
- Freaking dependencies. Parallel startup? Making your webserver automatically wait for the NFS mounts? Make you sshd not wait for NFS mounts? Make sure your sshd starts even if NFS fails, so that you can actually reboot the machine remotely?
Here's how this can be done with SystemD, it's all supported and it works:
https://wiki.archlinux.org/title/Systemd#Writing_unit_files https://wiki.archlinux.org/title/Systemd#Writing_unit_files
I'm not talking about spherical cows, just basic server administration problems. Don't get me started on laptops...