Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have created iso files by using two commands:

  • dd if=/dev/cdrom of=filename
  • cp /dev/cdrom filename

What's the difference between the two, both have worked for me.

share|improve this question

3 Answers 3

up vote 8 down vote accepted

For copying CDs then both are fine although I generally expliciatlly set the block size by doing

dd if=/dev/cdrom of=cdrom.iso bs=512

For other block devices then cp might not work if the block size on the device is unexpected.

From http://en.wikipedia.org/wiki/Dd_(Unix)

Note that an attempt to copy the entire disk image using cp may omit the final block if it is an unexpected length; dd will always complete the copy if possible.

share|improve this answer
    
You should add the "conv=sync,notrunc" parameter from the wikipedia page. Else your quote is wrong. –  David Schmitt May 7 '09 at 11:24
    
Sorry, my first command wasn't from wikipedia only the block quote. Updated text to reflect this. –  Nathan May 7 '09 at 11:54
3  
FYI, block size on CD-ROM is actually 2048 octects –  derobert May 7 '09 at 17:57
    
Seems you learn something every day. I've always used 512 but it appears this dates back to SCSI days when most drivers were 512 or 2048. I'll use 2048 from now on. Thanks ! –  Nathan May 7 '09 at 18:39

There's effectively no difference, some very minor caveats aside.

Both dd and cp will read all blocks from the input source (the /dev/cdrom block device) and copy the whole CD-ROM to the destination file.

dd is however the "right" way of doing it.

share|improve this answer

Using the dd command allows for a "byte-exact" copy of the specified input. If the dd command is used on a disk rather than the cdrom, it will be able to copy previously deleted files which cannot be seen by the cp command from the filesystem interface. But since you are using /dev/cdrom as the input (which doesn't have the same structure as a disk), there are no previously deleted files on the interface, so the commands should work exactly the same.

for more information: http://en.wikipedia.org/wiki/Dd_(Unix)

share|improve this answer
    
no, i mean cp /dev/cdrom as an input. –  Osama ALASSIRY May 7 '09 at 10:05
    
incorrect answer - /dev/cdrom is a block device, not a filesystem directory. /dev/cdrom is the disk structure. –  Alnitak May 7 '09 at 11:50
    
You clearly can't read –  John T May 7 '09 at 20:56
    
ok, I've slightly misunderstood your answer, but I still can't figure out what you meant in the first half of the last sentence. The comparison with a disk and mention of deleted files is very confusing. –  Alnitak May 7 '09 at 21:23
    
From the wikipedia article "Using cp would not be possible because data from deleted files still physically present on a disk are not visible through the file system interface." And i said this isn't applicable to a cdrom because it does not retain information like a disk. –  John T May 7 '09 at 21:56

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.