Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

As part of my job I regularly need to upload big files (a 512 MB to 1 GB ISO, for example). In some cases, very little changes from ISO to ISO (say, a 10 MB file in a 1 GB ISO). Unfortunately, I can't just send the changed file - I need to send the whole ISO. A faster connection is not a valid solution.

Is there any tool (preferably Linux, preferably free) that can make and apply diffs of such big binary files?

share|improve this question
Can't you build the .iso on the remote server? update the file remotely and then master the iso on the remote server. –  BuildTheRobots Jan 14 '10 at 23:13
An additional requirement would be that it also has a Windows version. Looks like xdelta could be what I'm looking for. –  ggambett Jan 14 '10 at 23:14

4 Answers 4

up vote 3 down vote accepted

I use xdelta for this purpose, others use rdiff. Both work nicely.

share|improve this answer

We use rdiff for replicating database snapshots to a backup server at remote offices every hour. It's been working pretty well for several months now.

All your need is rdiff and cygwin1.dll and you're good to go.

share|improve this answer

Is it possible to rsync the files? This will find an apply small binary differences.

share|improve this answer

BSDiff is more efficient.

http://www.daemonology.net/bsdiff/ "bsdiff and bspatch are tools for building and applying patches to binary files. By using suffix sorting (specifically, Larsson and Sadakane's qsufsort) and taking advantage of how executable files change, bsdiff routinely produces binary patches 50-80% smaller than those produced by Xdelta, and 15% smaller than those produced by .RTPatch (a $2750/seat commercial patch tool). "

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.