Older server always do the decompression.
In newer version (3.3.x), server compression is decompressed on the
server and client compression is decompressed on the client.
This bug is fixed in 3.3.6
Jean-Louis
On 01/21/2015 03:41 AM, Schoepflin, Markus wrote:
Hello,
I'm facing an odd problem when using custom compressed tar archives:
amrecover fails to extract them when using client version 3.3.1, but it
works without problems on another client which is using client version
2.6.1.
Configuration on server (Amanda 2.6.1 on Debian 6.0.10):
define dumptype gnutar-xz-remote {
auth "ssh"
ssh_keys "/etc/amanda/id_amanda-server"
compress client custom
client-custom-compress "/etc/amanda/xz-1"
index yes
program "GNUTAR"
tape_splitsize 1 gbyte
split_diskbuffer "/data/amanda/split_diskbuffer"
}
and for the disk list:
<host> /etc gnutar-xz-remote
Configuration on client (Amanda 3.3.1 on Debian 7.8):
conf "MyConfig"
index_server "<server>"
tape_server "<server>"
auth "ssh"
ssh_keys "/etc/amanda/id_amanda-client"
Contents of /etc/amanda/xz-1:
#!/bin/bash
exec /usr/bin/xz -1 "$@"
Now, when executing amrecover on the client:
amrecover> setdisk /etc
200 Disk set to /etc.
amrecover> add *
Added dir /xml/ at date 2015-01-20-00-45-01
[...]
Added file /adduser.conf
amrecover> extract
[...]
Restoring files into directory /tmp/tmp.JwS8LFGzAS
All existing files in /tmp/tmp.JwS8LFGzAS can be deleted
Continue [?/Y/n]? y
tar: This does not look like a tar archive
tar: ./adduser.conf: Not found in archive
[...]
tar: ./xml: Not found in archive
tar: Exiting with failure status due to previous errors
And amrecover hangs, but can be interrupted with CTRL-C.
Relevant contents of amrecover debug log file from the client:
Wed Jan 21 09:24:36 2015: thd-0x1978a00: amrecover: read header 32768
=> 32768
Wed Jan 21 09:24:39 2015: thd-0x1978a00: amrecover: User prompt:
'Continue [?/Y/n]? '; response: 'y'
Wed Jan 21 09:24:39 2015: thd-0x1978a00: amrecover: image is
compressed /etc/amanda/xz-1
Wed Jan 21 09:24:39 2015: thd-0x1978a00: amrecover: Spawning
"/etc/amanda/xz-1 /etc/amanda/xz-1 -d" in pipeline
Wed Jan 21 09:24:39 2015: thd-0x1978a00: amrecover: Exec'ing /bin/tar
with arguments:
Wed Jan 21 09:24:39 2015: thd-0x1978a00: amrecover: tar
Wed Jan 21 09:24:39 2015: thd-0x1978a00: amrecover: --ignore-zeros
Wed Jan 21 09:24:39 2015: thd-0x1978a00: amrecover:
--numeric-owner
Wed Jan 21 09:24:39 2015: thd-0x1978a00: amrecover: -xpGvf
Wed Jan 21 09:24:39 2015: thd-0x1978a00: amrecover: -
Wed Jan 21 09:24:39 2015: thd-0x1978a00: amrecover: ./adduser.conf
[...]
Wed Jan 21 09:24:39 2015: thd-0x1978a00: amrecover: ./xml
/usr/bin/xz: (stdin): File format not recognized
Wed Jan 21 09:26:21 2015: thd-0x1978a00: amrecover: sending: QUIT
Note that xz complains that it cannot recognize the file format. An
indeed, when replacing /etc/amanda/xz-1 on the client with this:
#!/bin/bash
cat -
the extract command works and completes successfully.
It looks like the server is already uncompressing the tar archive and
the client is trying the same again.
Note there is also a Debian bug ticket about this problem from 2012:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=687312. In the ticket
the server was running 2.5.2 and the client 3.3.1.
Is this a known problem when mixing newer clients with older servers?
Can this be worked around somehow?
Thanks for any help,
Markus