rozdělení velkého archivu/dekomprese on-the-fly

Michal Kubecek mike na mk-sys.cz
Pondělí Září 16 18:41:19 CEST 2002


On Mon, Sep 16, 2002 at 06:13:12PM +0200, BzF wrote:
> Dobrý den,
> narazil jsem (zatím naštěstí víceméně teoreticky) na tento problém:
> potřebuji adresář, výsledný tar.gz bude určitě větší než kapacita cd-čka
> na které se to bude vypalovat. To lze obvykle vyřešit pomocí split.
> 
> Ale dá se nějakým způsobem provést taková záloha + rozdělení na kousky
> požadované velikosti, aby se poté dala provést dekomprese přímo z těch
> cd-ček, tedy bez toho, abych někde na harddisku nejprve spojil všechny
> dílčí soubory do jednoho a ty pak rozbalil (něco jako blahé paměti pod
> DOSem arj a -vVelikost ....)?
> 
> Zkoušel jsem si s tím hrát, ale úspěch se nedostavil :-(

Zkuste tar s vhodnými parametry, třeba u disket se to udělá pomocí

  tar -cf /dev/fd0 -M -L 1440

a rozbalí pomocí

  tar -xf /dev/fd0 -M

U CD do toho bude potřeba ještě nějak zamíchat cdrecord.

Pozor, standardně distribuovaný GNU tar 1.13 obsahuje chybu v interpretaci
parametru '-L'. Je potřeba použít patch

------------------------------------------------------------------
diff -urN tar-1.13-orig/src/tar.c tar-1.13/src/tar.c
--- tar-1.13-orig/src/tar.c     Wed Jul  7 07:49:50 1999
+++ tar-1.13/src/tar.c  Mon Sep 16 18:38:10 2002
@@ -654,7 +654,7 @@
       case 'L':
        {
          unsigned long u;
-         if (xstrtoul (optarg, (char **) 0, 10, &u, "") != LONG_MAX)
+         if (xstrtoul (optarg, (char **) 0, 10, &u, "") > LONG_MAX)
            USAGE_ERROR ((0, 0, _("Invalid tape length")));
          clear_tarlong (tape_length_option);
          add_to_tarlong (tape_length_option, u);
------------------------------------------------------------------

Nevím, jak je na tom tar v jednotlivých distribucích.

                                                    Michal Kubeček


Další informace o konferenci Linux