The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

Запись фалов 4Gb и более на DVD
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- общества, который продолжит благородное дело?
 
13.02.2007 , Автор: Kroz
Ключи: dvd, udf, mkisofs, iso, cdrom / Лицензия: CC-BY
Раздел:    Корень / Пользователю / CD, CD-R, DVD, AudioCD

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, АндрейР (?), 12:19, 13/02/2007 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    root@slax:/home/guest/source/linux-2.6.19.2# cat udf_1gb_unlimit.patch
    --- super.bak   2006-08-23 21:16:33.000000000 +0000
    +++ super.c     2006-11-21 10:42:42.000000000 +0000
    @@ -1653,7 +1653,7 @@
                    iput(inode);
                    goto error_out;
            }
    -       sb->s_maxbytes = 1<<30;
    +       sb->s_maxbytes = MAX_LFS_FILESIZE;
            return 0;

    error_out:

    super.c в fs/udf/ лежит.... Вроде работает.

     
     
  • 2.3, Kroz (ok), 14:06, 13/02/2007 [^] [ответить]    [к модератору]
  • +/
    Спасибо за патч. Обязательно попробую.
     
  • 2.6, Kroz (ok), 18:45, 13/02/2007 [^] [ответить]    [к модератору]
  • +/
    2 АндрейР

    Урррааа! Работает!
    (Хотя почему бы ему не работать? :) )
    По крайней мере 1.3 гига уже записал.
    Еще раз спасибо. :)

     
  • 1.2, Kroz (ok), 14:05, 13/02/2007 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    Вот что я накопал по поводу ошибок в UDF (на самом деле спасибо анонимусам c LOR):

    ----------------
    http://secunia.com/advisories/21515/

    Linux 2.6.17.10

    commit 7127be29378b1230eb8dd8b84f18d6b69c56e959
    Author: Jan Kara <jack@suse.cz>
    Date: Tue Aug 15 13:56:26 2006 +0200

    Fix possible UDF deadlock and memory corruption (CVE-2006-4145)

    UDF code is not really ready to handle extents larger that 1GB. This is
    the easy way to forbid creating those.

    Also truncation code did not count with the case when there are no
    extents in the file and we are extending the file.

    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ----------------
    From "colin" <>
    Subject UDF filesystem has some bugs on truncating
    Date Fri, 16 Jun 2006 13:47:00 +0800
    Digg This

    Hi all,
    I found that UDF has bugs on truncating.
    When you do this:
    dd if=/dev/zero of=aaa bs=1024k count=2 seek=3000
    , Linux will hang and die.
    The platform is Linux 2.6.16 on MIPS malta board.

    Regards,
    Colin

     
  • 1.4, manmanman (ok), 16:25, 13/02/2007 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    Яркий пример того что opensource ни на что не способен. Метод описанный здесь явно редкий изврат, между тем под виндой такой проблемы НЕТ. Это просто костыль под линуксом, не самый удобный и не самый правильный, т.к. ни а какой дозаписи речи нет. Под FreeBSD и вовсе не работоспособный.

    >ISO9660 не позволяет писать файлы 4Gb и более
    Наглая ложь, она вообще позволяет писать файлы только до 2 Gb, но это не мешает гибридной FS писать файлы больше 2Gb

     
     
  • 2.5, Kroz (ok), 17:29, 13/02/2007 [^] [ответить]     [к модератору]  
  • +/
    Да что вы говорите А как же Винда это делает Дайте подумаем Чтобы более-менее... весь текст скрыт [показать]
     
  • 2.7, Kroz (ok), 19:20, 13/02/2007 [^] [ответить]     [к модератору]  
  • +/
    2 manmanman Можно еще камешек в ваш огород Читаем здесь http en wikipedi... весь текст скрыт [показать]
     
     
  • 3.23, _Nick_ (??), 09:52, 15/02/2007 [^] [ответить]     [к модератору]  
  • +/
    летел на крыльях по этой линке, но даже слова Linux там не нашел Может уже уб... весь текст скрыт [показать]
     
     
  • 4.24, Kroz (ok), 10:26, 15/02/2007 [^] [ответить]     [к модератору]  
  • +/
    Про Линукс там ни слова Там просто говорится, что Live UDF slow and buggy А от... весь текст скрыт [показать]
     
  • 2.8, Serg11 (??), 09:44, 14/02/2007 [^] [ответить]     [к модератору]  
  • +/
    в заметке показан один маленький момент записи Как делаю я в FC5 в KDE запуска... весь текст скрыт [показать]
     
     
  • 3.9, Serg11 (??), 09:54, 14/02/2007 [^] [ответить]     [к модератору]  
  • +/
    единственно, конечно, странно выходит В заметке автор все-таки использует k3b ... весь текст скрыт [показать]
     
     
  • 4.10, Serg11 (??), 10:00, 14/02/2007 [^] [ответить]    [к модератору]  
  • +/
    Да, и с дозаписью проблем ни каких :-))
     
     
  • 5.12, Kroz (ok), 10:19, 14/02/2007 [^] [ответить]    [к модератору]  
  • +/
    >Да, и с дозаписью проблем ни каких :-))

    Как раз с дозаписью с ISO больше геморроя, чем с UDF

     
  • 4.11, Kroz (ok), 10:18, 14/02/2007 [^] [ответить]     [к модератору]  
  • +/
    Образ создается коммандами и никак иначе А запись образа возможна двумя спосо... весь текст скрыт [показать]
     
     
  • 5.22, Serg11 (??), 21:16, 14/02/2007 [^] [ответить]     [к модератору]  
  • +/
    Я тоже попробовал сделать образ в k3b Получилось Нажал создать DVD с данными ... весь текст скрыт [показать]
     
     
  • 6.25, Kroz (ok), 10:30, 15/02/2007 [^] [ответить]     [к модератору]  
  • +/
    Файлов-то на 5Gb и более оно запишет, и без формировать структуры UDF А вот е... весь текст скрыт [показать]
     
     
  • 7.26, Serg11 (??), 11:48, 15/02/2007 [^] [ответить]     [к модератору]  
  • +/
    да, файл больше 4ГБ вставлять и у меня тоже отказалась Тут разве что попробов... весь текст скрыт [показать]
     
  • 2.20, Man in the middle (?), 18:55, 14/02/2007 [^] [ответить]     [к модератору]  
  • +/
    Ага, там просто поддержка только антикварных версий udf, не всех фич и вообще за... весь текст скрыт [показать]
     
  • 2.29, Dart (??), 10:18, 06/03/2007 [^] [ответить]     [к модератору]  
  • +/
    Ха-Ха Автор ткекста наверное просто печатать вспоминал как, потому-что нагло... весь текст скрыт [показать]
     
  • 1.13, manmanman (ok), 10:48, 14/02/2007 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    >То есть на UDF возможна дозапись, удаление и т. п. файлов/директорий обычным способом, как на обычном жестком диске. Даже на CD-R. И о понятии мультисессии можно забыть - этот костыль уже никому не нужен.
    Конечно возможна! Но только не тем методом который здесь описан!
     
     
  • 2.15, Kroz (ok), 11:31, 14/02/2007 [^] [ответить]     [к модератору]  
  • +/
    Вы правы Интересующая вас информация находится например здесь http www openn... весь текст скрыт [показать]
     
  • 1.14, manmanman (ok), 10:50, 14/02/2007 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    >Да что вы говорите? А как же Винда это делает? Дайте подумаем. Чтобы более-менее удобно было писать на диск вообще, надо приобрести некий Nero или что-то подобное. А что вам мешает это сделать это под Линукс? - Покупайте Nero под Линукс и пользуйтесь на здоровье. В чем разница? И при чем тут Open Source?

    Вы услышали только винда. А я говорю про Open Source, которое неспособно родить нормальную программу для записи DVD не страдающую описанными извратами

     
     
  • 2.16, Kroz (ok), 11:46, 14/02/2007 [^] [ответить]    [к модератору]  
  • +/
    >Вы услышали только винда. А я говорю про Open Source, которое неспособно
    >родить нормальную программу для записи DVD не страдающую описанными извратами
    k3b. Обладает одним недостатком: не умеет писать UDF. А в остальном - маленький, удобный, позволяет делать все с дисками в т. ч. грабить.

    Для сравнения: Nero - удобный, много умеет. Лично для меня список необходимых функций содержат как k3b так и Nero. Только Nero большой, не модульный (если мне надо добавить какую-то фитчу из новой версии мне нужно скачивать новый Nero, тогда как в случае k3b достаточно скачать библиотеку или модуль), ПЛАТНЫЙ.

    Три недостатка против одного.

    Кстати, может ли Nero диску задавать кроме Volume Label еще такие поля как Volume set name, Publisher, Preparer, System, Application, Abstract file, Copyright File, Bibliographic file? А какие там настройки по совместимости? - В k3b есть UNIX, UNIX/WINDOWS, Large files, DOS compatibility (ты смотри, даже в Линуксе про DOS заботятся, тогда как M$ уже давно на это забила!). А симлинки/хардлинки Nero может записать? В Windows XP одни из них точно есть (не помню какие именно), а в Висте AFAIK обе технологии есть. Я без линков уже жить не могу, особенно при организации фотографий.

    Может Nero это уже и умеет, но в той версии, с которй я работал - этого в помине небыло.

    Не убедили!

     
  • 1.17, Andrs (?), 12:10, 14/02/2007 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    2 АндрейР

    А на что влияет этот патчик?
    и чем и как записывать?

     
  • 1.18, Veter (??), 12:18, 14/02/2007 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    >> А симлинки/хардлинки Nero может записать?
    >> В Windows XP одни из них точно есть
    >> (не помню какие именно)

    Есть хардлинки, только для их создания нужна какая-то тулза из DDK, которую в инете мне найти не удалось (интересовался сколько-то лет назад). Вообще это свойство NTFS, под win2k тоже должно работать. А записать их можно чем угодно, все резолвится на уровне fs.

    Кстати, для винды есть мелкая и шустрая утилита записи дисков  smallcdwriter размером 398k (www.avtlab.ru/software.htm), таскаю с собой на  флэшке, доволен.

     
     
  • 2.21, Man in the middle (?), 19:00, 14/02/2007 [^] [ответить]    [к модератору]  
  • +/
    >Кстати, для винды есть мелкая и шустрая утилита записи дисков  smallcdwriter
    >размером 398k (www.avtlab.ru/software.htm), таскаю с собой на  флэшке, доволен.
    Для винды есть еще порт cdrtools.Если надо что-то нестанндартное - must have.Слабо себе представляю тулзу кроме оных которая столько же умеет.
     
  • 1.19, АндрейР (?), 18:21, 14/02/2007 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Этот патчик для записи больших (больше 1 Гб) файлов на UDF, пока ее внутренности не перелопатили на предмет более корректного решения. В принципе на DVD+RW  я и vfat создавал, но винда такого изврата не съела.

    про пакетную запись в документации к ядру: Documentation/cdrom/packet-writing.txt

     
  • 1.27, Max (??), 11:46, 21/02/2007 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    > ISO9660 не позволяет писать файлы 4Gb и более. Потому про mkisofs можно забыть.
    > Используется файловая система UDF.

    Вообще-то mkisofs умеет делать образы в формате UDF. См. ключ -udf. Я без проблем его использую для создания и последующей записи (с помощью groisofs) DVD DL дисков.

     
     
  • 2.28, Kroz (??), 14:18, 22/02/2007 [^] [ответить]    [к модератору]  
  • +/
    man mkisofs
    ...
    -udf
    Include UDF support in the generated filesystem image. UDF support is currently in alpha status and for this reason, it is not possible to create UDF only images. UDF data structures are currently coupled to the Joliet structures, so there are many pitfalls with the current implementation. There is no UID/GID support, there is no POSIX permission support, there is no support for symlinks. Note that UDF wastes the space from sector ~20 to sector 256 at the beginning of the disk in addition to the spcae needed for real UDF data structures.

    Не создает оно udf образы. Не запишешь ты файл более 4Gb туда даже с этой опцией

     
  • 1.30, koct9i (?), 23:18, 10/03/2007 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    извращённый и очеень медленный способ.

    если вы не религиозный фанатик и не борец за лицензионную чистоту, или-же не проч заплатить за софт то можно использовать nero-linux -- у неё нет проблем с udf

     
  • 1.31, Egenius (?), 14:50, 16/03/2007 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    А кто мне пояснит строку, найденную здесь http://en.wikipedia.org/wiki/Comparison_of_file_systems , в которой говориться что UDF поддерживает максимальный размер файла 16EiB ?
    Сам столкнулся с тем что не смог записать на ДВД файл больше 4-х гигов.
    Описываю весь процесс.
    Сначала создал образ в UltraISO, который поругался на размер файла и выдал ошибку.
    Затем просто попробовал записать тот-же файл через Неро, который тоже пришёл в ярость от моей наглости и предложил записать файл меньшего размера.
     
     
  • 2.33, Kroz (ok), 00:41, 19/03/2007 [^] [ответить]    [к модератору]  
  • +/
    >А кто мне пояснит строку, найденную здесь http://en.wikipedia.org/wiki/Comparison_of_file_systems , в которой говориться
    >что UDF поддерживает максимальный размер файла 16EiB ?
    >Сам столкнулся с тем что не смог записать на ДВД файл больше
    >4-х гигов.
    >Описываю весь процесс.
    >Сначала создал образ в UltraISO, который поругался на размер файла и выдал
    >ошибку.
    >Затем просто попробовал записать тот-же файл через Неро, который тоже пришёл в
    >ярость от моей наглости и предложил записать файл меньшего размера.


    Не знаю что там говорил Неро, но с UDF все пишется. И еще раз - growisofs не умеет писать UDF!

     
  • 1.32, Аноним (-), 02:19, 17/03/2007 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    а что неро, ой фу  - этот - к3Б не умеет что-ли?
     
     
  • 2.34, Kroz (ok), 00:45, 19/03/2007 [^] [ответить]    [к модератору]  
  • +/
    >а что неро, ой фу  - этот - к3Б не умеет
    >что-ли?
    k3b не умеет сам ничего. Он использует mkisofs/growisofs, а вот они... man mkisofs или см пост №28
     
  • 1.35, Egenius (ok), 15:42, 19/03/2007 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Хорошо, пусть НЕРО дурак, а как быть с CDIMAGE_2.52 ?
    Он тоже отказался создавать образ увидев в источнике файл больше 4-х ГИГОВ.
    Или это чисто микрософтовские ограничения которые к формату отношения не имеют ?
     
  • 1.36, alxim (?), 01:10, 03/10/2007 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    4.4 Gb залетело норм - делал так
    growisofs -dvd-compat -Z /dev/dvd=/media/sdb3/Downloads/Re.iso
     
  • 1.37, kapany3 (?), 17:52, 05/11/2007 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    k3b 1.04 прекрасно записал 4.3Гб, обновил специально ради этого
     
     
  • 2.38, Touch (?), 00:56, 30/03/2008 [^] [ответить]    [к модератору]  
  • +/
    >k3b 1.04 прекрасно записал 4.3Гб, обновил специально ради этого

    один файл на 4.3 гига ?..

     
     
  • 3.39, anonimous (?), 04:01, 28/04/2008 [^] [ответить]    [к модератору]  
  • +/
    вы не читали man mkisofs) эт такая софтинка, которой пользует growisofs, пользуемый вашей k3b)  и оно не умеет udf, а делает поддержку udf для joliet. Но может записать предварительно приготовленный образ udf.  Имхо в винде с этим вообще никак и многими любимый nero тож дублирует записи joliet в udf. Так что прекращайте гнать))
    А записывать лучше в консоли, эт совсем не трудно) нужно тока man'ы осилить)

     
     
  • 4.40, Nick (??), 04:09, 28/04/2008 [^] [ответить]    [к модератору]  
  • +/
    ...
    И когда еще столетье,
    Протекло над краем снов,
    Третий тролль сказал:"прощайте!
    Ненавижу болтунов!"
     
  • 4.41, anonimous (?), 04:21, 28/04/2008 [^] [ответить]    [к модератору]  
  • +/
    >вы не читали man mkisofs) эт такая софтинка, которой пользует growisofs, пользуемый
    >вашей k3b)  и оно не умеет udf, а делает поддержку
    >udf для joliet. Но может записать предварительно приготовленный образ udf. Так что прекращайте гнать))
    >А записывать лучше в консоли, эт совсем не трудно) нужно тока man'ы осилить)
     
  • 1.42, valich (?), 23:03, 29/08/2008 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Проверил, записал mkv-файл размером 4,2 Gb
    Ubuntu Hardy 8.04 (2.6.24-19-generic)
    Использовал инструкцию: http://grigio.org/how_burn_file_4gb_dvd_udf

    Фильм посмотрел полностью, все на месте, все работает.

     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor