With Ubuntu One shut down, is there a way to sync applications between computers?

Solution 1:

I'm adding this as a new answer now that I have a better understanding of what the full requirements are.

  • Install SpiderOak, Copy, DropBox or some other file syncing software on all machines.
  • Set the software up on the source computer to sync a directory that here we'll refer to as '~/SyncDir'
  • Schedule a cron job to regularly (daily?) run the following: sudo dpkg --get-selections | sed "s/.*deinstall//" | sed "s/install$//g" > ~/SyncDir/packageList
  • On the target computer, use the following script to watch for changes in the package list as it gets synced:

    while true; do
     change=$(inotifywait -e close_write,moved_to,create .)
     change=${change#./ * }
     if [ "$change" = "packageList" ]; then sudo aptitude update && cat ~/SyncDir/packageList | xargs sudo aptitude install -y; fi
    done
    

That should do it. You could theoretically run both parts on all machines so that they would see each others changes as well but there might be some tweaks required to stop it from continually updating. you also may need to move the "sudo aptitude update && cat pkglist | xargs sudo aptitude install -y" section into a shell script rather that running it directly inside the 'watch' script.

Solution 2:

I am currently using Btsyc which is the BitTorrent sync client. It is not open source but works great.

sudo add-apt-repository ppa:tuxpoldo/btsync
sudo sudo apt-get update
sudo apt-get install btsync

Could also use dropbox