Linux -сборник рецептов


Комментарий


В представленном решении все команды выполняются пользователем root. Это сделано для простоты, потому что команды mount, mkisofs и cdrecord требуют привилегий root. Чтобы пользователи могли выполнять команду mount, используйте sudo. Для выполнения команд mkisofs и cdrecord создайте группу cdrecord. Назначьте ее владельцем mkisofs и cdrecord и включите пользователей в группу cdrecord.

Помните, что в ядре 2.6 эмуляция IDE-SCSI не нужна, поэтому в командной строке cdrecord можно просто указать имя /dev:

# cdrecord dev=/dev/hdc <команды>

В этих нескольких командах выполняется довольно большая работа. Команда mkisofs берет все файлы и упаковывает их в один большой файл .iso. Если вам когда-либо доводилось загружать дистрибутив Linux для записи на компакт-диск, он был упакован в виде файла .iso. Это часто создает проблемы для новичков, которые не понимают, почему они получили один гигантский файл вместо дерева каталогов с файлами Linux.

Рассмотрим командную строку mkisofs более подробно:

# mkisofs -J -r -v -V data_disk -о data.iso /disk_data

Ключи:

  • -J — использование схемы имен Joliet для совместимости с Windows;
  • -r — использование схемы имен Rock Ridge для совместимости с Unix/Linux. Все файлы доступны для чтения для всех пользователей;
  • -v — расширенный вывод;
  • -V data_disk — определение идентификатора тома (data_disk). Это то самое имя диска, которое отображается в Проводнике Windows и в команде file - < /dev/scd* (о том, как определить имена /dev, рассказано в разделе 9.12);
  • -o data.iso /disk_data — имя нового образа .iso и файлы, выбранные для упаковки в .iso (в данном случае все содержимое /disk_data). Обратите внимание: корневой каталог /disk-data не копируется, только его содержимое.

Монтирование .iso перед записью диска является простейшей страховкой. Если вы видите все свои файлы — можно переходить к записи. Если нет, значит, при формировании файла .iso была допущена ошибка и его придется построить заново. Проверка .iso осуществляется так:

# mkdir /test-iso # mount -t iso9660 -o ro,loop data.iso /test-iso

Откройте каталог /test-iso и проверьте свои файлы.

Параметры команды mount:

  • -t iso9660 — тип файловой системы. Компакт-диски с данными всегда относятся к типу iso9660 (кроме udf, но в этом случае вам не придется создавать образ .iso);
11.5. Формирование файловых деревьев на компакт-дисках с данными
  • -o ro,loop data.iso — параметры монтирования data.iso: доступ только для чтения, с использованием файловой системы, внедренной в файл;
  • /test-iso — каталог, созданный как точка монтирования.

После завершения проверки .iso можно записать файл на диск.

# cdrecord -v -eject dev=0,1,0 data.iso

Параметры команды:

  • -v — расширенный вывод;
  • -eject — извлечение диска после записи (не обязательно);
  • -dev=0,1,0 — адрес SCSI устройства записи компакт-дисков;
  • data.iso — имя файла .iso, который содержит файлы, записываемые на диск.

Команда cdrecord по умолчанию записывает данные на максимальной скорости, поддерживаемой устройством и диском. При возникновении ошибок попробуйте снизить скорость записи:

# cdrecord -v -eject speed=4 dev=0,1,0 data.iso

Современные записывающие устройства поддерживают высокую скорость записи (20Х и выше), но многие диски CD-R/CD-RW ограничиваются гораздо более низкими скоростями. Как правило, команда cdrecord автоматически подбирает оптимальную скорость записи. См. также

cdrecord(1), mount(8), mkisofs(8); раздел 9.12; раздел 11.2.









Начало  Назад  Вперед