The link supplied by ZO38 is very helpful. To simplify the process of sifting through all the information on that page, try the following using dd:
1. Boot a machine with a Linux install CD / DVD or Live Media.
2. swapoff -a (to disable swap if it's written to the drive you wish to make an image of)
3. dd if=/dev/sd? |gzip > /mnt/sysimage/location-to-store-image.gz
The dd command can then be used to take a complete copy of the Linux installation by taking a disk sector-by-sector copy rather than a copy of any file systems in placed and accompanying data. Whilst this copy is being generated it can be compressed and stored on another disk or usb media. Because a disk sector copy is being made rather than an operating system image with data, the primary benefit is that it can be used to backup any installation regardless of the operating system installed. The drawbacks include amongst others 1. Your machine is offline whilst the dd copy is being made, 2. The larger the physical hard disk is, the longer the copy will take irrespective of the amount of physical data stored on the disk. As far as I am aware there are other alternatives such as CloneZilla (as also already mentioned) that can be used for making snapshots of filesystems, etc... I am happy to stick with dd as it works perfectly for me and I have never had a failed restore to date... Oops... tempting fate....