Skip navigation.
Home
Now Shipping Version 7.0

What about providing binary diffs ?


Posts: 42

Hi,

Since there aren't (apriori) that many changes between 6.5 Beta 5 and Beta 5.1, it would be cool if someone made a binary diff between those two versions, using a tool such as xdelta 1.1.x (faster diff process, suitable for somewhat older machines) or bsdiff (smaller diff file, higher memory consumption), and uploaded it to LinuxTracker or a similar BT tracker.
I can't do that myself because I don't have Beta 5.1, and my Internet connection is not very broadband Smiling

In general, it would be good for the bandwidth of regular MEPIS users / testers, if MEPIS (or its users) provided a binary diff between two consecutive versions.
Although I do not test every single MEPIS beta on my computer, I've been seeding ~30 GB of SimplyMEPIS 6.0-4 / 6.5 beta 5 on LinuxTracker, and I've had to download the entire ISO each time. I've tried this weekend xdelta 1.1.3-7, with -8 compression, on 6.0-4 Beta 3 and 4: xdelta yields a ~61 MB file, which is more than ten times smaller than the full ISO !

My two cents Smiling

anticapitalista's picture

xdelta

xdelta is really useful for minor changes to the iso and as pointed out saves a lot of time for users/testers on restricted internet connection.
I have tried it with sidux and is works flawlessly.
Certainly would be nice to see it in Mepis.

anticapitalista

Philosophers have interpreted the world in many ways; the point is to change it.

Jon Du Quesne's picture

rsync?

How about rsync? If a server was set up with all of the default Mepis apps, or even the entire iso as Lionel mentioned, it would be possible to do an rsync to bring the local copy of the file(s) up-to-date. Then, if it were an iso that was downloaded, only a new CD would have to be burned. I dunno. Would that work too?

Jon

Microsoft Windows Vista now on sale!
Buy now, Really Pay Later

Re: rsync ?

Indeed, rsync would do the job of reducing the bandwidth as well.
That said, rsync probably requires additional installation on some of the existing mirrors, while binary diff files can be transferred with the current HTTP / FTP server.
But of course, the two options are not incompatible Eye-wink

I've tried to download Beta

I've tried to download Beta 5.1 today, in order to make a diff myself... It seems that the file I downloaded from ftp.uwsg.indiana.edu server is ~90.7% garbage, since only the first 9.3% pass the validation in the torrent. The MD5 sum is different anyway. Cool.

Since it seems that there will be a Beta 7 soon, it would be great if MEPIS provided the official xdelta 1.1.x delta.
Warren, if you're reading this Eye-wink

AdrianTM's picture

I will try to post a diff

I will try to post a diff torrent for Beta 7, but I need first to learn how xdelta works, this is the first time I hear about it.
--
Check out MEPIS Wiki: www.mepis.org/docs

Thanks a lot Using xdelta

Thanks a lot Smiling

Using xdelta is actually simple:
$ xdelta --help
xdelta COMMAND [OPTIONS] [ARG1 ...]
xdelta: COMMAND is one of:
xdelta: delta Produce a delta from ARG1 to ARG2 producing ARG3
xdelta: info List details about delta ARG1
xdelta: patch Apply patch ARG1 using file ARG2 producing ARG3
xdelta: OPTIONS are:
xdelta: -v, --version Print version information
xdelta: -V, --verbose Print verbose error messages
xdelta: -h, --help Print this summary
xdelta: -n, --noverify Disable automatic MD5 verification
xdelta: -p, --pristine Disable automatic GZIP decompression
xdelta: -m, --maxmem=SIZE Set the buffer size limit, e.g. 640K, 16M
xdelta: -[0-9] ZLIB compress level: 0=none, 1=fast, 6=default, 9=best
xdelta: -s=BLOCK_SIZE Sets block size (power of 2), minimum match length
xdelta: In-core memory requirement is ( FROM_LEN * 8 ) / BLOCK_SIZE

xdelta delta SimplyMEPIS-CD_6.5.b6_32.iso SimplyMEPIS-CD_6.5.b7_32.iso [something like SimplyMEPIS-CD_65b6-65b7_32.xdelta1]
will do the job.

This is xdelta 1.1.x, which is the generation of xdelta in my package list.
The documentation for xdelta 3.x is at http://code.google.com/p/xdelta/w/list

Since the internal HDD of my nearly-4-year-old laptop is slow, to get nicer I/O loads, I used a network drive for one source, an external USB 2.0 drive for the other, and the internal HDD for the third one.

AdrianTM's picture

Thanks for info, I will try

Thanks for info, I will try with xdelta that's available in MEPIS. Do you want a delta for Beta 6 (man this sounds funny) or can you wait for Beta 7?

--
Check out MEPIS Wiki: www.mepis.org/docs

I'm already seeding Beta 6

I'm already seeding Beta 6 on LinuxTracker: I can therefore wait for a Beta 7 diff, don't worry Eye-wink
When the full ISOs are downloading at nearly my full available bandwidth, everything is completed in several hours... but things don't always go that well. And it loads the servers / peers.

AdrianTM's picture

Well, I tried anyway Beta5.1

Well, I tried anyway Beta5.1 -> Beta6 and I got a 24MB file. Does that sound about right?

This is pretty cool... next time I will create a torrent for xdelta. (although you might be the only client) Eye-wink

EDIT: I tired that back and it patched fine... nice 24MB instead of 700MB.
--
Check out MEPIS Wiki: www.mepis.org/docs

anticapitalista's picture

Great work Adrian. xdelta is

Great work Adrian.
xdelta is really useful.

anticapitalista

Philosophers have interpreted the world in many ways; the point is to change it.

Nix Hard's picture

Cool idea, count me in. I

Cool idea, count me in.

I also like the idea of "rsync" with the lived .iso

Warren could test quickly, alphas of the betas before uploading to servers.

lessax's picture

Linux Registered User

Linux Registered User #432104
ASUS A8V-E SE
3800+ AMD Athlon
320GB HD / 2 GB Memory
WinFast PX6800 GT/Ultra
MEPIS 6.0

Sounds like a great idea. It took me 23 hours to torrent 6.5b6.32 with my slow ISDN line. 24 MBs is a lot better then 720.

AdrianTM's picture

For whoever is interested

For whoever is interested check out this:
http://linuxtracker.org/torrents-details.php?id=3611&hit=1

--
Check out MEPIS Wiki: www.mepis.org/docs

Can we have xdiffs on the mirrors?

Hope Warren is reading this. I am having trouble getting the xdiffs for 64bint rc2-rc3 and then rc3-final on linuxtracker. Really do not want to download the full final iso once more.

.diff torrent for 6.5 64-bit

mbeltagy,

I've put up a torrent of the diffs between RC3 and final for the 64-bit version of SimplyMEPIS 6.5
it can be found here: http://linuxtracker.org/torrents-details.php?id=3884

Cheers :)

Many thanks kmathern, I have started downloading rc2 to rc3 and rc3 to final.

Having trouble with xdelta

When I try:
$xdelta patch SimplyMEPIS-CD_6.5.rc2-rc3_64.diff
I get

xdelta: @@@SerialSource: Incorrect allocation
Or when I try:
$xdelta info SimplyMEPIS-CD_6.5.rc2-rc3_64.diff

I am having the same problem with SimplyMEPIS-CD_6.5.rc3-final_64.diff

I am using xdiff 1.1.3-6.1, which I obtained using Synaptic.

AdrianTM's picture

I had problems running

I had problems running xdelta in 64 bit version, not sure if that was the error, however it worked flawlessly in 32 bit MEPIS.

--
Check out MEPIS Wiki: www.mepis.org/docs

When I patch the 64-bit RC3

When I patch the 64-bit RC3 the md5sum of the resulting iso matches the md5sum at the download mirrors.

The md5sum of the patched iso (the one in my 'MyDownloads' directory) also matches the md5sum of the iso from the torrent I leeched from LinuxTracker (the one in my 'torrents' directory)

kent@1[MyDownloads]$ md5sum SimplyMEPIS-CD_6.5.00_64.iso
65186535aee06a2f64469f64d2fcba7b SimplyMEPIS-CD_6.5.00_64.iso
kent@1[MyDownloads]$ cd ..
kent@1[~]$ cd torrents
kent@1[torrents]$ md5sum SimplyMEPIS-CD_6.5.00_64.iso
65186535aee06a2f64469f64d2fcba7b SimplyMEPIS-CD_6.5.00_64.iso

I haven't run the 64-bit version as I still use a 32-bit machine.

The xdelta info I get on the two xdiff files is:

$ xdelta info SimplyMEPIS-CD_6.5.rc2-rc3_64.diff
xdelta: version 1.1.3 found patch version 1.1 in SimplyMEPIS-CD_6.5.rc2-rc3_64.diff (compressed)
xdelta: output name: SimplyMEPIS-CD_6.5.rc3_64.iso
xdelta: output length: 727810048
xdelta: output md5: 46d742127d874d0bfd1eed8bef73f491
xdelta: patch from segments: 2
xdelta: MD5 Length Copies Used Seq? Name
xdelta: 840cfecaab8c5aead4b0c32cb2a20a1b 44021524 2045 44021524 no (patch data)
xdelta: 63552ff5bcaca9e09d32a1a5adbd78cb 722907136 2167 683788524 no SimplyMEPIS-CD_6.5.rc2_64.iso

$ xdelta info SimplyMEPIS-CD_6.5.rc3-final_64.diff
xdelta: version 1.1.3 found patch version 1.1 in SimplyMEPIS-CD_6.5.rc3-final_64.diff (compressed)
xdelta: output name: SimplyMEPIS-CD_6.5.00_64.iso
xdelta: output length: 723304448
xdelta: output md5: 65186535aee06a2f64469f64d2fcba7b
xdelta: patch from segments: 2
xdelta: MD5 Length Copies Used Seq? Name
xdelta: 83559fbda7c2672f4266829055abfafa 60691036 8971 60691036 no (patch data)
xdelta: 46d742127d874d0bfd1eed8bef73f491 727810048 9362 662613412 no SimplyMEPIS-CD_6.5.rc3_64.iso

xdelta on 64bit

I tried to compile xdelta by downloading the source from http://www.xdelta.org/, but I could not get it work (it appears that it need a more recent gtk library).

Short of installing SimplyMepis32, does anybody know of a workaround.

If your going to build your

If your going to build your own xdelta try installing
libglib1.2-dev from synaptic first before you compile xdelta.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.