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