CentOS 4.6 faulty ISO imagesCentOS 4.6 faulty ISO images

Posted December 23rd, 2007 in Linux/Unix/BSD

I sell CentOS on my Linux CD Mall website, and CentOS 4.6 was released recently as an update to the 4.x branch of CentOS (and based on the Red Hat Enterprise Linux 4.6 release of a couple of weeks before). After CentOS 4.6 was released, I downloaded the CD and DVD ISO images as usual, but shortly after was notified by the CentOS mailing list that the images on the mirrors were faulty:

Earlier today we found an issue with the CentOS-5.1 x86_64 CD iso set, 
distributed via direct download, wherein CD-2 was not passing tests, to
rectify the issue we have refreshed the images on all mirrors. The
changes have now propagated through the mirror network.

md5sum and sha1sum's published have also been updated to reflect this
change.

x86_64 CD isos distributed via bittorrent are not affected by this issue.

x86_64 DVD isos distributed via bittorrent and direct downloads are not
affected  by this issue

None of the i386 iso images are affected by this issue.

The correct MD5's for x86_64 CD ISOS are :

2318b7edf7f32def4a35897f69ecf06e  CentOS-5.1-x86_64-bin-1of7.iso
0053faafc4c31d4e47d3d86f9f9a9af7  CentOS-5.1-x86_64-bin-2of7.iso
560c3b5057050dab6ba76495f46f409c  CentOS-5.1-x86_64-bin-3of7.iso
e5fb3d243befb79de70e06009c77e474  CentOS-5.1-x86_64-bin-4of7.iso
b752135296ad9472105d6c0a8f5157b5  CentOS-5.1-x86_64-bin-5of7.iso
20e08026628b60e4586bffc446cdd566  CentOS-5.1-x86_64-bin-6of7.iso
5008fbaca9671e26dfaa4e24b2c2267f  CentOS-5.1-x86_64-bin-7of7.iso

 It ended up taking two to three days for the mirrors to update to the correct version of the files. I didn't particularly want to have to download a full set of CDs again (all but CD2 were OK from what I had already downloaded) so I checked out the CentOS mirrors list and found the mirrors that have rsync.

Rsync allows you to download files but it checks what you've already downloaded and only downloads parts of the file that need to be downloaded again. This is really useful if you have, in my instance, a large file which may be corrupted in parts, because only the corrupted parts of the file will be downloaded. This may mean, for example, that only 30MB instead of a full 700MB ISO image needs to be downloaded.

The syntax I used for downloading the files was as follows:

rsync -caz --progress rsync://example.com/centos/5.1/isos/x86_64/CentOS-5.1-x86_64-bin-7of7.iso .

The -c flag indicates that a checksum should be done first to work out if the file is complete or not. If this is not done then a simple file date time check is done. In my case this would be no good because I knew the file was wrong, but the datetime stamp on the remote server and my local machine were the same, which means it would not be updated.

However, I was greeted with this message:

receiving file list ...
rsync: The server is configured to refuse --checksum (-c)
rsync error: requested action not supported (code 4) at clientserver.c(517)
rsync: read error: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at io.c(604) [receiver=2.6.9]

That's a little annoying, but there's a little trick to get around it:

touch CentOS-5.1-x86_64-bin-7of7.iso

This simple command sets the datetime stamp of the file to the current date and time. When rsync is run again, the time and date of the local file are different from the remote file, so a full check is done against the parts of the file.

Once I did this, within a couple of minutes or so I had the new version of the file which checksummed correctly against the new checksums.

Comments

blog comments powered by Disqus