ISO9660 не позволяет писать файлы 4Gb и более. Потому про mkisofs можно забыть.
Используется файловая система UDF. Замечательно читается в более-менее последних версиях Windows.Для этого нам нужны udftools: http://sourceforge.net/projects/linux-udf/
Алгоритм таков: создаем образ на жестком диске, копируем туда файл, записываем образ на DVD.
Берем размер образа (в секторах) по следующей таблице:
DVD-R/DL = 4,171,712
DVD+R/DL = 4,173,824
DVD-R/SL = 2,298,496
DVD+R/SL = 2,295,104
Размер сектора 2048 байт
Возмем DVD+R/single layer для примера.
Делаем образ:
$ dd if=/dev/zero of=/mnt/data/image.udf bs=2048 count=2295104
Создаем файловую систему:
mkudffs --lvid=Volume\ name /mnt/data/image.udf
Монтируем образ:
sudo mount -o loop /mnt/data/image.udf /mnt/dvdimage
Аналогичная запись в fstab:
/mnt/data/image.udf /mnt/dvdimage udf noauto,rw,users,loop=/dev/loop0 0 0
Копируем файлы. Размонтируем образ.
Записываем образ на диск:
growisofs -dvd-compat -Z /dev/dvd=/mnt/data/image.udf
Примечания:
- Если не ошибаюсь, опиция -dvd-compat нужна только на DVD-R и не нужна на DVD+R.
Но проблем замечено не было, даже когда писалось с -dvd-compat на DVD+R.
- Образ замечательно пишется каким-нибудь k3b, вот только проверить его неудастся (поскольку это не ISO 9660)
- UDF поддерживает пользователей, права, хардлинки, и по-моему симлинки.
Так что можно использовать для бекапа. Вот только в Windows XP такие вещи интересно читаются:
хардлинки - просто файл копируется, а симлинки - создается файл нулевой длины
- в Линуксе работа с udf (например просмотр директорий) происходит чуть медленнее,
с ISO9660, особенно если там хардлинки и симлинки.
- САМОЕ ВАЖНОЕ: В ядрах 2.6.17 и выше, вы не сможете записать на UDF файл более 1Gb.
Поддержку больших файлов из UDF убрали мотивируя тем, что драйвер как-то портит что-то в памяти в ядре.
Лично я глюков не заметил. Хоть у меня стоит 2.6.20, я держу 2.6.16.19 именно для того,
чтобы записывать большие файлы. Поскольку каждый раз перегружаться неудобно,
смотрю в сторону lguest https://www.opennet.ru/opennews/art.shtml?num=9698 http://lwn.net/Articles/218766/
- используя UDF вы можете писать на DVD как на обычную дискету. См сюда: https://www.opennet.ru/base/sys/udf_cdrom.txt.html . Сам пробовал - получалось :)
Примечание: вообще IMHO замечательная файловая система. И почему разработку udftools прекратили?
Может найдется кто-то из глубокоуважаемого Linux- общества, который продолжит благородное дело?
URL:
Обсуждается: https://www.opennet.ru/tips/info/1380.shtml