Eu acho que o método Debian / Ubuntu mais comum é fazer sua instalação básica com pré-configuração . Em seguida, use algo como fantoche para configuração / instalação pós-instalação.
Se você não quiser ou não puder executar uma instalação completa de bonecos, outra opção é escrever scripts para personalizar o sistema pós-instalação e usá-los. Eu armazeno alguns dos scripts necessários para a configuração dos sistemas no meu repositório SVN que está disponível via https.
Quando eu quero usar um dos scripts no SVN em uma das máquinas, eu o executo diretamente do servidor SVN usando curl.
curl --silent https://svn.example.org/linuxdev/config_samples/lenny_setup/setup-aptsources | bash
Esse script específico configura o apt. Este é basicamente o conteúdo do script.
#!/bin/sh
export PATH=/usr/sbin:/usr/bin:/sbin:/bin
etckeeper commit 'pre-commit setup-aptsources'
curl --silent "https://svn.example.org/linuxdev/config_samples/lenny/apt/sources.list" > /etc/apt/sources.list
etckeeper commit 'post-commit setup-aptsources'
apt-get update
A versão real do meu script tem mais verificação de erros para responder adequadamente se algo estiver quebrado. Eu faço coisa usando algo como etckeeper é importante que se algo quebrar você pode facilmente identificar o que mudou e reverter.