tar bzip2, pipe, error ?

Vancl Miroslav (QRIS) Miroslav.Vancl na qris.cz
Středa Září 14 15:56:32 CEST 2005


Predevim viz. man tar: --block-size.

hypoteza:
1. Tar nedela kompresi sam ale vola si k tomu podproces (nejaky *zip). Pokud
je zapnuta komprese a vystup jde primo do plain souboru, necha tar zapisovat
do toho souboru ten *zip. Pokud je ale vystup cokoliv jineho (roura,
device), zarizuje si zapis sam a to dalsim podprocesem. 
2. Pokud zapisuje program tar, pak pouzije bokovani (tedy defaultne blok
20*512 B) a konec souboru zarovna nulami na celistvy blok. Pokud ale za nej
zapisuje *zip, blokovani (doplneni nulami) neprovede.
Dusledek: Pokud *zip (tar vola un*zip) cte vystup zapsany tar-em, najde na
konci posledniho bloku smeti zapsane tam tarem.
Zajimave: U archivu komprimovaneho gzip-em ale zapsaneho tarem gunzip smeti
nehlasi, kdezto pri kompresi bzip2 bunzip2 smeti objevi. Proc ? Protoze
gunzip nehlasi nadbytecne zaverecne nuly jako smeti (pokus s doplnenim
gzipovaneho souboru libovolne velkym blokem nul). Bzip2 je prisnejsi.

M. Vancl



Další informace o konferenci Linux