1

Я загрузил образ lubuntu с помощью wget с указанным размером файла 694 МБ, но загруженный файл имеет размер 789 МБ. когда я делаю wget -c, это дает, что файл уже загружен. Но размер файла на 100 МБ больше указанного.

Размер загруженного файла можно увидеть здесь:

-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

Как мне решить эту проблему. Я уверен, что я могу получить нужный файл из загруженного файла. Может кто-нибудь указать мне в этом направлении, пожалуйста.

1 ответ1

1

некоторые замечания:

а) веб-сервер сообщает вам (если это хороший веб-сервер) через запись заголовка http о длине контента, которая вот-вот должна появиться. см .: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13 это может быть правдой или не так.

b) если веб-сервер не прекращает отправку данных после достижения длины контента, тогда веб-сервер солгал о длине контента или о чем-то еще.

c) какая-то вовлеченная сторона между вашим wget и веб-сервером, поигравшая с данными.

Итак, я бы по крайней мере использовал «https», чтобы, по крайней мере, сделать в) намного сложнее.

листинг файла на http://cdimage.ubuntu.com/lubuntu/releases/14.04/release/ показывает, что сам сервер считает, что длина содержимого составляет около 694 МБ. единственный действительный способ проверить, является ли загруженный файл именно тем, который находится на сервере (поразрядно), это проверить sha256sum downloaded_file по записи в http://cdimage.ubuntu.com/lubuntu/releases/14.04/release/SHA256SUMS

вы также можете попробовать либо торрент-версии там, либо вы можете попробовать zsync-ссылки (например, http://cdimage.ubuntu.com/lubuntu/releases/14.04/release/lubuntu-14.04-desktop-amd64.iso. zsync ). что такое zsync? хорошо: http://zsync.moria.org.uk/

msgstr "zsync - программа для передачи файлов. Это позволяет вам загрузить файл с удаленного сервера, где у вас уже есть копия более старой версии файла на вашем компьютере. zsync загружает только новые части файла. "

для того, чтобы «я уверен, что я могу извлечь требуемый файл из загруженного файла», вы должны быть уверены, что по крайней мере "некоторые блоки" загруженных вами данных равны некоторым блокам исходного файла. Итак, как это проверить? Вы проверяете блоки контрольных сумм вашего загруженного файла и сверяете их с контрольными суммами блоков исходного файла. Поздравляю, вы заново изобрели rsync-протокол, и именно это использует zsync (для загрузки только отсутствующих блоков).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .