我已经从我的 Linux 服务器创建tar.gz
,并且我将其下载到我的 Linux 系统并成功untar
完成tar -xvf package.tar.gz
。
现在我的问题是
我下载了同样的文件package.tar.gz
到 Windows 系统,然后上传到另一台 Linux 服务器,并尝试了同样的命令tar -xvf package.tar.gz
。但是它
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Exiting with failure status due to previous errors
作为回应。我还尝试了 filezill 模式的手动传输binary
。
我怎样才能做到这一点?
更新
当我直接下载到Linux系统时,它运行良好。
当我下载到 Windows 系统并尝试使用 7zip 或 winrar 提取时出现错误
当我下载到 Windows 并上传到 Linux 时,出现同样的错误
答案1
您可以先将其分解为 unzip,然后 untar
gunzip package.tar.gz
tar xfv package.tar
或者用一个命令完成
gunzip -c package.tar.gz | tar xfv -
也许在其他 Linux 系统上 tar 无法识别 gz 文件或需要 z 标志。
答案2
您可以一步完成 gunzip 和 untar 操作,无需使用管道:
tar xvfz package.tar.gz
or depending on the tar version you have, you may need a dash -
tar -xvfz package.tar.gz
相当于
gunzip -c package.tar.gz | tar xfv -
答案3
我还没有 50 点声望,所以我无法添加评论,只能回复。
按照 Jason Lewis 所说的做。获取文件的 md5 哈希值,看看它们是否在途中被损坏。
在 Linux 上,使用 md5sum 命令
在 Windows 上,下载 Microsoft 的 FCIV 工具并使用它。
然后,您可以查看文件在传输到 Windows 时是否损坏,或者文件在 Windows 上完好无损,但在传输到 Linux 时损坏。这将大大缩小您的调试范围
FCIV 现已推出:
http://www.microsoft.com/en-us/download/details.aspx?id=11533
Windows 示例 fciv
http://geekswing.com/wp-content/uploads/2014/04/windows_md5sum_sha1_example.jpg