уж раз hal пишет строчки для монтирования, было бы уместно для r/w носителей писать строчки для r/w монтирования. из письма: > - hal/subfs отлично работающие(этих версий еще нет в Sisyphus) cdrw/cdrw смонтировался (/media/cdrom) floppy смонтировался, под пользователем читается, но не пишется -- не хватает либо uid/gid, либо umask=0 (/media/floppy) 6-in-1 card reader с SD (sdb1) смонтировался, что примечательно -- не требуется перетыкать ридер, можно просто менять карточки; с записью из-под пользователя -- такая же проблема, что и с дискеткой PS: showexec must die :( JPG выставляет исполнябельными...
Пример опций для разных файловых систем, пожалуйста.
*** Bug 7560 has been marked as a duplicate of this bug. ***
Дистрибутив: 3.0rc2 Как и с ALM2.4 не хватает опций: - для Floppy: <quiet,umask=0,iocharset=utf8,codepage=866>; - для FlashDisk: <quiet,umask=0,iocharset=utf8,codepage=866>; - для CD/DVD: <iocharset=utf8,ro>;
umask=0 сработает для vfat, udf, iso9660. Небезопасно, но для сменных носителей в контексте Compact 3.0 приемлемо. Для vfat надо добавлять quiet -- иначе при попытке chown()/chmod() будет лишняя ругань, особенно неприятная при диалоговых окнах. Пример для floppy упомянут в #7462. Ну и для vfat/iso9660 (не знаю про udf) надо iocharset сообразно системному прописывать (на крайний случай хоть utf8 прибивать), для vfat -- в идеале OEM-кодировку сообразно языку (на крайний случай 866 гвоздями -- не cp866!). PS: Ром, для ISO9660/Joliet (наиболее распространённые) codepage не нужен. Разве для RockRidge-only, но это надо ставить эксперимент, т.к. живьём не видел.
> PS: Ром, для ISO9660/Joliet (наиболее распространённые) codepage не нужен. > Разве для RockRidge-only, но это надо ставить эксперимент, т.к. живьём не видел. codepage ненужен, нужен только iocharset. Собственно, codepage для CD я не указывал.
(In reply to comment #0) > PS: showexec must die :( JPG выставляет исполнябельными... Это где такое? У меня не выставляет. А вот без этой опции действительно некрасиво - на vfat исполняемое получается всё.
Для vfat ещё хорошо бы добавить shortname=mixed, чтобы не портился регистр для коротких имён файлов.
(In reply to comment #6) > Это где такое? В свеженалитом с нуля эксклюзивно 2.9.14. Причём раньше (давно) использовал noexec, но и showexec, когда появился -- вроде даже работал (exec/com/bat +, остальные -).
(In reply to comment #8) > (In reply to comment #6) > > Это где такое? > В свеженалитом с нуля эксклюзивно 2.9.14. Странно. Это точно vfat? Что в /proc/mounts на самом деле? > Причём раньше (давно) использовал > noexec, но и showexec, когда появился -- вроде даже работал (exec/com/bat +, > остальные -). noexec сейчас как раз не работает как надо - исполнение блокируется, но файлы всё равно показываются как исполняемые.
принято все, кроме iocharset. В следущей сборке hal подправлю. С iocharset пока предложение такое: сделать отдельный конфиг для hal, в котором прописывать кодировку сменных устройств. конфиг заложить естественно в /etc/ Ну или добиться таки исправленного libnatspec и собратся submount с ним.
(In reply to comment #6) > А вот без этой опции действительно > некрасиво - на vfat исполняемое получается всё. dmask=0,fmask=0111 ? (2.6 only) Тем более что на ntfs не поддерживается showexec.
(In reply to comment #0) > PS: showexec must die :( JPG выставляет исполнябельными... Не верю. static int is_exec(unsigned char *extension) { unsigned char *exe_extensions = "EXECOMBAT", *walk; for (walk = exe_extensions; *walk; walk += 3) if (!strncmp(extension, walk, 3)) return 1; return 0; }
(In reply to comment #0) > PS: showexec must die :( JPG выставляет исполнябельными... А это случаем не тот JPG, в котором после кучи пробелов .exe? ;)
> > > Это где такое? > > В свеженалитом с нуля эксклюзивно 2.9.14. > Странно. Это точно vfat? Что в /proc/mounts на самом деле? Сейчас не посмотреть, на тот диск уже rc3 заливался (взорвался на ошибке при установке пакетов третьей стадией, btw -- так и бросил, пошёл домой). Это была usb flash, `mount` глаз не царапнул -- видимо, vfat. Сам удивился. (In reply to comment #10) > принято все, кроме iocharset. В следущей сборке hal подправлю. Вот и аюшки :-) > С iocharset пока предложение такое: сделать отдельный конфиг для hal, в котором > прописывать кодировку сменных устройств. > конфиг заложить естественно в /etc/ Разумно. > Ну или добиться таки исправленного libnatspec и собратся submount с ним. Насколько понимаю, Виталик на отдыхе и с неделю его точно ждать не следует. Попрошу Женю глянуть. > > PS: showexec must die :( JPG выставляет исполнябельными... > Не верю. Но факт. Сам глаза протёр, проверил -- написано и даже правильно.
(In reply to comment #13) > А это случаем не тот JPG, в котором после кучи пробелов .exe? ;) Не, test имени dd тоже был "зелёным". ;(
+ <match key="volume.fstype" string="vfat"> + <merge key="volume.policy.mount_option.umask" type="string">0</merge> + <merge key="volume.policy.mount_option.dmask" type="string">0</merge> + <merge key="volume.policy.mount_option.fmask" type="string">0111</merge> + <merge key="volume.policy.mount_option.quiet" type="bool">true</merge> + <merge key="volume.policy.mount_option.shortname" type="string">mixed</merge> + </match> + + <match key="volume.fstype" string="ntfs"> + <merge key="volume.policy.mount_option.dmask" type="string">0</merge> + <merge key="volume.policy.mount_option.fmask" type="string">0111</merge> + <merge key="volume.policy.mount_option.quiet" type="bool">true</merge> + <merge key="volume.policy.mount_option.umask" type="string">0</merge> + </match> Вот так пойдет ?
fixed (hal-0.5.3-alt6) так же просьба подумать, как быть с ext2/ext3, reiserfs и другими файловыми системами на USB flash'ках. Там все пока что глуховато ;-(
IMHO проще пока забить и рекомендовать продвинутым пользователям самостоятельно настроить запись в fstab с тем же subfs. Можешь повесить на #7371, если надо будет к этому вернуться.
(In reply to comment #16) > + <merge key="volume.policy.mount_option.umask" type="string">0</ merge> > + <merge key="volume.policy.mount_option.dmask" type="string">0</ merge> > + <merge key="volume.policy.mount_option.fmask" > type="string">0111</merge> Не надо мешать umask и [fd]mask.
хм.. действительно, бня какая-то. сейчас исправлю
Дистрибутив: 3.0rc5 - на cdrom и floppy нормальных параметров всё ещё не поставили; - на usbflash поставили и даже пишется, т.е. к опциям притензий нет; Однако, вылезла другая проблема с usbflash, пишется она на скорости около 70кб/сек. Проверял на двух флешках. Есть предположение, что это в ядре 2.6.12 что-то сломано. Ибо недавно на ALM2.4 поставил ядро 2.6.12wks и там появилась эта проблема, т.е. пишет на скорости 70кб/сек, а читает на 512кб/сек.
можно подробнее о параметрах для cdrom и floppy ?
(In reply to comment #22) > можно подробнее о параметрах для cdrom и floppy ? Вот чего имеется в /etc/fstab: /dev/cdrom /media/cdrom subfs fs=cdfss,nosuid,nodev,noexec 0 0 /dev/fd0 /media/floppy subfs user,nosuid,nodev,noexec,noauto,fs=floppyfss,comment=managed 0 0 А хотелосьбы видеть параметры: - для Floppy: <quiet,umask=0,iocharset=utf8,codepage=866>; - для CD/DVD: <iocharset=utf8,ro>;
Дистрибутив 3.0rc6 Необходимых опций для cdrom и floppy всё ещё не видать.
а зачем собственно iocharset=utf8 для cdrom ? Если она реально не работает (cdrom не монтируется с такой опцией) ?
1. Если у пользователя будет локаль не utf8, будет ли передан нужный параметр? 2. Тогда это бага на ядро, если оно не понимает указания utf8. Или где-то есть верховная политика "неуказание кодировки есть признание её за UTF8?" Есть ли обоснование для этого? Ведь наверное в ядре при неуказании кодировки используется какой-то DEFAULT? Впрочем, припоминая историю с mkisofs, код перекодирования в которую стянут из ядра, некоторые проблемы с этим в ядре есть...
Само собой ничего не произойдет. в данный момент я просто прописываю дефолтные значения настроек в HAL. Если пользователь поменяет данные настройки, то у него все будет хорошо. По поводу пункта 2. Насколько я понимаю - в iso9660 и в udf файловая система изначально в Unicode. соответственно перекодировка не требуется. VFAT, кстати, тоже ругается на UTF, но при этом монтирует.
(In reply to comment #27) > По поводу пункта 2. Насколько я понимаю - в iso9660 и в udf файловая система > изначально в Unicode. соответственно перекодировка не требуется. Там всё несколько хуже. В udf и расширении Joliet для iso9660 действительно всё в Unicode, поэтому для них нужно указывать опцию iocharset, чтобы имена выдавались в нужной кодировке. В "чистом" iso9660 допускается только ASCII. А вот для расширения Rock Ridge перекодировка имён файлов не поддерживается вообще. > VFAT, кстати, тоже ругается на UTF, но при этом монтирует. Причём ругается правильно. Проблема с vfat в том, что в nls_utf8 нет таблиц для преобразования регистра символов (точнее, всё ещё хуже - в интерфейсе nls в ядре преобразование регистра поддерживается только для однобайтовых кодировок), в результате файловая система начинает работать с учётом регистра символов, что не соответствует нормальному поведению vfat. Поэтому у vfat есть отдельная опция utf8, а использовать iocharset=utf-8 не рекомендуется (хотя, похоже, и опция utf8 там реализована как-то странно).
On Sat, Sep 03, 2005 at 06:29:25PM +0400, Dimitrius wrote: > 2.) Бага с записью на floppy так и не исправлена. Прочитать > содержимое можно дискеты, а записать нет. :(
исправлено в hal-0.5.4-alt3
К 3.1 всё равно отдельно смотреть...
(In reply to comment #4) > umask=0 сработает для vfat, udf, iso9660. Небезопасно, но для сменных носителей > в контексте Compact 3.0 приемлемо. А нельзя ли создать соответствующие группы и монтировать с gid, чтобы запись позволялать только тем, кто в данных группах состоит, а не все подряд?
не факт что это можно. точнее - не для всех файловых систем.
(In reply to comment #32) > А нельзя ли создать соответствующие группы и монтировать с gid, чтобы запись > позволялать только тем, кто в данных группах состоит, а не все подряд? Группы floppy и cdrom уже есть, но их ещё заполнять надо. Плюс см. #c33