Defindit Docs and Howto Home
This page last modified: Apr 04 2008
Problem: K3B (which is fantastic) says something like "Can't read any
tracks when it gets to the verify stage after writing a DVD. There
were no errors on write. This is probably some kind of configuration
bug in the system, and not the fault of K3B.
However, you still want to know if that 4.2GB Linux install iso is any
good. You can diagnose the "why can't K3B verify this DVD", but that
could take days. (Especially since just a few minutes before K3B was
able to verify a CD).
Instead resort to mounting the iso and comparing checksums with md5sum
- Use K3B to copy the DVD you just burned to an iso. Tools -> Copy
DVD...
- This will result in a .iso file that is nearly, but not quite the
same size as the iso you burned in the first place. Why? Heaven only
knows. (In fact, I think because the DVD is mounted, the files
copied, and a new .iso is created, but there are small differences
in the iso creation headers, resulting in a small difference in
size. As far as i can tell, it is impossible to simply "copy" an iso
image from a CD or DVD.)
- If you can't mount as a user, su to root
su -l root
- cd to the directory with the 2 .iso files
- Make directories as mount points for the two .iso images, and mount
the .iso via the -o loop option of mount.
mkdir dvd_orig
mount openSUSE-10.3-GM-DVD-i386.iso ./dvd_orig/ -o loop=/dev/loop0
mkdir dvd_copy
mount su1030.001.iso ./dvd_copy/ -o loop=/dev/loop1
- cd into the original directory, use find to run md5sum on all files,
and write the results to the parent directory. Note the >> in
writing the ms5sum results. This takes a few minutes to run. If you
are antsy, make a new terminal window, and tail the dvd_orig.txt file.
cd dvd_orig
find . -type f -exec md5sum {} \; >> ../dvd_orig.txt
- cd to the dvd_copy directory and use md5sum to verify. Save the
results to the parent directory. Later we'll count the results and
the OK results to make sure everything was fine. You only need > for
the i/o redirection because this is one command (find ran md5sum
many, many times).
cd ../dvd_copy
md5sum -c ../dvd_orig.txt > ../dvd_copy.txt
- cd to the parent directory and use wc -l and grep | wc -l to check
that we have an OK for every file
wc -l dvd_copy.txt
The response is something like
4152 dvd_copy.txt
grep ": OK" dvd_copy.txt | wc -l
This should respond with the same number:
4152
- Umount the two .iso files, delete the .txt files and delete the directories.
umount ./dvd_orig
umount ./dvd_copy
rm dvd_copy.txt dvd_orig.txt
rmdir dvd_orig
rmdir dvd_copy