In past few weeks I found out, that my Linux sysadmin skills are pretty low, so I bought bigger HDD (1.5TB) and started playing with virtual machines. I'm experimenting pretty hard way, so I end up reinstalling a lot. My problem is, I don't really know, what is the best way to do initial setup.
My first idea was to create simple bash script, that would install all necessary packages, compile sources, set up accounts etc. But my problem was, that it usualy got stuck in the middle somewhere, because of some change or problem, so I had to manualy hack it anyway. Also such a script will outdate very fast.
Another idea, which I'm trying now, is to write a checklist with things I need to do, and then manually install everything and check things on the paper. This has advantage of having more generic steps (like install MySQL), however I have to do everything manualy, which isn't very convenient.
Last options is install a whole system manualy, configure it, and then create a image of partition, and restore it eventualy instead of clean instalation. While this seems to me like good solution for installing on say 20 servers at once, it will also be outdated soon, so I'd have to create new, up to date, clean installation and create it's image again.
I know that different situation applies different measures, so there probably isn't one fit all solution.
So my question is.
Do you have any kind of checklist, installation script, or any kind of that thing, when you are installing a new system?