gzip: stdin: no en formato gzip


26

Cuando corro:

tar -zxvf john-1.7.0.2.tar.gz

Entiendo esto:

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

Debería comenzar a desempacar.

Algunas personas me dijeron que no usara el zpero obtengo el mismo error.

Es un archivo que descargué de esta manera:

wget http://openwall.com/john/f/john-1.7.0.2.tar.gz

44
El enlace que publicó parece ser una página web, no un archivo real:john-1.7.0.2.tar.gz: HTML document, ASCII text, with very long lines
steeldriver

Respuestas:


25

Diagnosticar un archivo descargado del tipo incorrecto

Como dice steeldriver , esto significa que el archivo no es realmente un archivo tar comprimido, ni ningún tipo de archivo comprimido, a pesar de ser nombrado como tal.

Cuando descarga un archivo wget, a menudo hay indicios de que ha terminado obteniendo un tipo de archivo diferente al que estaba buscando:

ek@Io:~$ wget http://openwall.com/john/f/john-1.7.0.2.tar.gz
--2017-01-28 23:57:33--  http://openwall.com/john/f/john-1.7.0.2.tar.gz
Resolving openwall.com (openwall.com)... 195.42.179.197
Connecting to openwall.com (openwall.com)|195.42.179.197|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.openwall.com/john/ [following]
--2017-01-28 23:57:40--  http://www.openwall.com/john/
Resolving www.openwall.com (www.openwall.com)... 195.42.179.202
Connecting to www.openwall.com (www.openwall.com)|195.42.179.202|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘john-1.7.0.2.tar.gz’

john-1.7.0.2.tar.gz                          [      <=>                                                                        ]  15.27K  3.61KB/s    in 4.2s

2017-01-28 23:57:51 (3.61 KB/s) - ‘john-1.7.0.2.tar.gz’ saved [15633]

En este caso, los principales signos son:

  • El 301 Moved Permanentlymensaje, redirigiendo a una dirección con un final /. Esto carga la página predeterminada para algún directorio en el servidor, que generalmente es index.htmly casi siempre un archivo HTML.
  • Length: unspecified [text/html], diciéndole que está recibiendo texto sin formato ( text) y que está destinado a ser interpretado como html. Esto es realmente más que una señal: puede estar bastante seguro de que no ha obtenido un archivo comprimido real basado en esto.

También puede usar la fileutilidad, que examina un archivo y le dice qué tipo de archivo parece ser:

ek@Io:~$ file john-1.7.0.2.tar.gz
john-1.7.0.2.tar.gz: HTML document, ASCII text, with very long lines

Y, por supuesto, se puede examinar el archivo usted mismo, con herramientas como head, lessy view:

ek@Io:~$ head john-1.7.0.2.tar.gz
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE>John the Ripper password cracker</TITLE>
<link href="/ubuntu//style.css" type="text/css" rel="stylesheet">
<META name="keywords" content="John the Ripper, password cracker, JtR, password checker, password recovery, password, cracker, crackers, cracking, crack, crypt, passwd, shadow, Unix, Linux, Windows, Win32, Mac OS X, Mac OSX, MacOS X, OS X, OSX, DOS, VMS, OpenVMS, hash, DES, MD5, Blowfish, Kerberos, AFS, LM, LanMan, LanManager, NT, 2000, XP, 2003, Vista, 7, NTLM, NTLMv1, MD4, Netscape LDAP, SHA, SSHA, MySQL, TGT, s/key, Eggdrop, Apache, apr1, SYSUAF, SYSUAF.DAT, AltiVec, MMX, SSE, SSE2, AVX, XOP, wordlist, wordlists, dictionary, brute force, decrypt, challenge, response, John, Ripper, john, jhon, jonh, jack, Jack the Ripper">
<META name="description" content="A fast password cracker for Unix, Windows, DOS, and OpenVMS, with support for Unix, Windows, and Kerberos AFS passwords, plus a lot more with contributed patches">
</HEAD>

<BODY bgcolor="#E0E0E0" text="black" link="blue" alink="red" vlink="navy">

Si esto fuera realmente un archivo binario, entonces habría obtenido un montón de basura sin sentido, ya que el buscapersonas o el visor que usa infructuosamente intenta interpretar algo como texto sin formato que realmente no lo es. Por ejemplo, en el archivo correcto:

ek@Io:~$ head john-1.8.0.tar.gz
WӦQ♥john-1.8.0.tar ▒▒kw▒ر&▒▒ٿ▒▒▒▒4E]|▒v▒NF▒d[▒n▒▒▒L&▒HB▒$▒ ▒df͚▒▒▒▒▒ꩪ▒7@▒▒▒9ӳf▒▒J▒m     ▒ؗ▒u▒▒~,▒ї▒▒▒ˣ▒▒ӣ_▒▒▒▒C▒▒|▒▒▒▒▒şw▒v▒▒>▒|w▒▒▒}▒▒▒ί▒▒i9▒?7+▒gY7i▒$▒▒ʲ▒▒s?▒J'MV%▒rY4ur[▒4▒▒e▒▒.▒▒▒▒▒&/u▒-2▒W▒▒V▒▒!o▒0b▒▒▒♥▒|Q▒4▒▒▒&▒▒Y1Y▒F▒▒Iy▒▒▒▒$▒▒▒▒,▒]▒h▒▒8▒"▒▒M▒,Һ~(▒i▒4Y▒d▒QgQ▒*ۚf7yA▒.▒&i▒<d▒↓▒7▒H_-l▒7▒▒▒Z▒▒.m▒▒ʒ%F,▒۬▒*▒▒hrW▒cY▒▒
▒+▒O1▒-y>▒▒J▒yM?▒4I▒▒▒kYS▒▒:▒▒n▒C▒▒%▒▒▒v▒▒▒{[[tN▒9▒▒▒kA▒▒▒▒▒/[▒▒▒▒u▒▒▒z▒▒▒▒>▒▒5▒▒▒▒t▒t▒▒Y6Û<▒*/i▒i{K>▒,▒▒▒▒▒;9)▒Z.mJSeiLB▒▒▒▒▒j▒▒eQ緅▒_▒α▒Ŋ▒▒▒W▒▒▒▒▒_▒▒ˢ▒▒-q▒<gyw͍▒9▒?▒,▒▒▒▒h&▒V"▒▒▒▒▒▒▒l▒▒3▒▒▒▒\▒▒i#▒▒综▒◄0▒▒▒.e♠>a▒▒▒▒▒▒$klt:▒▒rA▒M▒'F▒R▒▒▒▒Lo▒♥1z▒\▒↓X▒▒▒P"֕▒▒▒♦▒▒▒▒|▒▒▒▒▒▒1I▒o"'#|6e▒▒t▒Ц▒FVL▒▒S▒ޓ▒▒;▒x▒▒▒▒▒▒▒QVrr▒▒▒9O▒W7▒♠Og▒
▒▒▒8▒▒/▒▒dm▒FG'▒'t2L▒▒&L▒Y:▒▒▒▒▒4▒rI<▒#▒+▒je▒▒▒>T9▒▒M▒XE-ʆ▒▒'n▒▒$↑▒m▒W▒▒w̕▒▒m▒n%▒|A_▒yGp↑D▒↓߻▒▒▒i▒▒}ӡH▒▒▒▒׍$$H▒▒&▒▒4▒▒▒Z-@♣▒*~▒▒▒ y6▒▒▒`▒v↓▒s▒+̱▒?▒1▒▒▒<▒>▒^▒▒Y#k▒
7`N'▒o▒.&▒▒(▒Դ~AD▒"E◄' lq▒`▒▒`▒[▒9◄▒▒wzuK▒N▒▒Y▒▒%or▒▒)▒▒i↓▒▒▒l5.S▒޶r▒_*▒RO▒{▒$▒(▒▒▒▒C▒·▒▒׀f2ˊ[:▒▒▒,|ew▒▒▒Ag▒'▒▒▒H▒▒t▒{͓▒▒▒▒JH˭s▒)g▒ON▒▒eŚQ▒▒▒♠ s▒▒ߪ▒▒▒▒▒▒▒▒▒▒_♠▒-▒

(Solo he copiado el principio de eso).

Conseguir el archivo correcto

Eso le dice cómo averiguar qué salió mal en estas situaciones (y en este caso, en particular). Pero, ¿cómo encuentras y descargas el archivo correcto ?

Esto varía de una situación a otra. Sin embargo, un buen comienzo es:

  • Vaya al sitio web oficial del software y vea si ofrecen enlaces de descarga. Incluso si así es como obtuvo el enlace que está utilizando originalmente, si ha pasado algún tiempo, puede encontrar que el enlace ha cambiado.

    Por ejemplo, en este caso particular, la versión actual es 1.8.0 en lugar de 1.7.0.2 (y se proporciona en el jsubdirectorio en lugar de f), y la versión anterior ya no está disponible en la misma URL.

  • Vaya a la página a la que fue redirigido cuando descargó el archivo. En este caso, eso es: http://www.openwall.com/john/

    O incluso puede examinar el archivo que se descargó. (O bien, abra que en un navegador web.)

Te redireccionaron a la página de descarga principal del software . Puede descargar en un navegador web o copiar un enlace de descarga actual correcto y descargarlo con wget. Hay algunas opciones, pero suponiendo que en realidad no necesita esa versión específica de edad que estaba tratando de descarga, y con base en el archivo específico que hizo intento de descarga, que sospechan http://openwall.com/john/j/ john-1.8.0.tar.gz es lo que estás buscando.

Por supuesto, los lectores que encuentren esta publicación más tarde pueden encontrar que el enlace ya no funciona. Pero el enfoque demostrado aquí para solucionar este tipo de problema seguirá siendo válido.

ek@Io:~$ wget http://openwall.com/john/j/john-1.8.0.tar.gz
--2017-01-29 00:16:19--  http://openwall.com/john/j/john-1.8.0.tar.gz
Resolving openwall.com (openwall.com)... 195.42.179.197
Connecting to openwall.com (openwall.com)|195.42.179.197|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5450412 (5.2M) [application/x-tar]
Saving to: ‘john-1.8.0.tar.gz’

john-1.8.0.tar.gz                        100%[================================================================================>]   5.20M  78.8KB/s    in 26s

2017-01-29 00:16:47 (202 KB/s) - ‘john-1.8.0.tar.gz’ saved [5450412/5450412]

He descargado el archivo. Tenga en cuenta que, esta vez, no se produjo una redirección no deseada y el tipo se da como en application/x-tarlugar de text/html.

(Una redirección HTTP no siempre es mala. Es cuando te redirigen a algo que no parece ser realmente el archivo que estás buscando y debes sospechar que tu descarga realmente no ha tenido éxito).

file acepta:

ek@Io:~$ file john-1.8.0.tar.gz
john-1.8.0.tar.gz: gzip compressed data, was "john-1.8.0.tar", last modified: Thu May 30 04:19:35 2013, max compression, from Unix

Y se desempaqueta con éxito:

ek@Io:~$ tar xf john-1.8.0.tar.gz
ek@Io:~$ cd john-1.8.0/
ek@Io:~/john-1.8.0$ ls -l
total 12
drwxrwxr-x 2 ek ek 4096 Jan 29 00:22 doc
lrwxrwxrwx 1 ek ek   10 May 29  2013 README -> doc/README
drwxrwxr-x 2 ek ek 4096 Jan 29 00:22 run
drwxrwxr-x 2 ek ek 4096 Jan 29 00:22 src

(Tiene razón en que no importa si usa el z; todavía habría funcionado tar xzf, ya que este es el archivo correcto).

Puede proceder a compilar el código fuente e instalarlo.

Recuerde, no siempre tiene que construir desde la fuente

A veces realmente quieres la última versión de un programa, y ​​no está en los repositorios de Ubuntu. Puede intentar encontrar un PPA, pero si no encuentra ninguno en el que realmente confíe o que le brinde lo que desea, o si desea construirlo con opciones personalizadas, o simplemente le guste construir desde el código fuente, luego construir desde El código fuente es una técnica valiosa y útil.

Sin embargo, recomiendo verificar al menos el software que está disponible en los repositorios oficiales de Ubuntu para su sistema. En mi sistema 16.04:

ek@Io:~$ apt show john
Package: john
Version: 1.8.0-2
Priority: optional
Section: admin
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Ruben Molina <rmolina@udea.edu.co>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 452 kB
Depends: libc6 (>= 2.14), john-data (= 1.8.0-2)
Suggests: wordlist
Homepage: http://www.openwall.com/john/
Supported: 5y
Download-Size: 184 kB
APT-Sources: http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
Description: active password cracking tool
 John the Ripper is a tool designed to help systems administrators to
 find weak (easy to guess or crack through brute force) passwords, and
 even automatically mail users warning them about it, if it is desired.
 .
 Besides several crypt(3) password hash types most commonly found on
 various Unix flavors, supported out of the box are Kerberos AFS and
 Windows NT/2000/XP/2003 LM hashes, plus several more with contributed
 patches.

Hay varias otras formas de buscar paquetes. A menudo es útil usar la página web de Búsqueda de paquetes de Ubuntu .

Como iba a intentar instalar la versión 1.7.0.2, presumiblemente la versión 1.8.0 en los repositorios oficiales es lo suficientemente reciente. (De hecho, 1.8.0 parece ser la misma versión que la que se proporciona para descargar desde el sitio web oficial). Por lo tanto, es posible que desee instalar eso:

sudo apt update
sudo apt install john
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.