Блог Eugen772

начинающий для начинающих во FreeBSD и всяком другом


В консоли - копирование, очистка, запись, проверка - CD/DVD R/RW (CP1251).
Pentalfa
[info]eugen772
КОПИРУЕМ, ОЧИЩАЕМ, СОЗДАЕМ ОБРАЗ, ЗАПИСЫВАЕМ CD/DVD
===
ИСТОЧНИКИ: HandBook, man *.
===
Копируем образ CD/DVD источника:
readcd dev=0,0 f=cdimage.iso
Очищаем DVD RW диск (CDRW еще чистить не приходилось):
growisofs -Z /dev/cd0=/dev/zero
Создаем образ для винды(cp1251):
mkisofs -V LABEL_NAME -J -jcharset=koi8-r -R -o cdimage.iso /path
Записываем DVD балванку:
growisofs -dvd-compat -Z /dev/cd0=cdimage.iso 
Записываем CD балванку (для приводов не ATAPI стандарта):
cdrecord dev=0,0 cdimage.iso
===
ПРОВЕРКА ЗАПИСИ
===
ИСТОЧНИК: http://mydebianblog.blogspot.com/2006/11/cd-dvd.html
===
Проверка по контрольной сумме MD5 (не 100% гарантии, но 99% должно быть):
comp> md5 cdimage.iso
MD5 (cdimage.iso) = db5b230a4aeea442bb1a82d4470c705a

для DVD дисков нужно знать число блоков
со скриптом из источника у меня не срослось, пойду другим путём, хатя жаль, скрипты надо знать
comp> ls -l cdimage.iso
-rw-r--r-- 1 root evgen 8485097472 5 янв 22:40 cdimage.iso
вычисляем так 8485097472 / 2048 = 4143114
4143114 это и есть количество наших блоков
далее используем эти значения для вычисления md5 суммы записаных данных на балванке

comp> dd if=/dev/cd0 bs=2048 count=4143114 | md5
4143114+0 records in
4143114+0 records out
8485097472 bytes transferred in 2928.160625 secs (2897757 bytes/sec)
db5b230a4aeea442bb1a82d4470c705a
сходицаж с вычисленной с образа? заначит все ока

для CD дисков количество блоков (count) в dd указывать не нужно

Проверка с помощью diff (полагаю лучший выбор для проверки data CD/DVD):
Монтируются и диск и образ, далее сравниваются diff`ом с ключами -urN.
Если нет сообщений, то файлы на диске и в образе идентичны ( :) нраица мне это слова "идентичны" гы).
создаем диск вирутальный от образа (вроде это md0 расшифровываеца memory disk)
comp# mdconfig -a -f cdimage.iso
md0
монтируем к файловой системе и виртуальный девайс образа и записаную балванку (что характерна, балванка должна быть в приводе)
comp# mount_cd9660 /dev/md0 /mnt
comp# mount_cd9660 /dev/cd0 mnt
сравниваем!
comp# diff -urN /mnt mnt
comp#
сообщений не было, значит все ok.
погуляли?, приберитеся за сабой
comp# umount /mnt
comp# umount mnt
comp# mdconfig -d -u md0
===

Home