这看起来不像是一个 tar 存档

这看起来不像是一个 tar 存档

我正在尝试使用管道将一些大目录从我的远程 Debian 9 服务器快速复制到 WSL(适用于 Linux 的 Windows 子系统;Windows 10 Pro)上的本地 Debian 9 ssh "tar" | tar

ssh [email protected] "cd /path/to/resource && tar czf - resource1 resource2" | tar xzvf -

当我运行此命令时,我收到错误消息

gzip:stdin:不是 gzip 格式
tar:子进程因信号 13 而死亡
tar:错误无法恢复:现在退出

如果我做同样的事情,没有z参数

ssh [email protected] "cd /path/to/resource && tar cf - resource1 resource2" | tar xvf -

我收到这些错误:

tar:这看起来不像是 tar 存档
tar:跳至下一个标题

沒有提示。

我之前在不同的硬件上运行过这个命令几次,在这个特定情况下,我只是从几天前的 bash_history 中重新运行了这个命令。它当时已经运行过,但现在不运行了。

如果我使用scp启用压缩的方式(速度会慢很多)

scp -rC [email protected]:/path/to/resource/resource1 .

我收到此错误:

协议错误:mtime.sec 不存在

我该怎么做才能让它发挥作用?

tar 版本
本地:tar (GNU tar) 1.29
远程:tar (GNU tar) 1.29

bash 版本
本地:GNU bash,版本 4.4.12(1)-release (x86_64-pc-linux-gnu)
远程:GNU bash,版本 4.4.12(1)-release (x86_64-pc-linux-gnu)

Linux 版本 (cat /proc/version)
本地:Linux 版本 4.4.0-17134-Microsoft ([电子邮件保护]) (gcc 版本 5.4.0 (GCC) ) #523-Microsoft 2018 年 12 月 31 日星期一 17:49:00 PST
远程:Linux 版本 4.9.0-5-amd64 ([电子邮件保护]) (gcc 版本 6.3.0 20170516 (Debian 6.3.0-18) ) #1 SMP Debian 4.9.65-3+deb9u2 (2018-01-04)

答案1

这是远程服务器上的一个错误。对于我在那里运行的某个程序 (tig),我需要一个 256 色 xterm,我通过这个脚本设置它。我最近才安装它。

if [ -e /usr/share/terminfo/x/xterm-256color ]; then
    export TERM='xterm-256color'
    echo TERM set to 256 colors
elif [ -e /usr/share/terminfo/x/xterm+256color ]; then
    export TERM='xterm-256color'
    echo TERM set to 256 colors
else
    export TERM='xterm-color'
    echo TERM set to color
fi

我需要消除回声,然后它再次运行

if [ -e /usr/share/terminfo/x/xterm-256color ]; then
    export TERM='xterm-256color'
elif [ -e /usr/share/terminfo/x/xterm+256color ]; then
    export TERM='xterm-256color'
else
    export TERM='xterm-color'
fi

谢谢杰拉德·施奈德提示

请注意厚颜无耻的评论如下

相关内容