man, 14.03.2005 kl. 08.18 skrev Florian La Roche: > On Mon, Mar 14, 2005 at 01:59:07AM +0000, Joe Desbonnet wrote: > > I have more results from my experiments in RPM delta compression. I've posted > > the results so far here: http://www.wombat.ie/software/rpmdc/index.shtml > > > > Conclusion so far: assuming someone has the distribution RPMs > > available then an entire > > update repository (about 1GB) can be generated from 200MB of files. > > > > I hope to post my code once I clean it up a bit (it's implemented in > > Java currently). > > > > Must check out rdiff also... > > I've done tests some time ago that showed a 4.8 factor to reduce bandwidth > needs for RHEL update releases. Big drawback will be the need of the previous > packages, so this might again be only something for a local server to > download updates, but not for normal client machines. > Still the savings look very nice, so I think we should continue looking at > this. What if we made some steps here: 1. place an option in anaconda to copy all rpm's to disk. Put them in say, /var/cache/yum/whatever/is/under/here/again 2. Create the stuff as a independent program, say rpmpatch (sympnosis: "rpmpatch oldrpm.rpm newrpm.prpm" which outputs newrpm.rpm). This way, it can also be used manually 3. make the master repository also create prpm's - which then will be mirrored. 4. make yum check if: - are there any "old" rpm's lying around localy - are there any new prpm's in the repository - if many steps - is it a smaller download to get, say two prpm's, and patch incrementally untill you get the wanted rpm? If yes to theese three - get the prpm, not the full rpm. (get headers the usual old way - byte-ranges from the full rpm's) If no to any of theese - get the full rpm's, just as we do today. 5. When yum has finished downloading, use rpmpatch (maybe making it acessable as a libary, not only a cmd-line program) to generate the full rpm. Install it through old "rpm -Uvh" (or libary equalient) as it normally would. This way it will add very little complexity. No change to mirrors, no change to rpm itself. Only a little change on the "master repo". A new program on the client, a little change to yum to make it get the prpm's instead of the full rpms, patch to generate full rpm, and install the usual way. Kyrre