![]() |
Помогите кто знает записать под Линуксом CD так чтобы русские имена файлов в Винде коректно читались.
|
А в чем проблема ?
Сбрасываешь все файлы на жесткий диск, создаешь имедж диска и записываешь все на болванку. Если на жестком диске имена записаны правильно, то и на болванке они правильно читаются. |
Русские имена *nix-системах в koi8-r или ISO-8859-5, а MS подавай cp-1251 или cp-866. Так что либо избегай русских имен файлов при записи, либо переводи свой Linux на win cp-1251 :o (imho изврат).
P.S. по той же причине в инете на ftp-серверах, например, не найти локализованных имен файлов. |
Ну, я лично отношусь к числу этих "Изваращенцев" и не знаю проблем. (есть и koi8- пользователи на моем компьютере, если очень надо).
|
а в Linux'e можно прочитать болванку записанную в виндах с русским буквами?
[s]Исправлено: Nik, 3:33 27-07-2002[/s] |
Да, только нужно, что-бы кодировка CD была koi-8 или cp1251
|
но если koi-8 то под виндовсом будут траблы. так?
|
При чтении - нет, а вот при записи возможно ( писал всегда с cp1251)
|
Теоретически возможен следующий способ записи не перенося систему на cp1251:
Для записи такого CD необходимо иметь раздел в FAT32 (или FAT16, что IMHO не принципиально). Монтируем его к своей файловой системе командой, вроде: mount -t vfat /dev/hda6 /mnt/cdrec -o umask=0,codepage=866,iocharset=koi8-r Далее мы должны закинуть туда всё, что хотим записать на CD (подразумевается, что FAT32-диск пуст) и размонтировать его. А вот тут-то и начинается самое интересное. Потому как раз здесь у меня ничего не получается. :) Нужно заново смонтировать раздел, но так, чтобы файловая система воспринималась в кодировке cp1251. Как это сделать я не знаю. Попытка смонтировать раздел командой: mount -t vfat /dev/hdc6 rescue -o umask=0,codepage=866,iocharset=microsoft-cp1251 приводит к сообщению об ошибке. Поправьте меня, может я в чём-то ошибаюсь? Ну а дальше всё было бы просто: mkisofs -r -J -l -o /root/cd/image.iso /mnt/cdrec/ Вот такой вот теоретический способ. Как сами догадались лично не опробованный. :) |
Guest
Я недопонял - вначале ты монтируешь диск следующим образом: mount -t vfat /dev/hda6/mnt/cdrec -o umask=0,codepage=866,iocharset=koi8-r а после: mount -t vfat /dev/hdc6 rescue -o mask=0,codepage=866,iocharset=microsoft-cp1251 Может здесь у тебя ошибка? :) А вообще идея интересная - надо попробовать... Добавлено: Да и путь монтирования не бачу... |
Guest
Надо: mount -t vfat /dev/hdc6 rescue -o umask=0,codepage=866,iocharset=cp1251 1 А зачем два раза монтировать ? 2 Что-бы правильно видеть имена файлов, надо что-бы пользователь имел локаль cp1251. [s]Исправлено: ruslandh, 1:48 29-07-2002[/s] |
Здравствуйте, господа. Поделюсь соображениями.
В локальной файловой системе имена файлов обычно хранятся в koi8-r. На CD-ROM пишутся в UTF-8. Значит нужно сказать mkisofs, что локальные русские имена пишутся именно в koi8-r. За это отвечает ключ -input-charset. Потом, чтобы русские компакты нормально читались из линукса, добавляется опция iocharset=koi8-r к монтированию CD-ROM. Альтернатива - в довесок к Joliet писать Rock Ridge Extensions. Тогда и права-владельцы на файлы-каталоги сохранятся, и симлинки работать будут. Пример: mkdir rus cat >rus/Русский\ Файл.txt <<EOF some content EOF mkisofs -allow-multidot -d -J -R -P aml@rulezz.ru \ -p aml@rulezz.ru -v -v -f -allow-lowercase \ -allow-multidot -input-charset koi8-r -max-iso9660-filenames \ -relaxed-filenames -hide-rr-moved -no-iso-translate -o image rus cdrecord blank=fast dev=0,0,0 speed=4 -v -data image Все нормально пишется и читается. И в линуксе и в маздае. |
Время: 11:05. |
Время: 11:05.
© OSzone.net 2001-