Koupil jsem si nový disk do notebooku a potřeboval tedy nějak překopírovat data ze starého disku na nový. Problém je, že redukci pro připojení 2,5" disku jsem sehnal jenom jednu. Nezbývá tedy, než kopírovat přes síť z notebooku na počítač.
Někde jsem četl, že nejlepší je pro kopírování použít tar. Díky tomu se zachovají správně všechny odkazy, práva... Lokální varianta vypadá takto:
root@stroj /mnt/zdroj# tar cf - . | (cd /mnt/cil ; tar xvf -)
Jako první mě napadla síťová varianta přes ssh:
root@cil /mnt/cil# ssh zdroj '(cd /mnt/zdroj ; tar -c --numeric-owner -f -)' | tar -xv --numeric-owner -f -
Tahle varianta měla ale úskalí. Šifrování dat dalo mému 800MHz notebooku zabrat, takže přenosová rychlost klesla na cca 2MB/s.
Protože jsem kvůli tomu nechtěl instalovat takové věci jako telnet, či rsh, použil jsem pro jednoduché spojení netcat:
root@zdroj /mnt/zdroj# tar -c --numeric-owner -f - . | nc -l -p 9000
root@cil /mnt/cil# nc zdroj 9000 | tar -xv --numeric-owner -f -
Elegantní, že. S takovou konfigurací se rychlost přenosu vyšplhala až k rychlosti Fast Ethernetu, tedy 10 MB/s.
UPDATE: ukázalo se, že je potřeba použít volbu --numeric-owner, která zabezpečí, že jména vlastníka a skupiny budou přenášena číselně a nikoli jako názvy. Stalo se mi totiž, že na různých stanicích byly stejným názvům skupin přidělena jiná čísla a po přenesení tarem se tak čísla skupin změnila.
A ještě poznámka na závěr: Pokud kopírujeme kořenový souborový systém, s výhodou využijeme příkaz
mount --bind / /mnt/floppy, neboť tak zpřístupníme pouze obsah oddílu samotného a nikoli připojené disky.