Não é possível tar um arquivo .tgz

6

Eu tenho um arquivo .tgz e estou executando tar -xfvz cudnn-9.0-linux-x64-v7.tgz , mas recebo o seguinte erro:

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

Eu não entendo porque isso está acontecendo. Eu obtive o arquivo usando o seguinte comando curl: curl -O https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.0.5/prod/9.0_20171129/cudnn-9.0-linux-x64-v7.tgz

Talvez este seja um problema com curl ? Eu tentei usar wget , mas nem sequer obtive o arquivo por algum motivo.

O que estou fazendo de errado?

Com o comando: tar -xfz cudnn-9.0-linux-x64-v7.tgz , recebo o seguinte erro:

tar: z: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
    
por Jonathan 30.03.2018 / 22:12

3 respostas

11

Sua resposta é simples, esse arquivo não existe e curl apenas salva um documento HTML como um arquivo .tgz !

Você pode verificar isso abrindo este link no seu navegador. Como você pode ver, Página não encontrada!

Além disso, você pode verificá-lo por linha de comando:

curl -Is https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.0.5/prod/9.0_20171129/cudnn-9.0-linux-x64-v7.tgz | head -n 1
HTTP/1.1 404 Not Found

Como você pode ver, ele tem o mesmo resultado.

Então, quando você executar este comando:

curl -O https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.0.5/prod/9.0_20171129/cudnn-9.0-linux-x64-v7.tgz

Curl basta baixar esta página da web e salvá-lo como .tgz file. Assim, você pode alterar o sufixo .tgz para .html e abrir esse arquivo com o navegador da Web favorito, como o firefox, porque não está no formato gzip, é apenas um documento HTML.

Além disso, quando verificamos o formato do arquivo cudnn-9.0-linux-x64-v7.tgz , como você vê, ele é HTML document e não é gzip compressed data :

file cudnn-9.0-linux-x64-v7.tgz 
cudnn-9.0-linux-x64-v7.tgz: HTML document, ASCII text, with very long lines, with CRLF, LF line terminators

Atualização:

Para fazer o download cudnn , acesse esta página e, depois de fazer login, você poderá encontrar muitas versões de cuddn que você pode baixá-los.

E este é exatamente o mesmo arquivo com o qual você deseja fazer o download antes (mas agora muitas novas versões e arquivos de instalação fáceis como .deb estão disponíveis e você pode baixá-los).

Update2 :

Como você disse, você não pode acessar o navegador da web, eu tenho este link de download e escreva este comando:

curl -O http://developer.download.nvidia.com/compute/redist/cudnn/v7.0.5/cudnn-9.0-linux-x64-v7.tgz

Assim, você pode usá-lo por linha de comando sem navegador da Web ou fazendo login.

    
por Ali Razmdideh 30.03.2018 / 22:40
1

De acordo com este Superusuário answer:

If you are using the -v flag, try leaving it off. This should reduce the output and let you see what is going on.

Verificarei se consigo encontrar um link melhor. Enquanto isso, altere seu comando para:

tar -xfz cudnn-9.0-linux-x64-v7.tgz

Agora você pode ver todas as mensagens de erro. Em seguida, ajuste sua pergunta de acordo ou responda à sua própria pergunta usando as novas informações.

    
por WinEunuuchs2Unix 30.03.2018 / 22:27
0

A opção f especifica o arquivo, portanto, você deve fornecer o nome do arquivo logo após a opção f (o pedido é importante nesse caso):

Além disso, o arquivo não é compactado, portanto, remova a opção z

tar -xvf cudnn-9.0-linux-x64-v7.tgz
    
por denmu 30.03.2018 / 22:30