Wgetは実際のファイルよりも多くのデータをダウンロードしました


1

wgetを使用して前述のファイルサイズ694MBのlubuntuイメージをダウンロードしましたが、ダウンロードされたファイルのサイズは789MBです。 wget -cを実行すると、ファイルは既にダウンロードされています。しかしファイルサイズは与えられたものより100MB大きいです。

ダウンロードされたファイルサイズはここで見られることができます:

-rw-rw-r-- 1 alex alex  98537904 Jun  1  2011 R284575.exe
-rw-rw-r-- 1 alex alex      4928 Sep 25 11:06 wget-log
-rw-rw-r-- 1 alex alex 827390116 Sep 25 11:06 lubuntu-14.04-desktop-amd64.iso
-rw-rw-r-- 1 alex alex    148598 Sep 25 11:44 lubuntu-14.04-desktop-amd64.iso.1

ここでは、新しいダウンロードが開始されたときのlubuntuのイメージサイズを確認できます。

wget--limit-rate=40k http://cdimage.ubuntu.com/lubuntu/releases/14.04/release/lubuntu-14.04-desktop-amd64.iso
wget--limit-rate=40k: command not found
alex@dracula:~/Downloads$ wget http://cdimage.ubuntu.com/lubuntu/releases/14.04/release/lubuntu-14.04-desktop-amd64.iso
--2014-09-25 11:44:45--  http://cdimage.ubuntu.com/lubuntu/releases/14.04/release/lubuntu-14.04-desktop-amd64.iso
Resolving cdimage.ubuntu.com (cdimage.ubuntu.com)... 91.189.92.174, 2001:67c:1360:8c01::20
Connecting to cdimage.ubuntu.com (cdimage.ubuntu.com)|91.189.92.174|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 727711744 (694M) [application/x-iso9660-image]
Saving to: ‘lubuntu-14.04-desktop-amd64.iso.1’

 0% [                                                                                                             ] 1,44,218    20.8KB/s  eta 9h 29m 
^C

どうやってこの問題を解決しますか。ダウンロードしたファイルから必要なファイルを取得できると確信しています。誰か私にその方向を教えてください。


これは珍しいようです....あなたはファイルのMD5チェックサムをチェックしてみましたか? codejacked.com/…
joeeey

私にも変わったようだ。明らかにMD5チェックサムチェックは失敗します。しかし、zsyncは私の問題を解決しました
ssatyacc

回答:


1

いくつかの発言:

a)ウェブサーバは(もしそれがいいウェブサーバであれば)行の下に来ることになっている内容長さについてのhttp-header-entryを通してあなたに告げる。見る: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13 これは真実かもしれないしそうでないかもしれません。

b)Webサーバがcontent-lengthに到達した後にデータの送信を停止しない場合、Webサーバはcontent-lengthまたは他の何かについて嘘をついた。

c)あなたのwgetとウェブサーバの間の関係者がデータをいじっていました。

それで、少なくともc)をもっと難しくするために、少なくとも 'https'を使うでしょう。

のファイルリスト http://cdimage.ubuntu.com/lubuntu/releases/14.04/release/ サーバー自体がcontent-lengthは約694mbであると考えていることを示しています。ダウンロードしたファイルがサーバー上にあるもの(ビット単位)であるかどうかを確認する唯一の有効な方法は、 sha256sum downloaded_file のエントリに対して http://cdimage.ubuntu.com/lubuntu/releases/14.04/release/SHA256SUMS

トレント版も試してみるか、zsync-linksを試してみてください(例: http://cdimage.ubuntu.com/lubuntu/releases/14.04/release/lubuntu-14.04-desktop-amd64.iso.zsync ) zsyncとは何ですか?まあ: http://zsync.moria.org.uk/

「zsyncはファイル転送プログラムです。リモートサーバからファイルをダウンロードすることを可能にします。あなたのコンピュータ上の古いバージョンのファイルのコピーをすでに持っています。zsyncはファイルの新しい部分だけをダウンロードします。」

「ダウンロードしたファイルから必要なファイルを取得できることを確認する」には、ダウンロードしたデータの少なくとも「いくつかのブロック」が元のファイルのいくつかのブロックと等しいことを確認する必要があります。だから、これをテストする方法?ダウンロードしたファイルのブロックをチェックサムし、元のファイルのブロックのチェックサムと比較します。おめでとう、rsyncプロトコルを再発明しました。それがzsyncが使用するものです(不足しているブロックのみをダウンロードするため)。


魅力のように働いた。私は問題を見つけることができませんでしたが、私はzsyncを使用して私の790MBのダウンロードからisoファイルの70%を取得しました。
ssatyacc

いいね。読むのがいい。
akira
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.