For the upgrade from 21.07.1 to .2 I decided to give AUC a spin and, boy, was I impressed: I went from a standard installation with a bunch of packages added later to a custom-made image with no input and an extremely short wait!
Were it not for a missing file, possibly my fault, it would have been perfect from the get go: I had to copy /etc/unbound/root.hints from /root/ where I have a backup. Still, I only had to restart the service, no big deal.
Question time, then: should I simply point unbound to a location which is preserved during upgrades? Or is there perhaps a way to tell AUC about it? TBH, this was a problem with manual upgrades as well, in fact it was in my checklist.
Also, I keep editing /lib/netifd/proto/6in4.sh because max=3 often is not enough for dyndns in my case. That would be another candidate for editing, perhaps.
/lib/upgrade/keep.d define files or directories that will be kept during an upgrade. Name the file after your application then add lines which call out the directory or file. These files will be made into a tar which is held in RAM and then written back into the root/overlay filesystem of the new image, clobbering anything with the same name that is there by default.
That is intended for configuration files, cryptographic keys, user-written scripts, etc. Altering a script which is part of a package is a different issue. Generally you would not want to keep the whole script since nothing inside it could be upgraded then, and an old version of the script may not be compatible with the new version of the rest of the package.
Thanks, I'll try that for next round.
Followup question: how does this interact with /etc/sysupgrade.conf ?
EDIT: ok, the file is apparently discarded after the upgrade, but it worked well.