Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am very new to sysadmin

we have a webapp and it is runs on a standard linux distro .

afer that we install bunch of things i.e. lamp type stakcs and some other software

this creates a golden image.

Is there a way to automatically create this golden image i.e. I specify all the depenencies and version and some tool installs and prepares the golden image

Thanks for you insight!

share|improve this question

closed as not a real question by Scott Pack, mdpc, Jenny D, Khaled, Kenny Rasschaert Mar 28 '13 at 10:01

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

tl;dr: Forget creating images. Use a configuration management system.

The moment you create an image (or only very slightly thereafter), your image is already out-of-date. Packages constantly get updated, vulnerabilities fixed, etc.

Instead of putting your time into pressing these "golden images", put your time into implementing your config in a proper configuration management system. Several very good free, open-source options are out there:

These systems allow you to specify how you want your systems to look, and then apply that configuration in an idempotent manner to the base OS image. Doing things this way ensures that deployed systems are always up-to-date. For packages where you need a certain version, you can specify in your configs that this package should be pinned at version X.

Additionally, you will not only get to streamline your new system deployment process, but also you'll be able to leverage the config management system for deploying changes across your fleet - systems that are already running. Want to change DNS servers? Just update a single line in your Puppet manifest, and that change will get deployed to all systems.

These systems have a non-trivial learning curve, but the benefits of deploying this way far outweigh the pain of not using a config management system.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.