How to synchronize a whole Ubuntu?
- by Avio
I think that the time is ripe to have my whole Ubuntu synchronized just as my Dropbox folder is.
Given that we are always talking about files and directories, what's the difference between my Documents folder and my /usr system directory? Almost none, except for their location.
In fact, I think that there is just one big issue that prevents people to have their beloved installations mirrored wherever they go: symlinks.
Dropbox, Google Drive, Ubuntu One, Sugarsync, Skydrive, none of these services support symlinking. This means that if I push a symlink in one of the synced folders, locally the symlink is kept as is, but remotely (in the cloud or on the other synced machines) the symlink is resolved to the actual file that was originally pointed to.
This completely disrupts Linux installations, thus these services can't be used for this purpose.
So the question is. Does anybody knows a way to achieve this? A whole Ubuntu, always synchronized with a remote running copy, but still locally stored on both disks?
My best guess is that I could use NFS. But the main difference between Dropbox and NFS is that NFS is a remote filesystem that always forces to remotely access the files, while Dropbox pushes modifcations to local filesystems (and thus would perform better). I've also heard about NFS caching. Does anybody knows if this solution could approximate Dropbox in this sense?
P.s. I know that /boot, /dev, /proc, /run, /tmp and device-specific mountpoints in /mnt and /media will have to be left out the sync mechanism. What I'm interested in is the principle. Can this be done with reasonable performance, having reasonable resources (e.g. ~ 1Mbps upload bandwidth and a public IP address)?