gzip: stdin: tidak dalam format gzip

26

Ketika saya menjalankan:

tar -zxvf john-1.7.0.2.tar.gz

Saya mendapatkan ini:

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

Seharusnya mulai membongkar.

Beberapa orang mengatakan kepada saya untuk tidak menggunakan ztetapi saya mendapatkan kesalahan yang sama.

Ini file yang saya unduh dengan cara ini:

wget http://openwall.com/john/f/john-1.7.0.2.tar.gz
Tim fusi merah
sumber
4
Tautan yang Anda poskan tampaknya merupakan halaman web bukan arsip yang sebenarnya:john-1.7.0.2.tar.gz: HTML document, ASCII text, with very long lines
steeldriver

Jawaban:

25

Mendiagnosis File yang Diunduh dari Jenis yang Salah

Seperti yang dikatakan steeldriver , ini berarti file tersebut tidak benar-benar file tar yang di-gzip - atau jenis file yang di-gzip - meskipun diberi nama seperti itu.

Ketika Anda mengunduh file dengan wget, sering ada indikasi bahwa Anda akhirnya mendapatkan jenis file yang berbeda dari yang Anda cari:

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]

Dalam hal ini, tanda-tanda utamanya adalah:

  • The 301 Moved Permanentlypesan, mengarahkan ke alamat dengan Trailing /. Ini memuat halaman default untuk beberapa direktori di server, yang biasanya index.htmldan hampir selalu berupa file HTML.
  • Length: unspecified [text/html], memberi tahu Anda bahwa Anda menerima teks biasa ( text) dan dimaksudkan untuk diartikan sebagai html. Ini benar-benar lebih dari sekadar tanda - Anda bisa yakin Anda belum mendapatkan file gzip asli berdasarkan ini.

Anda juga dapat menggunakan fileutilitas, yang memeriksa file dan memberi tahu Anda seperti apa file itu:

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

Dan tentu saja Anda dapat memeriksa file sendiri, dengan alat seperti head, less, dan 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">

Jika ini benar-benar file biner, maka Anda akan mendapatkan sejumlah besar sampah yang tidak berarti, karena pager atau pemirsa apa pun yang Anda gunakan sia-sia mencoba menafsirkan sesuatu sebagai teks biasa yang sebenarnya tidak. Misalnya, pada file yang benar:

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▒▒ߪ▒▒▒▒▒▒▒▒▒▒_♠▒-▒

(Saya hanya menyalin awal itu.)

Mendapatkan File yang Tepat

Itu memberi tahu Anda bagaimana mencari tahu apa yang salah dalam situasi ini (dan dalam kasus ini, khususnya). Tetapi bagaimana Anda benar-benar menemukan dan mengunduh file yang benar ?

Ini bervariasi dari situasi ke situasi. Namun, awal yang baik adalah:

  • Kunjungi situs web resmi untuk perangkat lunak dan lihat apakah mereka menyediakan tautan unduhan. Bahkan jika itu cara Anda mendapatkan tautan yang Anda gunakan pada awalnya, jika beberapa waktu telah berlalu Anda mungkin menemukan bahwa tautan tersebut telah berubah.

    Misalnya, dalam kasus khusus ini, versi saat ini adalah 1.8.0 bukannya 1.7.0.2 (dan disediakan di jsubdirektori sebagai gantinya f), dan versi lama tidak lagi tersedia di URL yang sama.

  • Buka halaman yang Anda arahkan ke ketika Anda mengunduh file. Dalam hal ini, itu adalah: http://www.openwall.com/john/

    Atau Anda bahkan dapat memeriksa file yang telah diunduh. (Atau buka itu di web browser.)

Anda diarahkan ke halaman unduh utama perangkat lunak . Anda dapat mengunduh di browser web, atau menyalin tautan unduhan yang benar dan mengunduhnya wget. Ada beberapa pilihan, tapi dengan asumsi Anda tidak benar-benar perlu yang versi lama spesifik Anda mencoba untuk download, dan berdasarkan file tertentu Anda lakukan upaya untuk download, saya menduga http://openwall.com/john/j/ john-1.8.0.tar.gz adalah apa yang Anda cari.

Tentu saja, pembaca yang menemukan posting ini nanti mungkin menemukan bahwa tautan tidak lagi berfungsi. Tetapi pendekatan yang diperlihatkan di sini untuk pemecahan masalah masalah semacam ini akan tetap valid.

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]

Saya sudah mengunduh file. Perhatikan bahwa, kali ini, tidak ada pengalihan yang tidak diinginkan terjadi dan jenisnya diberikan sebagai application/x-targanti text/html.

(Pengalihan HTTP tidak selalu buruk. Saat Anda diarahkan ke sesuatu yang sepertinya bukan file yang Anda cari, Anda harus curiga bahwa unduhan Anda belum benar-benar berhasil.)

file setuju:

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

Dan berhasil membongkar:

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

(Anda benar bahwa tidak masalah jika Anda menggunakan z; itu akan tetap bekerja dengan baik tar xzf, karena ini adalah file yang benar.)

Anda dapat melanjutkan untuk membangun kode sumber dan menginstal.

Ingat, Anda Tidak Selalu Harus Membangun Dari Sumber

Kadang-kadang Anda benar-benar menginginkan versi terbaru dari suatu program, dan itu tidak ada dalam repositori Ubuntu. Anda mungkin mencoba menemukan PPA, tetapi jika Anda tidak menemukan PPA yang benar-benar Anda percayai atau yang menyediakan apa yang Anda inginkan, atau Anda ingin membuatnya dengan opsi khusus, atau Anda hanya suka membangun dari kode sumber, maka membangun dari kode sumber adalah teknik yang berharga dan bermanfaat.

Saya merekomendasikan untuk memeriksa setidaknya perangkat lunak yang tersedia di repositori resmi Ubuntu untuk sistem Anda. Di sistem 16.04 saya:

ek@Io:~$ apt show john
Package: john
Version: 1.8.0-2
Priority: optional
Section: admin
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Ruben Molina <[email protected]>
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.

Ada beberapa cara lain untuk mencari paket. Seringkali berguna untuk menggunakan halaman web Pencarian Paket Ubuntu .

Karena Anda akan mencoba untuk menginstal versi 1.7.0.2, mungkin versi 1.8.0 di repositori resmi sudah cukup baru. (Memang, 1.8.0 tampaknya versi yang sama dengan yang disediakan untuk diunduh dari situs web resmi.) Jadi, Anda mungkin hanya ingin menginstalnya:

sudo apt update
sudo apt install john
Eliah Kagan
sumber