tar files created with busybox, then manipulated with GNU tar appear to result in corrupted output.

$ busybox
BusyBox v1.2.2 (2007.04.10-14:29+0000) multi-call binary

$ tar --version
tar (GNU tar) 1.18

$ tar --help
*This* tar defaults to:
--format=gnu -f- -b20 --quoting-style=escape
--rmt-command=/usr/local/libexec/rmt

$ busybox tar cf example.tar /etc/alsa
tar: Removing leading '/' from member names

$ tar --file example.tar --delete etc/alsa/cards/aliases.conf

$ tar --file example.tar --append /etc/alsa/cards/aliases.conf
/tmp/tar-1.18/src/tar: Skipping to next header
/tmp/tar-1.18/src/tar: Removing leading `/' from member names
/tmp/tar-1.18/src/tar: Error exit delayed from previous errors

$ tar --file example.tar --list | grep aliases.conf
/tmp/tar-1.18/src/tar: Skipping to next header
/tmp/tar-1.18/src/tar: Error exit delayed from previous errors


/etc/alsa is an arbitrary choice - I originally noticed this when trying to update a single file in the saved backup of an embedded device.

Looking at a hexdump of the post-append file, the added file *is* present despite what --list reports, then following the zero blocks appear 2560 bytes of some other file contents.


Cheers,
Phil


Reply via email to