Intuitive way to implement that would be to create a custom package containing selected configuration files, and install it as a last package. However according to [Debian GNU/Linux FAQ], [section 11.7], it is not as simple. The wording of the answer to this question is confusing, however:
11.7 *How does the package management system deal with packages that contain configuration files for other packages?* Some users wish to create, for example, a new server by installing a group of Debian packages and a locally generated package consisting of configuration files. This is not generally a good idea, because dpkg will not know about those configuration files if they are in a different package, and may write conflicting configurations when one of the initial "group" of packages is upgraded. Instead, create a local package that modifies the configuration files of the "group" of Debian packages of interest. Then dpkg and the rest of the package management system will see that the files have been modified by the local "sysadmin" and will not try to overwrite them when those packages are upgraded. I don’t see how scenarios from paragraphs one and two are different. What is the difference between “package consisting of configuration files” and “pacakage that modifies the configuration files”? I’m aware of chef, puppet, and other configuration managment programs, but I thought for simple cases it is too much overhead. [Debian GNU/Linux FAQ] https://www.debian.org/doc/manuals/debian-faq [section 11.7] https://www.debian.org/doc/manuals/debian-faq/ch-customizing.en.html#s-interconffiles