Spændende nyt om : Delta arkiver / delta repositories

Nyheder om Open Source, Ubuntu, andre distributioner og meget mere.
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Spændende nyt om : Delta arkiver / delta repositories

Indlæg af lath »

Jeg sidder pt og bruger flere Linux styresystemer.

Hvis I kender mig ved i at jeg også bruger Fedora Linux.
I dag (meget tidlig om morgen, eller sent om natten om i vil) kom jeg så over noget nyt: Det er *.drpm filer, hvor d'et står for "delta", der er et ord fra naturvidenskaben, som betyder "en forskel".

Det ledte frem til en søgning hvor en meget interessante side dukkede op i søgningen (jeg forklarer lige straks hvad det meget interessante er): http://www.sethanil.com/exploring-software/5

Det viser sig at man godt kan lave en pakke med kun forskellen mellem en tidligere version af pakken og så en ny version af pakken, og så spare rigtig meget i båndbredde (og dermed en hel del tid) over ens internet forbindelse.

Teknikken i drpm's er at der for hver delta-pakke skrives en del kontrolinformation - noget om hver pakke (fra pakke og til pakke). Kontrolinformation inkluderer også checksums og den slags.
For hver eneste fil foretages der en sammenligning af et program der hedder bsdiff - den output er forskellen - ændringerne - der er imellem de 2 filer. Hver ændring (en fil) imellem 2 ens filer fra forskellige pakke versioner pakkes så ned i *drpm filen.
Sådan en bsdiff delta-pakke kan være så lidt som kun 20% af den oprindelige fil fra den nye version af pakken.

... men det bliver meget bedre 8)

I Debian land har man også gang i noget arbejde med delta-pakker. Der er et program der hedder debdelta.
På den føromtalte webside skriver forfatteren af websidensiden at han afprøvede debdelta på en Ubuntu 10.04.
Her fik han en download bokset ned til sølle 12 MB (6%) af den oprindelige størrelse på 200 MB (100 %).

... det er slet ikke færdig med at blive bedre 8)

Han nævner til sidst på siden anden algoritme (opskrift) der er meget mere effektiv:

Han bruger en Chromium pakke som eksempel:
  • Fuld download: 10.385.920 bytes, den sætter vi til 100%
  • bsdiff opdatering: 704.512 bytes (6,78%)
  • Courgette opdatering: 78.848 bytes (0,76%)
Det man udnytter er selvfølgeligt at programmer kun har lokale ændringer fra version til version, sådan at at en delta-pakke kun behøver at indeholde ændringen siden sidst.

----

Jeg kan fortælle at for opdatering af en helt en ny installation af Fedora 18 LXDE spin på min netbook skulle der kun hentes 400 MB, og at de delta-rpm-pakker blev oversat til ca et 1,1 GB download, hvorefter yum-extender fortsatte som om det var normale *.rpm pakker den havde hentet.

Den slags ville jeg godt se på Ubuntu (og Raspian=Debian i Raspberry Pi udgaven).
Jeg ville rent faktisk blive ret glad hvis Debian får delta pakker, og at Canonical også indarbejder delta-pakker arkiver for Ubuntu.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags