| ||||||||||||||||
| ||||||||||||||||
| ||||||||||||||||
Запись CD-R/RW в BSD-системах Когда я впервые знакомился FreeBSD, запись компактов в ней мне казаласть задачей сложной и интуитивно неясной. Однако - лишь до тех пор, пока я не попробовал это проделать. И оказалось, что, как и все во Free, это - не просто. А - очень просто. В ознаменование чего я и составил себе для памяти этот маленький HOW-TO'й. Может быть, он еще кому-нибудь пригодится. Тем более, что, за исключением одного оговоренного ниже момента, все сказанное может быть использовано в любой BSD-системе - по крайней мере, за DragonFlyBSD ручаюсь. Запись CD-R/RW во FreeBSD никогда не требовала каких-либо
специфических настроек - типа включения эмуляции SCSI через IDE (что
до недавнего времени было необходимо в Linux). Хотя и такой подход
не возбраняется - он позволит использовать пакет
Тем не менее, в любом случае запись CD-диска начинается с
создания его образа. Для чего требуется программа
Собственно создание образа диска происходит здесь точно также, как и в Linux'е: $ mkisofs -R -J -o iso_name path2data Опция Перед записью образ можно смонтировать для проверки. Делается это
от лица root'а. Ранее, во FreeBSD 4-й ветки, это требовало поддержки
в ядре псевдо-устройства $ mdconfig -a -t vnode -f path/iso_name после чего возвращается md# где $ mount -t cd9660 /dev/md0 /mnt_point Где $ ls /mnt/iso Однако - только в режиме read only (то есть внести изменения в созданный образ простым копированием или удалением не удастся. По завершении просмотра образа md-устройство следует размонтировать и удалить: $ umount /mnt/iso; $ mdconfig -a /dev/md0 Непосредственно запись диска выполняется утилитой
$ burncd -e -s max -f /dev/acd0 data iso_name fixate Значения опций - следующие:
Команда У $ man 8 burncd В частности, полезной может быть опция Для стирания CD-RW в $ burncd -e -f /dev/acd0 blank или burncd -e -f /dev/acd0 erase соответственно. Нужно только помнить, что вторая операция займет немало времени - столько же, сколько и запись диска. Если для целей чисто резервного копирования (например, архива
вида $ burncd -f /dev/acd1c -s max data archive.tar.gz fixate Правда, записанный таким образом диск не может быть ни прочитан в каких-либо других операционках, ни смонтирован как обычный CD - доступ к нему потребует прямого обращения к файлу соответствующего устройства, например: $ tar xzvf /dev/acd1c Однако выполнить запись такого рода гораздо быстрее. Особенно
значителен выигрыш во времени при записи очень большого массива
данных. В этом случае их можно собрать в единый тарбалл, утилитой
$ split --bytes=650m archive.tar.gz [PREFIX] где в качестве префикса можно указать какое-либо мнемонически
полезное значение (дату создания архива, например), после чего
последовательно записать кучу образовавшихся файлов (имеющих вид
$ burncd -f /dev/acd1c -s max data [PREFIX]?? fixate Восстановление данных из такого архива выполняется следующим образом. Сначала содержимое полученной стопки дисков последовательно копируется в файлы на винчестере: $ cp /dev/acd1c path2/file# Затем они сливаются утилитой cat в единый архив: $ cat file1 ... file# > archive.tar.gz который и разворачивается обычным образом. Возможность применения |
|
| ||||||||||||||||
|