I have a Debian (Wheezy) system that I have configured by installing/removing packages and editing some conf files.

I would like to distribute an (almost) exact replica of my system to others programmer on my team. My first instinct is to create an iso but I'm willing to listen to other suggestions.

What's the easiest way to create an installable image of my system to replicate across several computers?

Answers I'm looking for

  • On one hand, I would like to know if there're apps that do this automatically, but I think it'd be more interesting to have a step-by-step explanation on how to do this using native Unix tools (cp? dd? cat? fdisk?)

  • Making the iso bootable as LiveCD would be cool addition, but isn't really an important step.

  • Bonus points if the solution is not limited to Debian only.

What I found so far

  • remastersys claims to do this, but it looks a bit outdated and unmaintained.

4 Answers 4


what I do to distribute systems easily is create an image (using clonezilla over PXE and samba / nfs storage) and "cast" these images to different computers. This way I can rapidly restore images of my distributions. This is usefull if the hardware is quite the same.

There is also an option to alter live-cd's. You can read more about this here. This is however very time-consuming per live-cd.

Another option is having a look at software like Puppet. Puppet can push certain packages / configurations to a variety of operation systems. One can simply install f.e. debian, tell puppet to add this to the "webserver" (or script this process) group and puppet will push the installation of apache and other defined packages with pre-created configuration files etc.

If you create a clone using clonezilla you have the disadvantage that you have to alter some settings (f.e. ip addresses, /etc/hosts,...)

Puppet has the disadvantage that it takes some time to set up and configure but it is much more powerfull.

If you want I can give you a pdf wich explains how to setup up puppet and how to configure is (the basics).

  • 1
    Yes, +1 for Puppet. My suggestion is to create a simple (local) .pp file in which you can describe the desired state of the machine. Then developers can use their own virtualization software, Debian package mirror, etc. and you only distribute a file of a few kilobytes.
    – gertvdijk
    Nov 22, 2012 at 22:34

You might try mirrordir. I've used it to replicate my whole installation from one partition to another and back several times with only little trouble. Still you would have to put something bootable onto the target system before overwriting it with your copied system or make sure the bootloader is configured for the "installation" you just made. As "everything's a file" you can go this way but don't copy the home dirs. Mirrordir has got some switches to exclude some destinct paths. Be aware, that you might implicitly delete files on the target system, because they are not on the source!

A description of mirrordir:

mirrordir forces the mirror directory to be an exact replica of the control
directory tree in every possible detail suitable for purposes of timed
backup. Files whose modification times or sizes differ are copied. File
permissions, ownerships, modification times, access times, and sticky bits 
are duplicated. Devices, pipes, and symbolic and hard links are duplicated. 
Files or directories that exist in the mirror directory that don't exist in
the control directory are deleted. It naturally descends into subdirectories 
to all their depths. mirrordir tries to be as efficient as possible by 
making the minimal set of changes necessary to mirror the directory. 

(This description is borrowed from http://www.debianhelp.co.uk/debianutilities3.htm)

If you use mirrordir: Please be careful. It's very powerful.


Assuming their hardware is reasonably close to your hardware you can do a full system backup of your system and then restore it on their hardware. This assumes that they have userids on your machine, otherwise they will not be able to login to "their" machine. There are lots of ways to do full system backup/restores. The gentoo wiki has a nice example with rsync for the file system and dd for the boot sector.


I have had some successful experience with Live System (in the Debian corresponding package is called live-build). This tool allows to create custom live images and installers with specified version of kernel, architecture, packages and custom content. May be it's not exactly what do you need, but anyway I hope it will be useful.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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