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 http://www.opennet.me/opennews/art.shtml?num=9698 http://lwn.net/Articles/218766/- используя UDF вы можете писать на DVD как на обычную дискету. См сюда: http://www.opennet.me/base/sys/udf_cdrom.txt.html . Сам пробовал - получалось :)
Примечание: вообще IMHO замечательная файловая система. И почему разработку udftools прекратили?
Может найдется кто-то из глубокоуважаемого Linux- общества, который продолжит благородное дело?
URL:
Обсуждается: http://www.opennet.me/tips/info/1380.shtml
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 АндрейРУрррааа! Работает!
(Хотя почему бы ему не работать? :) )
По крайней мере 1.3 гига уже записал.
Еще раз спасибо. :)
Вот что я накопал по поводу ошибок в 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 +0200Fix 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 ThisHi 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
Яркий пример того что opensource ни на что не способен. Метод описанный здесь явно редкий изврат, между тем под виндой такой проблемы НЕТ. Это просто костыль под линуксом, не самый удобный и не самый правильный, т.к. ни а какой дозаписи речи нет. Под FreeBSD и вовсе не работоспособный.>ISO9660 не позволяет писать файлы 4Gb и более
Наглая ложь, она вообще позволяет писать файлы только до 2 Gb, но это не мешает гибридной FS писать файлы больше 2Gb
> Яркий пример того что opensource ни на что не способен
Да что вы говорите? А как же Винда это делает? Дайте подумаем. Чтобы более-менее удобно было писать на диск вообще, надо приобрести некий Nero или что-то подобное. А что вам мешает это сделать это под Линукс? - Покупайте Nero под Линукс и пользуйтесь на здоровье. В чем разница? И при чем тут Open Source?Кстати, именно OpenSource позволил мне обойти ограничение для UDF, описанное выше. В винде такое невозможно впринципе.
P. S. Сколько мисье купил за свою жизнь программ? Ваше счастье, что к нам не добрались ярые блюстители порядка как в США или других странах!
> Наглая ложь, она вообще позволяет писать файлы только до 2 Gb, но это не мешает гибридной FS писать файлы больше 2Gb
Я тут поинтересовался...
http://en.wikipedia.org/wiki/ISO_9660
По умолчанию, ISO9600 не позволяет писать файлы более 2Gb. MS Windows XP позволяет писать файлы какого угодно размера, но принцип таков, что она разбивает файл на куски по 2Gb и хитро размещает их на диске. В результате такие файлы может прочитать только Windows XP и никто больше. Вобщем как обычно M$ о совместимости не заботится. Если б мне не нужна была совместимость, я бы писал файлы на какую-нибудь ext3 и не мучался (кстати, Nero такого и не снилось - писать на диск ЛЮБУЮ файловую систему ;P ).А вот про гибридную FS можно почитать здесь: http://en.wikipedia.org/wiki/Hybrid_CD
А еще вот здесь есть замечательная (я бы сказал золотая) табличка: http://en.wikipedia.org/wiki/Comparison_of_file_systemsИз всего следует, что гибридная FS также не позволяет писать фалы более 2Gb. Но она вносит оганичение на длину имени файла в 31 символ (и подозреваю, без поддержки UTF-8), что для меня недопустимо.
Не убедили!
2 manmanmanМожно еще камешек в ваш огород? :)
>ни а какой дозаписи речи нет.
Читаем здесь http://en.wikipedia.org/wiki/Universal_Disk_Format :
When combined with packet writing technology, UDF has the advantage of allowing files to be added to and removed from a disc through the normal filesystem mechanisms. That is, the contents of a disc can be manipulated in the same way a hard disk, floppy disk, or USB flash drive might be. This even works for sequentially written media such as CD-R, although files that are deleted remain on the disc occupying space.
То есть на UDF возможна дозапись, удаление и т. п. файлов/директорий обычным способом, как на обычном жестком диске. Даже на CD-R. И о понятии мультисессии можно забыть - этот костыль уже никому не нужен.А теперь интереснее:
Typically for writing UDF in Windows, third-party burner software such as DirectCD, DLA, InCD, Toast, or WriteUDF is required. As shipped by Microsoft, Windows (before Windows Vista) can only read UDF discs, while current (2006) releases of Mac OS X, Linux, and several other Unixes include UDF writing capability with no additional software required.
То есть в Windows надо ставить сторонее ПО (которое надо покупать). Только Windows Vista поддерживает запись на UDF (но на нее у меня видеокарты не хватит :) ). В то время как Linux поддерживает это уже давно.А еще рекомендую обратиться по этому адресу: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=106286...
Форум Microsoft, раздел про Windows Vista, топик датирован 30.12.2006. Название топика достаточно красноречиво: "Live UDF slow and buggy".
Но больше всего там меня убил ответ Miscrosoft...Linux сложен, но по функциональности лучше MS Windows.
> А еще рекомендую обратиться по этому адресу: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=106286...
> Форум Microsoft, раздел про Windows Vista, топик датирован 30.12.2006. Название
>топика достаточно красноречиво: "Live UDF slow and buggy".
> Но больше всего там меня убил ответ Miscrosoft...
>
> Linux сложен, но по функциональности лучше MS Windows.летел на крыльях по этой линке, но даже слова Linux там не нашел...
Может уже убрали оттуда упоминание ненависной ОС?
Или какую фразу вы распознали как такой ответ негрософта?
>> А еще рекомендую обратиться по этому адресу: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=106286...
>> Форум Microsoft, раздел про Windows Vista, топик датирован 30.12.2006. Название
>>топика достаточно красноречиво: "Live UDF slow and buggy".
>> Но больше всего там меня убил ответ Miscrosoft...
>>
>> Linux сложен, но по функциональности лучше MS Windows.
>
>летел на крыльях по этой линке, но даже слова Linux там не
>нашел...
>
>Может уже убрали оттуда упоминание ненависной ОС?
>Или какую фразу вы распознали как такой ответ негрософта?Про Линукс там ни слова. Там просто говорится, что Live UDF slow and buggy. А ответ M$ я трактую как "Спокуха, все нормально, в будущем как-нибудь исправим". Хоть бы дату пообещали или версию, в которой будет исправлено. Хоть бы описали почему так происходит.
Им пофигу.
>Яркий пример того что opensource ни на что не способен. Метод описанный
>здесь явно редкий изврат, между тем под виндой такой проблемы НЕТ.
в заметке показан один маленький момент записи. Как делаю я в FC5:
в KDE запускаю k3b тыкаю мышкой куда надо (там все по русски и понятно)
и пишу на DVD что нужно, не задумываясь о файловых системах. И диск
при этом без проблем читается и под виндой тоже. А если хочется
узнать, что там k3b делает - так там есть отладочные выводы, которые
можно посмотреть и узнать, что запускается и с какими параметрами. И
запускать то же самое в консоли. Так что для меня данный момент удобнее
под Linux,чем под виндой - утилитка идет с операционкой, в момент установки
готова к употреблению, графический интерфейс понятен. Так что проблема больше под
виндой. И образ диска там делается, и на лету можно записать. Кстати, используется
для создания образов в k3b если я не ошибаюсь, growisofs.
>И образ диска там делается
единственно, конечно, странно выходит. В заметке автор все-таки использует k3b. Так
почему сразу не сделать так: запустить это приложение, нажать на кнопку "DVD с данными", перетащить мышкой все, что нужно, нажать на запись, а в появившемся окошке выбрать
закладку с флажком "только образ"? Все прекрасно работает. Ну, можно все, конечно и
из консоли. Можно свалить все в скрипт, передавать ему параметры каталога с файлами, а скрипт все делать будет. Можно сначала часть из консоли, затем часть из графики. Можно наоборот.
Если заняться нечем.
Да, и с дозаписью проблем ни каких :-))
>Да, и с дозаписью проблем ни каких :-))Как раз с дозаписью с ISO больше геморроя, чем с UDF
> единственно, конечно, странно выходит. В заметке автор все-таки использует k3bОбраз создается коммандами (и никак иначе). А запись образа возможна двумя способами - из коммандной строки и k3b
> почему сразу не сделать так: запустить это приложение, нажать на кнопку "DVD с данными", перетащить мышкой все, что нужно, нажать на запись, а в появившемся окошке выбрать закладку с флажком "только образ"? Все прекрасно работает
Нет, с файлами более 4Gb (1Gb=1024*1024*1024) такой способ не пройдет, потому как файловая система ISO такого не поддерживает. Только что для очистки совести попробовал сам :)
Я тоже попробовал сделать образ в k3b. Получилось. Нажал "создать DVD с данными", понатаскал мышкой файлов на 5,1 ГБ, нажал "запись", выбрал "создать только образ", "формировать структуры UDF" и опять "записать". Вот отладочная инфа:System
-----------------------
K3b Version: 0.12.15KDE Version: 3.5.5-0.2.fc5 Fedora-Core
QT Version: 3.3.7
Kernel: 2.6.16.11
Devices
-----------------------
_NEC DVD_RW ND-4550A 1.06 (/dev/hdc, ) at [CD-R; CD-RW; CD-ROM; DVD-ROM; DVD-RAM; DVD-R; DVD-RW; DVD-R DL; DVD+R; DVD+RW; DVD+R DL] [DVD-ROM; DVD-R Sequential; DVD-R Dual Layer Sequential; DVD-RAM; DVD-RW Restricted Overwrite; DVD-RW Sequential; DVD+RW; DVD+R; DVD+R Double Layer; CD-ROM; CD-R; CD-RW] [SAO; TAO; RAW; SAO/R96R; RAW/R96R; Ограниченная перезапись]mkisofs
-----------------------
INFO: KOI8-R character encoding detected by locale settings.
Assuming KOI8-R encoded filenames on source filesystem,
use -input-charset to override.
0.04% done, estimate finish Wed Feb 14 20:40:20 2007
.
.
.
99.98% done, estimate finish Wed Feb 14 20:47:44 2007
Total translation table size: 0
Total rockridge attributes bytes: 18476
Total directory bytes: 38912
Path table size(bytes): 202
Max brk space used 20000
2697994 extents written (5269 MB)mkisofs command:
-----------------------
/usr/bin/mkisofs -gui -graft-points -volid K3b data project -volset -appid K3B THE CD KREATOR (C) 1998-2005 SEBASTIAN TRUEG AND THE K3B TEAM -publisher -preparer -sysid LINUX -volset-size 1 -volset-seqno 1 -sort /tmp/kde-lena/k3bLAyJBb.tmp -rational-rock -hide-list /tmp/kde-lena/k3bcXXHmb.tmp -joliet -hide-joliet-list /tmp/kde-lena/k3bRaKgva.tmp -udf -full-iso9660-filenames -iso-level 2 -path-list /tmp/kde-lena/k3bLExAMb.tmpСоздался нормальный образ.
>Я тоже попробовал сделать образ в k3b. Получилось. Нажал "создать DVD с
>данными", понатаскал мышкой файлов на 5,1 ГБ, нажал "запись", выбрал "создать
>только образ", "формировать структуры UDF" и опять "записать". Вот отладочная инфа:Файлов-то на 5Gb и более оно запишет, и без "формировать структуры UDF". А вот если будет хоть один файл размером более 4Gb - не захочет. Я очень хотел бы ошибаться, но я попробовал после вашего ответа еще раз с различными вариациями настроек - к сожалению...
>Файлов-то на 5Gb и более оно запишет, и без "формировать структуры UDF".
>А вот если будет хоть один файл размером более 4Gb -
>не захочет. Я очень хотел бы ошибаться, но я попробовал после
>вашего ответа еще раз с различными вариациями настроек - к сожалению...
да, файл больше 4ГБ вставлять и у меня тоже отказалась... Тут разве что попробовать создать образ, а потом уже в созданный образ скопировать...
>Яркий пример того что opensource ни на что не способен. Метод описанный
>здесь явно редкий изврат, между тем под виндой такой проблемы НЕТ.
Ага, там просто поддержка только антикварных версий udf, не всех фич и вообще записывая udf надо заранее интересоваться какая у человека винда.Если уж виндузятникам чем-то понтоваться то это явно не охренительная поддержка UDF-а этой системой.
Ха-Ха!!! Автор ткекста наверное просто печатать вспоминал как, потому-что нагло гонит..Я тут на днях пытался записать на болванку фильм, оцифровка с двд- 4,2 Гб. Так вот так автором нелюбимый линукс выругал меня о лимите в 4Гб ISO9660, в то время, как любимая автором масдайка - выругаляся о лимите в 2Гб. То-есть, в линкуксе я столкнулся с лимитом файловой системы ISO9660 в 4Гб, а с чем я столкнулся в винде? С кривостью, скорее всего.
>То есть на UDF возможна дозапись, удаление и т. п. файлов/директорий обычным способом, как на обычном жестком диске. Даже на CD-R. И о понятии мультисессии можно забыть - этот костыль уже никому не нужен.
Конечно возможна! Но только не тем методом который здесь описан!
> Конечно возможна! Но только не тем методом который здесь описан!
Вы правы. Интересующая вас информация находится например здесь: http://www.opennet.me/base/sys/write_cdr.txt.html
Я описал просто другой способ, и кроме того описал довольно много других ньюансов, с которыми столкнулся на практике.
>Да что вы говорите? А как же Винда это делает? Дайте подумаем. Чтобы более-менее удобно было писать на диск вообще, надо приобрести некий Nero или что-то подобное. А что вам мешает это сделать это под Линукс? - Покупайте Nero под Линукс и пользуйтесь на здоровье. В чем разница? И при чем тут Open Source?Вы услышали только винда. А я говорю про Open Source, которое неспособно родить нормальную программу для записи DVD не страдающую описанными извратами
>Вы услышали только винда. А я говорю про 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 это уже и умеет, но в той версии, с которй я работал - этого в помине небыло.
Не убедили!
2 АндрейРА на что влияет этот патчик?
и чем и как записывать?
>> А симлинки/хардлинки Nero может записать?
>> В Windows XP одни из них точно есть
>> (не помню какие именно)Есть хардлинки, только для их создания нужна какая-то тулза из DDK, которую в инете мне найти не удалось (интересовался сколько-то лет назад). Вообще это свойство NTFS, под win2k тоже должно работать. А записать их можно чем угодно, все резолвится на уровне fs.
Кстати, для винды есть мелкая и шустрая утилита записи дисков smallcdwriter размером 398k (www.avtlab.ru/software.htm), таскаю с собой на флэшке, доволен.
>Кстати, для винды есть мелкая и шустрая утилита записи дисков smallcdwriter
>размером 398k (www.avtlab.ru/software.htm), таскаю с собой на флэшке, доволен.
Для винды есть еще порт cdrtools.Если надо что-то нестанндартное - must have.Слабо себе представляю тулзу кроме оных которая столько же умеет.
Этот патчик для записи больших (больше 1 Гб) файлов на UDF, пока ее внутренности не перелопатили на предмет более корректного решения. В принципе на DVD+RW я и vfat создавал, но винда такого изврата не съела.про пакетную запись в документации к ядру: Documentation/cdrom/packet-writing.txt
> ISO9660 не позволяет писать файлы 4Gb и более. Потому про mkisofs можно забыть.
> Используется файловая система UDF.Вообще-то mkisofs умеет делать образы в формате UDF. См. ключ -udf. Я без проблем его использую для создания и последующей записи (с помощью groisofs) DVD DL дисков.
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 туда даже с этой опцией
извращённый и очеень медленный способ.если вы не религиозный фанатик и не борец за лицензионную чистоту, или-же не проч заплатить за софт то можно использовать nero-linux -- у неё нет проблем с udf
А кто мне пояснит строку, найденную здесь http://en.wikipedia.org/wiki/Comparison_of_file_systems , в которой говориться что UDF поддерживает максимальный размер файла 16EiB ?
Сам столкнулся с тем что не смог записать на ДВД файл больше 4-х гигов.
Описываю весь процесс.
Сначала создал образ в UltraISO, который поругался на размер файла и выдал ошибку.
Затем просто попробовал записать тот-же файл через Неро, который тоже пришёл в ярость от моей наглости и предложил записать файл меньшего размера.
>А кто мне пояснит строку, найденную здесь http://en.wikipedia.org/wiki/Comparison_of_file_systems , в которой говориться
>что UDF поддерживает максимальный размер файла 16EiB ?
>Сам столкнулся с тем что не смог записать на ДВД файл больше
>4-х гигов.
>Описываю весь процесс.
>Сначала создал образ в UltraISO, который поругался на размер файла и выдал
>ошибку.
>Затем просто попробовал записать тот-же файл через Неро, который тоже пришёл в
>ярость от моей наглости и предложил записать файл меньшего размера.
Не знаю что там говорил Неро, но с UDF все пишется. И еще раз - growisofs не умеет писать UDF!
а что неро, ой фу - этот - к3Б не умеет что-ли?
>а что неро, ой фу - этот - к3Б не умеет
>что-ли?
k3b не умеет сам ничего. Он использует mkisofs/growisofs, а вот они... man mkisofs или см пост №28
Хорошо, пусть НЕРО дурак, а как быть с CDIMAGE_2.52 ?
Он тоже отказался создавать образ увидев в источнике файл больше 4-х ГИГОВ.
Или это чисто микрософтовские ограничения которые к формату отношения не имеют ?
4.4 Gb залетело норм - делал так
growisofs -dvd-compat -Z /dev/dvd=/media/sdb3/Downloads/Re.iso
k3b 1.04 прекрасно записал 4.3Гб, обновил специально ради этого
>k3b 1.04 прекрасно записал 4.3Гб, обновил специально ради этогоодин файл на 4.3 гига ?..
вы не читали man mkisofs) эт такая софтинка, которой пользует growisofs, пользуемый вашей k3b) и оно не умеет udf, а делает поддержку udf для joliet. Но может записать предварительно приготовленный образ udf. Имхо в винде с этим вообще никак и многими любимый nero тож дублирует записи joliet в udf. Так что прекращайте гнать))
А записывать лучше в консоли, эт совсем не трудно) нужно тока man'ы осилить)
...
И когда еще столетье,
Протекло над краем снов,
Третий тролль сказал:"прощайте!
Ненавижу болтунов!"
>вы не читали man mkisofs) эт такая софтинка, которой пользует growisofs, пользуемый
>вашей k3b) и оно не умеет udf, а делает поддержку
>udf для joliet. Но может записать предварительно приготовленный образ udf. Так что прекращайте гнать))
>А записывать лучше в консоли, эт совсем не трудно) нужно тока man'ы осилить)
Проверил, записал mkv-файл размером 4,2 Gb
Ubuntu Hardy 8.04 (2.6.24-19-generic)
Использовал инструкцию: http://grigio.org/how_burn_file_4gb_dvd_udfФильм посмотрел полностью, все на месте, все работает.