I am getting a SSD and I'd like it to become my new Linux boot drive. However, it is smaller than my current hard drive's root Linux partition, so I'd like to copy over the filesystem and exclude some directories (which I'll leave on another hard drive). So I can't just clone the partition with parted or similar because it is too big.
I want to make sure all the data, metadata, links and such are preserved. That seems to exclude "cp" because it doesn't preserve all the metadata and link information.
The two basic techniques I've been able to identify seem to be something like:
find / -xdev -print0 | cpio -pa0V /mnt/dst
rsync -avP -H -S --numeric-ids / /mnt/dst
Can anyone chime in with what they've used in the past, whether one of these or a different method, or if they see any flaws in these approaches.