There are many many options for cloning and system backups. Consider this only a brief introduction to the possibilities.
Cloning Installed Software
To replicate your packages selection on another machine (or restore it if re-installing), you can do
aptitude --display-format '%p' search '?installed!?automatic' > ~/my-packages
move the file "my-packages" to the other machine, and there type
sudo xargs aptitude --schedule-only install < my-packages ; sudo aptitude install
See also Reinstalling Same Packages
Complete System Imaging
- Commercial products like Norton Ghost and Acronis True Image usually handle linux installations fine as well.
Backups
There are many ways to back your system up.
Backup Up Your System has a somewhat disjointed pile of suggestions and options.
These are commonly used for large installations/enterprises and can be used for home users as well.
Rsync based tools are handy, quick and can save space when combined with hard links like
And there are many many more options like these