About

Lefant hat irgendwo gehört, dass es möglich ist ein Image zu vervollständigen
wenn man einzelne Pakete dieses Images auf der Festplatte hat.

Das mussten wir (Lefant, Float und Markus) natürlich gleich ausprobieren.

Versuchsaufbau

---------------
#!/bin/sh

cd /media/cdrom0/pool/main

find . -print0 | rl -0 -c 1500 | while read -d "" file
do
#echo "$file"
cat "$file" >> /home/markus/near-image.iso
done
----------------

Dieses Skript erzeugt eine image Datei mit gleichen Dateien wie
auf der CD, aber durch rl (randomize-lines) komplett durcheinander
gewürfelt. Durch das (count lines) -c 1500 werden statt den 2300
Paketen nur 1500 genommen.


Messung

Hier die Dateigrößen:

-rw-r--r--   1 markus markus 615614464 2005-09-20 00:10 full_image.iso
-rw-r--r--   1 markus markus 428646356 2005-09-19 23:47 near-image.iso
-rw-r--r--   1 markus markus 588M 2005-09-20 00:10 full_image.iso
-rw-r--r--   1 markus markus 409M 2005-09-19 23:47 near-image.iso


Will man einfach die ganze Datei übertragen, so wird ein bisschen mehr
übertragen, als die Datei groß ist.

markus@mobilebyte:~$ rsync -v --progress full_image.iso 192.168.100.112::upload/
full_image.iso
   615614464 100%    7.32MB/s    0:01:20  (1, 100.0% of 1)

sent 615689703 bytes  received 38 bytes  7554475.35 bytes/sec
total size is 615614464  speedup is 1.00


Versuch


markus@mobilebyte:~$ rsync -v --progress --no-whole-file full_image.iso 192.168.100.112::upload/
full_image.iso
   615614464 100%    7.58MB/s    0:01:17  (1, 100.0% of 1)

sent 202524663 bytes  received 145022 bytes  2122195.65 bytes/sec
total size is 615614464  speedup is 3.04


Resumee

Der rsync Algorithmus ist wirklich sehr effektiv. Es mussten tatsächlich
fast nur Teile übertragen werden, die auf der Empfängerseite noch nicht
vorhanden waren.

Fr Jul 30 13:54:24 CEST 2021
patent_button.gif valid-html401.png elektra.jpg fsfe-logo.png valid-css.png vim.gif anybrowser.gif