I customize FatDog on a regular basis to test different customizations which are then remastered and burned to DVD. I find myself frequently repeating the same steps manually, for instance:
- Creating custom configuration files (e.g. hosts, resolv.conf.head)
- Removing packages in Gslapt
- Installing packages in Gslapt, .deb files manually from the Debian repository, as well as PET files
- Disabling / enabling certain system modules
- Creating a new user and changing the root password
- Changing host name
I was wondering what the best approach would be to automate those tasks. I thought about creating a bash script that could be hosted e.g. on GitHub that is pulled in initially to execute and implement those changes. System configuration files could also be hosted there and then pulled in via that script to replace the default files. Customization changes could then be edited incrementally in the online repository instead of having to manually create the changes before each remastering session.
What is your take on this? How do you automate repetitive customizations?