Try partimage:
http://www.partimage.org/
That's the best imaging program for linux and it's free. You can't back up directly to cd. However you can set partimage up to break the partition image up into say 600MB files which you can later burn to cd. I now use a usb external hard drive with partimage for all my imaging. I use the kanotix live cd which has partimage on it, boot up with it, unmount the partitions I want to image(necessary step with partimage) and image directly to the usb hard drive. Kanotix writes to the external hard drive at usb2.0 speeds which is the main reason I use it and has a very recent kernel so my sata drives are properly detected. You can do the same thing with knoppix but I could never get it to transfer at anything but usb1.1 speeds which is very slow.
If I ever have to restore, I just use kanotix, partimage and my usb hard drive to do the restoration. I've done this numerous times on all different kinds of partitions and have had no problems. Sometimes you have to reinstall the bootloader, but that's not a big deal; had the same issue with Drive Image and Acronis's True Image.
By the way, norton ghost is great for windows but forget about it for linux; same with Drive Image. If you want to go commercial, Acronis True Image has a very nice interface and works well with linux