Idempotent, orthogonal, and modular installation
Augment /etc/rc.local itself to point to any number of executable entries in /usr/local/etc/rc.local.d/ and then run any such one by one
Then ensure that running /etc/rc.local is part of bootup; make rc.local executable
The real content would live in one of those rc.local.d/ entries (executable, like 00-project-audio-recording-bootstrap.sh)
A later native package installation/update is unlikely to overwrite /etc/rc.local itself but if it were to do so accidentally, then at least the real content would still be there in /usr/local/etc/
Network assumptions
Might be useful to consider that network may not always be available, especially when it's already been deployed. But it's still okay to try in a non-blocking way
Idempotent, orthogonal, and modular installation Augment /etc/rc.local itself to point to any number of executable entries in /usr/local/etc/rc.local.d/ and then run any such one by one Then ensure that running /etc/rc.local is part of bootup; make rc.local executable The real content would live in one of those rc.local.d/ entries (executable, like 00-project-audio-recording-bootstrap.sh) A later native package installation/update is unlikely to overwrite /etc/rc.local itself but if it were to do so accidentally, then at least the real content would still be there in /usr/local/etc/ Network assumptions Might be useful to consider that network may not always be available, especially when it's already been deployed. But it's still okay to try in a non-blocking way