| ||||||||||||||||
![]() | ||||||||||||||||
| ||||||||||||||||
![]() | ||||||||||||||||
| ||||||||||||||||
![]() |
Грузите апельсины бочками, а данные пакетами... Новый, но пока еще мало используемый стандарт записи дисков предоставляет гораздо больше возможностей и существенно легче в использовании. Подробно о том, как записывать диски по-новому под linux и пойдет речь в этой статье. Плюс немного о FreeBSD. Любой владелец привода CD-ROM - это счастливый владелец, подтвердит любой, у кого этот привод ломался, и кто почувствовал всю прелесть существования в современном компьютерном мире без этого привода =) Но это может и сказать владелец пишущего CD устройства. Особенно, если он никогда не записывал диск под UNIX/Linux. Тому, кто работал с графическими программами в Windows, очень сложно привыкнуть к "спартанской" обстановке в мире *NIX. Да и сама процедура записи на компакт-диск, пришедшая к нам из стародавних времен, больше походит на пляску шамана у костра. Ее главный недостаток (многими расценивается как достоинство) - неудобство создания записей и длительность их создания. Приход CD-RW (перезаписываемого компакт-диска), не ознаменовал ничего нового для пользователя в смысле удобства записи: по-прежнему приходилось создавать сессию, а до этого еще долго форматировать болванку. В минусе была и низкая скорость записи на CD-RW (2x-4х против 8х-12х). Все начало меняться с приходом DVD. Для него была создана своя файловая система UDF (Universal Disk Format), учитывающая его большую емкость и скорость. Ведь стандарт iso9660 был создан еще в 1987 году, и совершено не годился для нового носителя информации из-за ограничений на объем и размещение данных. Изначально основной задачей UDF была лишь непрерывность видеопотока и совместимость с обычной файловой системой (т.н. Bridged UDF, в которой видеопотоки записывались в двух видах - UDF и ISO9660). В последующих версиях системы добавилась поддержка записи на CD-R и CD-RW диски. Это было большим шагов вперед для обычных пользователей. Появился реальный конкурент ZIP дискам и магнитооптике. Перечислю преимущества нового стандарта записи:
Новинка была сразу подхвачена фирмами Adaptec и CeQadrat, лидерами на рынке программ для записи CD (теперь их продукты продаются под торговой маркой Roxio). Adaptec разработала свою реализацию UDF, назвав ее DirectCD, а CeQuadrat свою, назвав ее PacketCD. Названия как бы подчеркивали доступность и компактность, "packed" - это от метода записи на диск, в основе которого лежал принцип записи "пакетами" - маленькими (32-64кб) блоками данных. Именно из-за этого обеспечивалась большая гибкость при записи. Пропали проблемы "переполнения буфера" записи. Появилась возможность "лечить" диски, на которых появились плохие сектора: можно было или просто переформатировать диск, или переписать тот участок, на котором возник сбой. Еще одно удобство такой записи - диск можно не "закрывать" (finalize), до тех пор, пока вас не устроит результат (сравните с CD-R, который нередко приходилось перезаписывать по-новой из-за неправильно собранного "образа"). На заре создания этого стандарта лишь малое количество CD рекордеров поддерживало пакетную запись, но скоро ситуация начала выправляться - производители приняли UDF и packed writing. На сегодняшний день все CD рекордеры имеют поддержку пакетной записи. "А как это реализовано на практике?", спросите вы. Спецификация OSTA UDF подробно затрагивает это, и тут все зависит от разработчиков: под Windows это драйвер, под Linux это модуль ядра. Есть также и драйвер для MacOS 8.1 от Roxio. Реализация UDF под другие платформы мне не известна, но в OSTA UDF заявлена поддержка под OS/2 и Unix(xBSD,VMS,HP-UX). По крайней мере, FreeBSD, начиная с 4.2STABLE, официально поддерживает запись на CD-RW, в 4.3STABLE добавлена поддержка DVD-RAM (см. Приложение C). Наиболее удобно в Windows: поддержка сделана в виде драйвера, который добавляет возможность чтения для CD-ROM привода и записи для рекордера. Еще есть возможность изменения скорости чтения/записи данных (что очень удобно и в обычных условиях, т.к обычно CD-RW диск читается на той же скорости, что и записан). К сожалению, из-за отсутствия у меня CD-RW, приходится говорить "возможно" и "я так думаю". Весь процесс записи под Windows очень прост - вы просто форматируете диск, как дискету (обычно это занимает ~ 20 минут), затем просто в "Проводнике" или вашем любимом файловом менеджере копируете файлы на диск. Если что-то не так, или вы передумали, просто стираете и записываете новый. Как говорится, "доступно даже младенцу" =) DirectCD входит в Easy CD Creator, PackedCD есть в WinOnCD. Из дополнительных возможностей под Windows реализована компрессия данных, что позволяет разместить на диске 700Мб около 1 Гб информации! Конечно, информация должна хорошо сжиматься и сам носитель быть достаточно хорошим, иначе возможны сбои при чтении. Из личного опыта хочу заметить, что DirectCD более стабилен и наиболее близок к "идеальной OSTA UDF", а PackedCD более "наворочен" с точки зрения функциональности, но с ним чаще сбои при записи из-за качества носителей. К тому же PackedCD не совместим с реализацией UDF под Linux и его не читает DirectCD, в общем достаточно закрытый и проблемный продукт получился. С Linux все сложнее...Здесь нормально реализовано только чтение дисков, файловая система UDF официально входит в ядро, начиная с версии 2.3.7 и доступна для предыдущих версии как дополнительный модуль. Большинство дистрибутивов, кроме ASPLinux и RedHat, имеют поддержку UDF в ядрах 2.2 (это не касается 2.4, куда udf входит официально). util-linux также знают эту файловую систему. Если у вас нет этого модуля (udf.o), то его исходный код можно скачать с сайта linux-udf.sourceforge.net или http://www.csc.calpoly.edu/~bfennema/udf.html (это страница Ben Fennema, одного из разработчиков UDF для Linux) в виде архива, а затем собрать самостоятельно (см. приложение А). В текущей версии драйвера - 0.9.4, доступной через CVS, добавлена опция iocharset, наконец-то позволяющая видеть каталоги в кодировке, отличной от iso8859-1. Как уже говорилось выше, с помощью этого модуля можно успешно читать UDF диски, созданные на базе UDF 2.0 или 1.50 - это DirectCD и InCD.
К сожалению, запись udf дисков "на лету", пока находится в альфа
состоянии, но все равно, оптимизм автора (Jens Axboe) патча для
поддержки пакетной записи очень вдохновляет: уже сейчас можно свободно
записывать на CD-RW, скоро планируется поддержка CD-R, а затем
поддержка пакетной записи будет интегрирована в ядро 2.4. И это при том,
что версия еще 0.0.2k! Конечно, не все так безоблачно - еще не решен
вопрос с записью больших файлов, не до конца отработан алгоритм
восстановления после сбоя. Но как говорится, "it's sucks, but it's
works". Патчи для поддержки пакетной записи под ядро 2.4.5-pre1 можно
скачать с сайта или
через SourceForge . На сайте
SourceForge есть и CVS репозиторий, через который можно получить самую
свежую версию. Т.к вся поддержка предоставляется в виде патчей к ядру,
для сборки вам понадобится и само ядро =) Его также можно скачать с
[Вперед] |
|
![]() | ||||||||||||||||
| ||||||||||||||||
![]() | ||||||||||||||||
|