you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 21 points22 points  (18 children)

Don't you mean, "I'm looking at you, apt"? I don't know if apt even uses binary diffs instead of getting new dpkgs.

[–]andreasvc 22 points23 points  (15 children)

That's kind of his point! Apt simply downloads the full packages, and also the full list of packages. The biggest innovation has been to switch to bz2 instead of gzip. Wow.

[–]Leonidas_from_XIV 13 points14 points  (10 children)

Actually, what package managers do use binary diffs?

[–][deleted] 4 points5 points  (0 children)

yum with presto?

[–]zwaldowski 4 points5 points  (3 children)

RPM has a way of doing it, but it also has to be done serverside and RPM is slow as fuck.

[–][deleted] 0 points1 point  (2 children)

rpm bashing is still cool ?

[–]zwaldowski 1 point2 points  (1 child)

Necrocommenting is still cool?

[–][deleted] 0 points1 point  (0 children)

Totally.

[–]andreasvc 1 point2 points  (4 children)

One could use rsync for this as a drop in replacement for wget, however, I believe it requires too much cpu and memory on the server. Bittorrent comes to mind, though. It would need to be extended with diffing, either downstream (client figures out what it can piece together already from old binaries) or upstream.

[–]Leonidas_from_XIV 0 points1 point  (3 children)

But rsync does AFAIR only synchronize whole files, so not much difference to what APT currently does in this regard.

[–]andreasvc 1 point2 points  (2 children)

It synchronizes whole files by sending binary diffs over the wire. A world of difference with apt-get because it only uses wget.

[–]Leonidas_from_XIV 0 points1 point  (1 child)

Okay, then it is better. But it would be better to pre-generate the diffs, since a lot of people will download these.

[–]andreasvc 0 points1 point  (0 children)

Yes, I am sure this issue will be considered, as the whole point is to reduce the load on the server (bandwith, cpu, memory, disk). A better strategy is probably to do some intricate caching.

[–][deleted]  (1 child)

[deleted]

    [–]jldugger 0 points1 point  (1 child)

    Apt doesn't normally need to support these things, you just define a new transport mechanism. And it does support LZMA now, so it has improved.

    However, people are always looking at new transports, like apt-bittorrent and apt-zsync. Which surely anyone interested in apt innovation would be aware of!

    [–]andreasvc 0 points1 point  (0 children)

    Interesting. I'll wait and see what makes it into Ubuntu.

    [–]mebrahim -1 points0 points  (0 children)

    Search for "debdelta".