Запись ISO-образов на DVD-диск
Необходимо ли создавать образ.iso перед записью на DVD-ROM? Я имею в виду, я никогда не замечал этого в Windows до записи своих файлов на DVD-ROM, я никогда не создавал ISO-образ. Но я перешел на linux и, изучая некоторые терминальные команды, увидел, что он упоминается. После создания iso-файла мы записали его на диск. Итак, мое любопытство суммируется как:
1) Нужно ли создавать файлы изображений.iso перед записью?
2) Если да, то зачем это нужно?
4 ответа
Создает
.iso
файлы изображений перед записью нужны?
И да и нет. Да, вы должны создать подходящий поток байтов; и нет, потому что вам не нужно хранить его как обычный файл на жестком диске или SSD.
зачем это нужно?
Многие инструменты Linux следуют правилу "делай одно и делай хорошо". У нас есть mkisofs
для создания образа ISO, то, например, cdrecord
или же cdrskin
чтобы сжечь это. В Windows инструменты, которые раздуваются, чтобы делать все сами, встречаются гораздо чаще. Другой ответ уже предположил, что они могут создавать изображения на лету; они также могут хранить эти изображения как временные файлы.
Обратите внимание, что вы можете достичь чего-то похожего в Linux. Проверьте -o
вариант mkisofs
; если эта опция отсутствует, stdout
используется. Программы, записывающие на оптические носители, могут использовать свои stdin
в режиме "Отслеживать сразу".
Или вы можете создавать временные файлы, даже в памяти (как в /dev/shm/
).
Данные должны быть записаны на DVD в правильном формате с правильной структурой ввода, вывода и структуры файловой системы.
Для записи на диск необходимо либо форматирование ISO, примененное на лету к собранным данным (файлам), перед передачей в буфер записи на диск, либо может быть полезно создать файл образа, который можно передавать непосредственно на диск.
Так или иначе, данные должны быть правильно организованы перед записью.
У Linux есть привычка делать "один хороший инструмент" для выполнения работы, а затем объединять инструменты для достижения полной цели. Следовательно, многие инструменты для записи на диск - это всего лишь графический интерфейс пользователя для другого инструмента или набора инструментов, которые выполняют реальную работу. В конце концов, зачем вам изобретать велосипед, если у вас уже есть отличный набор колес?
1) Нет. Как говорят другие, данные не нужно промежуточно хранить на жестком диске. Программы-производители для ISO 9660 могут передавать поток данных на "стандартный вывод", а программы записи могут принимать этот поток данных с помощью "стандартного ввода". Это называется "труба", очень фундаментальный жест оболочки Unix.
Классический пример - это несколько вариантов:
mkisofs /some/directory | cdrecord -v dev=/dev/sr0 -
Мой собственный способ сделать то же самое:
xorriso -outdev /dev/sr0 -blank as_needed -map /some/directory /
(Передача данных осуществляется внутренне между libisofs и libburn.)Не забывайте программы записи GUI: K3b, Xfburn, Brasero, ... Они координируют программу производителя ISO и программу записи без особой помощи со стороны пользователя.
Редактировать: Попытка отреагировать на комментарий Ниса:
Если вы хотите хранить не больше, чем содержимое одного файла, вы можете просто записать этот файл на носитель. Если вы позже откроете файл /dev/sr0, то он будет нести ваш сохраненный контент (плюс, возможно, какой-то завершающий мусор).
Если вы хотите сохранить более одного файла, или имена файлов и другие атрибуты, то вам нужно обернуть ваши файлы в какую-то файловую систему или формат архива. Этот формат впоследствии будет доступен для чтения соответствующим драйвером файловой системы (например, Linux "iso9660") или распаковщиком архива (например, программой "tar").
Вы, конечно, можете выбрать только несколько файлов с вашего жесткого диска и дать им разные имена в результирующей файловой системе или архиве. (mkisofs имеет опцию -graft-points и "pathspecs" /ISO/PATH=/DISK/PATH для управления переименованием. Некоторые архивные программы могут иметь аналогичные возможности для изменения имен файлов, когда они копируются в их архив.)
Большинство файловых систем должно быть создано на записываемом устройстве с произвольным доступом или в файле образа файловой системы на диске. Это потому, что нет программы-производителя, которая создала бы их как последовательный поток данных. Такой последовательный поток является предварительным условием для трубопровода.
Архиваторы (например, "tar" или "zip") и производители файловых систем ISO 9660 имеют возможность выводить свой результат в виде последовательного потока. Таким образом, именно они могут направить свой вывод на вход программы записи.
(Конец редактирования)
2) Теперь по причине, почему так много предложений, которые говорят вам сначала сохранить файл образа ISO, а затем записать его на носитель.
В старые добрые времена первых CD-рекордеров существовал риск "опустошения буфера". Как только накопитель записал быстрее, чем программа-производитель ISO могла доставить данные, накопитель выдал ошибку и оставил CD-R только частично записанным. Шанс на успех увеличился, если компьютер сначала запустил программу ISO, пока не были получены все данные, и только затем запустил программу записи, чтобы прочитать образ ISO с жесткого диска.
Это время закончилось в конце 1990-х годов изобретением "без записи", которое позволило накопителю дождаться новых данных и возобновить запись компакт-диска. Проблема переполнения буфера и сброса при записи никогда не затрагивала носители DVD или BD.
Я думаю, что для записи компакт-диска, совместимого с ISO9660, в командной строке всегда требуется шаг для создания образа iso(9660).
Тем не менее, графические инструменты, такие как k3b (KDE) или brasero (gnome), позволят вам создавать компакт-диски с данными без необходимости явно выполнять этот шаг, они, вероятно, создают образ на лету во время процесса записи.