On Sat, Jan 20, 2007 at 09:17:11PM +0100, Alexander Holler wrote:
> Christian Leber wrote:
>
> > Zum urspruenglichen Problem:
> > Ich wuerde einfach ein Verzeichnis als container verwenden oder alternativ
> > .tar.* und eine Liste der enthaltenen Dateien in einer extra Datei.
>
> Man könnte auch die Liste mit Dateien als erstes in das tar-archiv
> stecken. Wenn diese Liste dann noch sowas wie einen Endmarker enthält,
> ist es recht einfach ein "tar xf tarfile liste" zu machen und mit einem
> 2. prozess zu testen ob die Liste komplett extrahiert wurde und den
> Prozess mit tar danach abzubrechen. Es gibt ganz sicher auch andere Wege
> das zu bewerkstelligen, die Lösung mit dem Endmarker ist mir nur als
> erste eingefallen.
Naja, wenns darum geht, so ein Containerformat selbst zu basteln, dann
hab ich schon die ein oder andere Idee, z.B. dass das Auslesen der
Meta-Daten sich auf die ersten 64k oder 128k beschränkt, wenn man zuvor
definiert, dass diese am ANFANG des Pakets zu liegen haben:
$ dd if=foo.tar bs=64k count=1 | tar tvvf - meta/
drwxr-xr-x 0 rabe staff 0 20 Jan 21:43 meta
-rw-r--r-- 0 rabe staff 0 20 Jan 21:43 meta/info.txt
-rw-r--r-- 0 rabe staff 955 20 Jan 21:46 meta/files.txt
-rw-r--r-- 0 rabe staff 0 20 Jan 21:43 meta/notes.txt
-rw-r--r-- 0 rabe staff 0 20 Jan 21:43 meta/checksums
1+0 records in
1+0 records out
65536 bytes transferred in 0.003038 secs (21572587 bytes/sec)
tar: Truncated input file (need to skip 158233774 bytes)
Archive Format: POSIX ustar format, Compression: none
Das in foo.tar enthaltene data.tar befindet sich logisch "hinter" /meta.
tar hat die unangenehme Eigenschaft, dass es trotz Suchmuster das ganze
Archiv durchleiert, denn es KÖNNTE ja hinten noch was kommen, was
matcht.
Das wäre halt der "hack".
Gruß
--
Raphael Becker http://rabe.uugrn.org/
http://schnitzelmitkartoffelsalat.und.rahmspin.at/
.........|.........|.........|.........|.........|.........|.........|..
--
http://mailman.uugrn.org/mailman/listinfo/uugrn
- application/pgp-signature Anhang: stored
Received on Sat Jan 20 22:34:07 2007