This content has been marked as final. Show 3 replies
Today I was able to download the sol-10-u10-ga2-sparc-dvd.iso file correctly, with an md5sum of df9bbdfddde2140ad44394f31fd37cb9. Nothing changed on my side.
So, whatever you fixed, Oracle, thanks!
The sol-11-1111-repo-full.iso-b file is still downloading with the same wrong MD5, though, on yet a different computer and a different internet connection, so as far as I can tell, there's still something wrong with that one on Oracle's side.
As of today, the sol-11-1111-repo-full.iso-b file is now downloading correctly. Nothing changed on my end.
Thank you, Oracle, for finding and fixing the bugs!
For anyone who comes by here in the future (for example, searching for the broken md5s on google), both files had one corrupted byte each. In the case of the sol-10-u10-ga2-sparc-dvd.iso file, Byte #2,123,493,685 was corrupted. In the case of the sol-11-1111-repo-full.iso-b file, it was Byte #2,227,178,456 -- both indexing from Byte 1 (not zero). If you want to patch from one to the other, you'll have to do something like:
$ md5 sol-10-u10-ga2-sparc-dvd.iso.bad
MD5 (sol-10-u10-ga2-sparc-dvd.iso.bad) = 7ae6b2f3942f79ff557c11fbc0449075
$ dd if=sol-10-u10-ga2-sparc-dvd.iso.bad bs=512 skip=4147448 count=1 > sol-10-bad-byte
$ xxd sol-10-bad-byte | grep "130:"
0000130: e45c a018 1c00 0000 8826 4001 e001 6000 .\.......&@...`.
$ echo "the 1C should be a 0B"
the 1C should be a 0B
$ cat sol-10-bad-byte | xxd | sed -e 's/130: e45c a018 1c/130: e45c a018 0b/' | xxd -r > sol-10-good-byte
$ dd if=sol-10-u10-ga2-sparc-dvd.iso.bad bs=512 count=4147448 > sol-10-beginning
$ dd if=sol-10-u10-ga2-sparc-dvd.iso.bad bs=512 skip=4147449 > sol-10-end
$ cat sol-10-beginning sol-10-good-byte sol-10-end > sol-10-u10-ga2-sparc-dvd.iso; md5 sol-10-u10-ga2-sparc-dvd.iso
MD5 (sol-10-u10-ga2-sparc-dvd.iso) = df9bbdfddde2140ad44394f31fd37cb9
If there's a more graceful way to fix that byte, I don't know what it is. Hopefully, the Oracle servers are fixed enough that it'll never be a problem again.
The other one just needs:
$ dd if=sol-11-1111-repo-full.iso-b.bad bs=512 skip=4349957 count=1 > sol-11-bad-byte
$ xxd sol-11-bad-byte | grep "1d0:"
00001d0: 0000 0000 0000 0000 1000 0000 0000 0000 ................
$ echo "1 should be a 0"
01 should be a 00
$ xxd sol-11-bad-byte | sed -e 's/1d0: 0000 0000 0000 0000 10/1d0: 0000 0000 0000 0000 00/' | xxd -r > sol-11-good-byte
and put it back together again like the 'cat' line above, using the corrected offsets.
Anyway, thank goodness that's done with.