The computation will be image-processing and machine learning.
A menos que haja algo muito incomum acontecendo em uma dessas duas categorias (não vejo nenhuma indicação em sua pergunta), essas são apenas atividades de propósito geral e não exigem nada de especial em termos de configuração do sistema .
The server will be a CentOS so I think about a fedora machine.
O Fedora não faz paralelo com o CentOS WRT como as versões padrão do software componente, então (embora você tenha descrito muito pouco sobre o que você quer fazer) é improvável que isso tenha algum significado. Ou seja, parece que você pretende executar algumas tarefas de propósito geral em um servidor de propósito geral, então, novamente, você não precisa de nenhum conselho especial ...
I'd like to make a setup bash script where I install all the needed (vpn, zsh, cmake, python, numpy, ffmpeg, libsvm, opencv, qt) and send me a report via mail when finished.
Se você pretende replicar sua configuração várias vezes em muitos sistemas diferentes, isso faz sentido. Se não, você pode muito bem fazê-lo; dependendo da máquina e da velocidade de conexão, essa é uma tarefa muito simples, de 5 a 10 minutos , a maioria das quais é automatizada pelo gerenciador de pacotes. Não requer qualquer distribuição em particular ou (novamente) qualquer configuração especial.
Then, for testing it I don't know.. is better a backup system? create a filesystem image?
Não consigo ver nada no departamento de "processamento de imagens" e "aprendizado de máquina" que exigiria a reversão do sistema como um todo. Talvez você deva explicar mais especificamente o que deseja fazer e por que acredita que coisas como "criar uma imagem do sistema de arquivos" para "reverter, modificar e atualizar a imagem" são vitais (ou mesmo relevantes) para executar tarefas computacionalmente intensas.