cdck: CD/DVD Data Verifier for Ubuntu Linux

Using optical discs for taking backups is somewhat safer than some of the other methods (such as using HDDs). But still, they can be as bad as any other backup media if not properly taken care of (improper storing conditions). And you should also consider the quality of the discs when purchasing as well.

For example, even if you properly store them, if the media itself is of low quality then they will more prone to physical damages (ever seen discs with “blurred” surfaces? or ones with see through surfaces, because the data layers has being worn out). Errors can also comes out to the surface, if you haven’t burned the data in the optimal speeds. Or, they can easily get deep scratches on the data surface by accidental drops.

To make things worse, some of these damages maybe so subtle that they are only visible while trying to read the disc, and are physically impossible to locate. And because of that, having the ability to check the integrity of the CD/DVD once in a while can come in handy.

In that sense, “cdck” is a small (console based, only for GNU/Linux) but a powerful utility that lets you check for the quality of the data on a CD or a DVD with ease. Basically, you enter a disc into the drive, run “cdck” and at the end it’ll let you know if it’s fully readable or not.

Now wait a minute Gayan!. Wouldn’t I be able check it myself by simply coping it over to my HDD, without using any “tools”?

Well, then answer is both “Yes” and “No”.

First of all, if you have few dozens of discs to be checked, then copying them over to your HDD and then deleting them later manually is a bit of a hectic task, right?

But most importantly, even if you were able to copy the content of a disc without any read-errors, still, if there were any “bad timing” issues while reading the sectors (“sectors” are small “containers” inside an optical disc where the actual data is written), then that disc could “generate” bad sectors in the future.

And unfortunately, using that manual “copy -> paste” method, one won’t be able to identify those issues quite accurately.


What the heck is a “sector bad timing”?

“Sector timing” is the amount of time that it takes for your disc drive to read a sector on an optical disc. If your optical media is in perfect condition, then the drive should be able to read them in the first attempt.

However, if the media is partially corrupted (not unreadable, but difficult), then it might take more than one attempt for the disc drive to read them thus resulting read delays. And we call them discs with ‘bad’ or ‘poor timing’.

This could occur due to varies reasons. It might be because the disc is damaged (scratches etc) or because the media itself is of low quality. But the thing is, as mentioned above, if the issue is so small and it’s not even visible for the naked eye, then while using the usual “copy-pasting” method, it could still not be visible and you might think the disc in fact is in perfect condition.

But as the time goes on, those sectors might get completely corrupted/unreadable without you even knowing it! (say it’s due to some sort of chemical reaction, which usually start small and spreads all over your disc as time goes on).

So if you want to easily check the quality of your discs accurately and get warnings whether they’d become unreadable in the future etc, then a tool like “cdck” will come in handy. Not only it reads all of your sectors, but it also checks for any timing errors while doing so as well. And based those data, it can evaluate the quality of the disc more accurately.

Few other features …

*. It’s a command-line based tool, but it’s pretty easy to use. I have a USB DVD writer and didn’t even have to manually give the device’s path. It automatically detected it. So it’s pretty newbie friendly too.

*. You can also generate a log output of the results that can be used with tools like “GNUPlot” for viewing output in a graph.

*. Displays other information about the disc such as its name, size, sessions, boot-able flags, file system etc (disabled by default).

*. Based on the data, at the end it even outputs “conclusions”.

For instance, my disc was fully readable, so it gave me the conclusion of “Satisfactory disc”, including few other details such as the amount of sectors with “poor timing”, good sectors, total sectors etc.

Still, you shouldn’t take it for granted though, I mean stuff happens …

That’s it!.

If interested, you can install “cdck” in Ubuntu 12.04 Precise Pangolin, 11.10 Oneiric Ocelot, 11.04 Natty Narwhal, 10.10 and 10.04 by using the below command in your Terminal window.

sudo apt-get install cdck

How to use it?

Simple actually. First insert the disc that you want to check into the drive. Let the OS mount it. Then enter the below command to start the “timing” test.

cdck -t

If you first want to get some info about the source CD/DVD, then enter the below command.

cdck -i

If you want to automatically fetch those information and then start the test afterward, then use the below command.

cdck -t -v

If you want to save a log output, then use the below command (“replace “plot.dat” with your preferred name).

cdck -t -p -o plot.dat

To exit the program (while it’s still running), press the “Ctrl” + “c” keys on your keyboard.

If your CD or DVD device is not detected, then you can manually enter its path (don’t think you’ll be needing that though).

For that, please use it in the below format (replace “/dev/cdrom” with your optical drives’ path).

cdck -d /dev/cdrom

You can also read its manual using the below command as well.

man cdck

Anyway, as a final note, please remember that, even if it says a “Satisfactory disc” (meaning that the condition is pretty good), still, you shouldn’t take it for granted, because no one could give you 100% guarantee when it comes to data and their integrity (duh! ;-)).

So please, always try to keep at least two backups of the same data and make sure to use the highest quality media, which hopefully will secure your data for a long time. Good luck.

An RHCE, 'Linux' user with 14+ years of experience. Extreme lover of Linux and FOSS. He is passionate to test every Linux distribution & compare with the previous release to write in-depth articles to help the FOSS community.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.