[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 2 Weekly "wheezy" from jigdo file md5sum errors



On Wednesday 04 April 2012 22:18:08 Thomas Schmitt wrote:
> Hi,
> 
> Alex <alex@laseroffice.it> wrote:
> > Of course, for .iso DVD incorrect, change only last row in error and
> > image is not good.
> > You have any idea ?
> 
> It would be interesting to see the whole message output of a failed
> jigdo download attempt.
> Maybe you can get such a log by
>    jigdo-lite ...usual.options... 2>&1 | tee -i /tmp/jigdo-lite-message-log
> (you will have to repeat the tries until one fails to verify its result).
> 
> If file /tmp/jigdo-lite-message-log is too large for the list, maybe you
> can put it on some publicly reachable web space ?
> 
> 
> Goal is to determine from where the alteration sneaks in.
> Afaik, there are three sources of data involved:
> - The .template file provides the framework of meta-data blocks of the
>   ISO filesystem.
> - The local data files from previous DVD versions ("Files to scan")
>   provide most of the data blocks which get inserted into the holes
>   of .template.
> - The remote data files ("Debian mirror") provide content for those
>   holes, where the MD5 checksum that is recorded in the .jigdo file
>   did not match the checksum of the local file.
> 
> Template file and jigdo file get produced by Debian via libisofs and
> libjte. It is likely that these two files are ok on the download server.
> So something goes wrong during your download in particular.
> 
> The .jigdo file should be verificable by its gzip CRC-32:
>    gunzip <debian-testing-i386-DVD-1.jigdo >/dev/null
> 
> The .jigdo file contains a checksum of the .template file:
>    gunzip <debian-testing-i386-DVD-1.jigdo | fgrep 'Template Hex MD5Sum'
> I assume jigdo-lite checks this, but it cannot harm if you compare the
> the checksum of your downloaded .template by yourself:
>    md5sum debian-testing-i386-DVD-1.template

Correct, jigdo-lite checks the template file, and in case it is altered:

Saving to: `debian-testing-amd64-DVD-1.template'

100%[============================================================================>] 
55,069,689   977K/s   in 81s     

2012-04-04 23:31:51 (663 KB/s) - `debian-testing-amd64-DVD-1.template' saved 
[55069689/55069689]

Error - template checksum mismatch!
The .template file does not belong to the .jigdo file - the
chances are high that the image generation process will break.
I will abort now. If you know better than me and want this error
to be ignored, enter the string "42" to proceed.

Note that you might get this error if you resumed the download of a
.template file, and that .template file has changed on the server in
the meantime. In this case, you may be able to fix the problem by
deleting the .template file and restarting jigdo-lite.
: 

> The data files are covered by MD5 checksums in the .jigdo file.
> jigdo-lite is supposed to compare these with the local files and to take
> them only in case of checksum match. Else it should download them
> from the mirror (and check their MD5s afterwards ?).

If a data file is found to be missing or altered, jigdo-lite fallbacks to get 
that file from the hosts listed in [Servers] section, that's 
us.cdimage.debian.org in this case:

(I simulated this by altering local data files, in the cache directory of 
jigdo-lite, namely $mirror.iso.tmpdir)

2012-04-04 23:47:17 (199 KB/s) - `debian-update-6.0.4-amd64-
CD-3.iso.tmpdir/us.cdimage.debian.org/cdimage/snapshot/Debian/pool/main/i/iceape/iceape-
dev_2.0.11-9_all.deb' saved [40296/40296]

--2012-04-04 23:47:17--  
http://us.cdimage.debian.org/cdimage/snapshot/Debian/pool/main/i/iceape/iceape-
dbg_2.0.11-9_amd64.deb
Reusing existing connection to us.cdimage.debian.org:80.
HTTP request sent, awaiting response... 200 OK
Length: 68293214 (65M) [application/octet-stream]
Saving to: `debian-update-6.0.4-amd64-
CD-3.iso.tmpdir/us.cdimage.debian.org/cdimage/snapshot/Debian/pool/main/i/iceape/iceape-
dbg_2.0.11-9_amd64.deb'


Again, if these files can't be downloaded from the fallback hosts listed in 
[Servers], jigdo-lite would fail with (also simulated by local file 
alterations, as I can't modify the files on the server):

-----------------------------------------------------------------
Aaargh - 17 files could not be downloaded. This should not
happen! Depending on the problem, it may help to retry downloading
the missing files.
Also, you could try changing to another Debian or Non-US server,
in case the one you used is out of sync.

However, if all the files downloaded without errors and you
still get this message, it means that the files changed on the
server, so the image cannot be generated.
As a last resort, you could try to complete the CD image download
by fetching the remaining data with rsync.

Press Return to retry downloading the missing files.
Press Ctrl-C to abort. (If you re-run jigdo-lite later, it will
resume from here, the downloaded data is not lost if you press
Ctrl-C now.)
: 

This was not the case with the reporter, jigdo-lite said 'OK: Checksums match, 
image is good!'. I can't see it falling back to [Servers] hosts, in case some 
data files failed to be correctly downloaded from the given mirrors.

> So, if everything is working as expectable, there should be an error
> message about a non-matching checksum with a particular file, before
> finally the whole ISO image fails to match its checksum.

jigdo-lite would produce a warning that some data file has failed to be 
downloaded, but will try hard to fallback to [Servers] hosts, and will finally 
give up with the above FAIL messages, it won't claim 'checksum match, image is 
good'.

-- 
pub 4096R/0E4BD0AB <people.fccf.net/danchev/key pgp.mit.edu>


Reply to: