WritingLargeFilesOnDVD

Материал из ALT Linux Wiki
Freesource-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была перемещена с freesource.info.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


Максимальный размер файла в файловой системе ISO-9660 ограничен 2 GB, поэтому она не подходит.

Можно было бы считать подходящей ФС UDF, ограничение на размер файла в которой 16 EiB, но в ядре 2.6.17 была убрана поддержка больших файлов и теперь максимальный размер файла ограничен 1 GB.

  • Создать образ диска
dd if=/dev/zero of=mydvd.udf bs=1000k seek=4589 count=0 # (DVD 4.7)
dd if=/dev/zero of=mydvd.udf bs=1024k seek=8152 count=0 # (DVD 8.5)
  • Отформатировать

Повторять каждый раз, чтобы винда при вставке разных дисков, записанных с одного образа, подряд не глючила.

mkudffs --lvid=HD-Video --media-type=dvd -r 0x0150 mydvd.udf
  • Смонтировать
mkdir mydvd
mount -o loop mydvd.udf mydvd
  • Скопировать файл внутрь
cp largefile mydvd
  • Записать
growisofs -speed=8 -Z /dev/hdc=mydvd.udf


Примечание.

Запись файлов более 4Gb на DVD в Линукс начиная с ядра 2.6.17, пока (надеюсь), невозможно в принципе. Связано это не с k3b, другими фронтэндами или утилитами, а с проблемами на уровне ядра. А также в связи с тем, что проект udftools с 2004-го года находится в состоянии клинической смерти.


Выполнение этой последовательности происходит следующим образом:


Требуется: записать файл disk.iso в образ test.udf в виде файла для резервного хранения.

dd if=/dev/zero of=/<path>/test.udf bs=1000k count=4589
4589+0 записей считано
4589+0 записей написано
скопировано 4699136000 байт (4,7 GB), 148,881 секунд, 31,6 MB/s
mkudffs --lvid=HD-Video --media-type=dvd -r 0x0150 /<path>/test.udf
mount /<path>/test.udf /mnt/disk -o loop
mount
/<path>/test.udf on /mnt/disk type udf (rw,loop=/dev/loop0)

На ядре 3.10.32 монтирование udf сломано: монтируется как ro. Поэтому требуется перемонтирование в rw:

mount -o remount,rw /mnt/disk/
du /<path>/disk.iso
4,2G    /<path>/disk.iso
cp /<path>/disk.iso /mnt/disk
Превышен лимит размера файла
df
Файловая система      Разм  Исп  Дост  Исп% смонтирована на
/<path>/test.udf
                      4,4G  1,1G  3,4G  23% /mnt/disk

Ограничение на размер файла при прямом копировании в файловую систему!

В связи с невозможностью записи файла свыше 4Gb на DVD матрицу, используйте для этих целей программу genisoimage.

На ядре 3.10.32 ограничения на размер файла в 4Gb нет.

Ссылка на страницу Wiki: Releases/40/k3b4Gb