Ubuntu – How to replicate a currently installed Linux system as an installation CD

desktopdistroskdeUbuntu

I have an installation of Ubuntu 13.04 which I have customized to be just the way I want it (default applications, user accounts, desktop environment settings, …).

Now, I want to be able to basically put this system on a CD and install it to other PCs, just like a regular Ubuntu installation but with all of my customizations intact.

Such a CD should be independent of my currently installed system but it should still be the regular Ubuntu (use the Ubuntu repositories for software updates etc.).

How can I create such a CD? Where would I begin?


Progress and updates

I installed remastersys following the kosnick answer which worked good:

  • the ISO file was created
  • I burned the ISO file on a DVD
  • I inserted the DVD to another computer and installed it

The issues I have now are:

  • Some configuration files are missing. For example: .vimrc is missing
  • theme files are missing (the KDE theme was not installed, but Oxigen default KDE theme was installed)

How can I include them into my backup ISO?

Best Answer

Obviously, I wouldn't recommend deleting the old install until you're sure but it shouldn't be too hard to get a very similar install on a newer version of linux

You can dump out the list of installed packages with dpkg --get-selections and install them with dpkg --set-selections, this question on AU talks about the possible pitfalls of that, but has the commands as well.

Any user customisations should be in /home/username/ so you can create a new user with a same name, and copy over the files. If you want this globally, you can throw it into /etc/skel of your new livecd. You might also want to copy over config files from /etc/ and possibly things from /var/.

This should cover most things, I think, that you would need for a base installation. Here comes the tricky bit - I'd have suggested remastersys previously, but the developer kind of ragequit - there's an upcoming fork from another development team that might be of interest. I've not used it before, but you might also want to consider looking at mklivecd.

Related Question