Thanks for people pointing out that my question is too broad and hard to answer. Here is the edited question:
Question: Create an easy-to-restore system backup for Ubuntu 14.04 before resizing linux partition on a Windows-Ubuntu dual-boot system
Detailed requirements:
Retain everything in Ubuntu partition (/home, /usr, /bin etc)
Be able to be restored onto a resize linux partition (larger than original) where the head of the partition is moved.
Easy restoration: I restore the system by "copying" or "cloning" back my backup file. I don't have to reinstall libraries, programs, or restore links, ~/.ssh ~/.bashrc or other system setup files.
I would prefer softwares such as Clonezilla or Déjà Dup. But I am also very happy to learn using internal utility such as tar, as long as it allows requirement 3.
Current disk layout:
500 GB disk (Partition1 + Partition 2 + Partition 3 + Partition 4)
Partition 1: Dell Utility FAT (41 MB)
Partition 2: Windows Recovery NTFS (786 MB)
Partition 3: Windows 7 NTFS (254 GB)
Partition 4: Extended (246 GB)
Partition 5: Filesystem Ext4 (256 GB)
Partition 6: SWAP Swap (10 GB)
Desired disk layout:
500 GB disk (Partition1 + Partition 2 + Partition 3 + Partition 4)
Partition 1: Dell Utility FAT (41 MB)
Partition 2: Windows Recovery NTFS (786 MB)
Partition 3: Windows 7 NTFS (100 GB)
Partition 4: Extended (354 GB)
Partition 5: Filesystem Ext4 (356 GB)
Partition 6: SWAP Swap (10 GB)
Final remarks: A brief procedure would be greatly appreciated in case I missed some important procedure and sabotage my backup process.
I hope the resizing process will just go successfully without doing restoration though.
References:
https://ubuntuforums.org/showthread.php?t=35087
https://ubuntuforums.org/showthread.php?t=35087
http://www.howtogeek.com/114503/how-to-resize-your-ubuntu-partitions/