Показать полную графическую версию : CD RW
Помогите кто знает записать под Линуксом CD так чтобы русские имена файлов в Винде коректно читались.
ruslandh
23-03-2002, 07:11
А в чем проблема ?
Сбрасываешь все файлы на жесткий диск, создаешь имедж диска и записываешь все на болванку.
Если на жестком диске имена записаны правильно, то и на болванке они правильно читаются.
Русские имена *nix-системах в koi8-r или ISO-8859-5, а MS подавай cp-1251 или cp-866. Так что либо избегай русских имен файлов при записи, либо переводи свой Linux на win cp-1251 :o (imho изврат).
P.S. по той же причине в инете на ftp-серверах, например, не найти локализованных имен файлов.
ruslandh
26-07-2002, 18:42
Ну, я лично отношусь к числу этих "Изваращенцев" и не знаю проблем. (есть и koi8- пользователи на моем компьютере, если очень надо).
а в Linux'e можно прочитать болванку записанную в виндах с русским буквами?
Исправлено: Nik, 3:33 27-07-2002
ruslandh
26-07-2002, 23:42
Да, только нужно, что-бы кодировка CD была koi-8 или cp1251
но если koi-8 то под виндовсом будут траблы. так?
ruslandh
26-07-2002, 23:56
При чтении - нет, а вот при записи возможно ( писал всегда с 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
Может здесь у тебя ошибка? :)
А вообще идея интересная - надо попробовать...
Добавлено:
Да и путь монтирования не бачу...
ruslandh
28-07-2002, 23:47
Guest
Надо:
mount -t vfat /dev/hdc6 rescue -o umask=0,codepage=866,iocharset=cp1251
1 А зачем два раза монтировать ?
2 Что-бы правильно видеть имена файлов, надо что-бы пользователь имел локаль cp1251.
Исправлено: ruslandh, 1:48 29-07-2002
Здравствуйте, господа. Поделюсь соображениями.
В локальной файловой системе имена файлов обычно хранятся в 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
Все нормально пишется и читается. И в линуксе и в маздае.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.