Automatically migrated from Gitolite
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
2.4 KiB

8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
  1. # image-disc
  2. A small utility for making archival copies of CDs and DVDs under Linux. It runs in a terminal, and is meant for batch operation. Enter a disc name, pop in a disc, wait, take out the disc, rinse repeat. The script will continue asking for new discs until you hit `ctrl+C`.
  3. There's a lot of duct tape in here, but it generally works. You've been warned.
  4. Pull requests welcome, but please keep in mind that the purpose of this script is *archival-quality* copies where possible.
  5. ## Supported disc types
  6. * Data CD-ROM
  7. * Mixed-content CD-ROM (eg. data + audio)
  8. * Audio-DVD
  9. * Video-DVD
  10. * Data DVD-ROM
  11. ## Unsupported disc types
  12. * Audio-CD (use a secure ripper such as [Rubyripper]( for this!)
  13. * Bluray
  14. * HD-DVD
  15. * Other non-CD/DVD disc types
  16. ## Dependencies
  17. You must have the following installed:
  18. * Python
  19. * cdrdao
  20. * `ddrescue` (*not* `dd_rescue`!)
  21. * UDisks (shipped by most distributions)
  22. * `eject` (shipped by most distributions)
  23. * udev (available in recent Linux kernels)
  24. ## Usage
  25. `python DEVICE TARGET [--ddrescue]`
  26. * **DEVICE**: The source device to image from. This will be something like `/dev/sr0` or `/dev/cdrom`.
  27. * **TARGET**: The target directory to place images in. Each image will be named according to the name you enter for that disc.
  28. * **--ddrescue**: Optional flag to force the script to use ddrescue, even for (potential mixed-content) CD-ROMs. Useful for recovering damaged CD-ROMs. **This flag must always be *after* the device and target!**
  29. ## License
  30. [WTFPL](, of course. Or [CC0]( if you really can't handle the word 'fuck'.
  31. ## Remarks
  32. This is duct tape. It ties together a bunch of existing utilities to automate your imaging. There is no guarantee that it'll work, or even that it'll produce valid images (although it will certainly try). **Check the integrity of your images, if you care about your data!**
  33. The script is quite noisy; it doesn't try to understand output from utilities, and just passes it through wholesale. All messages originating from the script itself are prefixed with `##`.
  34. Don't be alarmed if you get mounting/unmounting/eject failures; to avoid race conditions, the script is quite aggressive in making sure everything is unmounted/ejected when necessary. If you get errors, that usually just means that the disc was *already* unmounted or ejected.