CentOs:无法使用curl提取下载的tar

时间:2016-09-17 08:43:34

标签: curl centos gzip tar ls

我正在尝试使用curl:

下载node
$>  curl https://nodejs.org/dist/latest/node-v6.6.0.tar.xz | tar xz -C /opt

现在,在我的Mac上,这有效。但是,在CentOs中,这不起作用:

$> curl https://nodejs.org/dist/latest/node-v6.6.0.tar.xz | tar xz -C /opt
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                             Dload  Upload   Total   Spent    Left  Speed
  0 14.8M    0   941    0     0   1214      0  3:33:54 --:--:--  3:33:54  1214
gzip: stdin: not in gzip format
tar: Child died with signal 13
tar: Error is not recoverable: exiting now
0 14.8M    0 42083    0     0  51628      0  0:05:01 --:--:--  0:05:01 51635
curl: (23) Failed writing body (246 != 1369)

我不明白这里到底发生了什么。

如果我拆分命令并执行

$> curl https://nodejs.org/dist/latest/node-v6.6.0.tar.xz > node.tgz
$> tar -xvf node.tgz // NOTE that I omitted the `z`

它有效。基于此,也许curl解压缩了我试过的文件

$> curl https://nodejs.org/dist/latest/node-v6.6.0.tar.xz | tar x -C /opt
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                             Dload  Upload   Total   Spent    Left  Speed
0 14.8M    0   941    0     0   1005      0  4:18:23 --:--:--  4:18:23  1004tar: Archive is compressed. Use -J option
tar: Error is not recoverable: exiting now
0 14.8M    0 17325    0     0  18258      0  0:14:13 --:--:--  0:14:13 18256
curl: (23) Failed writing body (428 != 1369)

不:(任何帮助都会受到赞赏吗?

1 个答案:

答案 0 :(得分:2)

当您使用选项" -z"在tar应用程序中正在等待.gz(gunzip)格式。

您应该使用选项" J":

curl https://nodejs.org/dist/latest/node-v6.6.0.tar.xz | tar xJ -C /tmp