bobart |
|
Темы:
38
Сообщения:
2537
Участник с: 28 ноября 2009
|
Привет всем. Имеется следующее правило для монтирования/размонтирования usb-storage юзером, выловленное некогда “где-то”, ссылку не помню. Дословно: Сначала использовал udef правило данное по этому мануалу http://wiki.archlinux.org/index.php/Ude … .26_Tricks , частенько сбоило зараза, да и на рабочем столе автоматом не появлялся значок устройства с возможностью безопасно удалить устройство.Может, пора уж в http://wiki.archlinux.org/index.php/Ude … SB_devices его направить? Что скажете? |
villi |
|
Темы:
0
Сообщения:
144
Участник с: 07 декабря 2009
|
Скажите, зачем использовать PROGRAM=="/lib/udev/vol_id -t %N", RESULT=="ntfs" выдаёт тип Ф.С. в переменной ENV{ID_FS_TYPE} Или в будущих версиях разработчики udev'a намереваются эту ENV{ID_FS_TYPE} исключить? |
bobart |
|
Темы:
38
Сообщения:
2537
Участник с: 28 ноября 2009
|
Предложите свой вариант. Мне, правда, без разницы, как именно это работает или как будет работать - важен результат. Если бы я в этом разбирался, то вопроса и не было-бы) |
villi |
|
Темы:
0
Сообщения:
144
Участник с: 07 декабря 2009
|
Я пока пользуюсь таким:cat /etc/udev/rules.d/91-flash-mount.rules ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[c-z][1-9]", ENV{ID_TYPE}=="disk", ENV{ID_BUS}=="usb", RUN+="/bin/mkdir -p /mnt/flash/%E{ID_SERIAL_SHORT}" ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[c-z][1-9]", ENV{ID_BUS}=="usb", ENV{ID_FS_TYPE}=="xfs", RUN+="/bin/mount -t %E{ID_FS_TYPE} -o rw,nodiratime,users %E{DEVNAME} /mnt/flash/%E{ID_SERIAL_SHORT}" ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[c-z][1-9]", ENV{ID_BUS}=="usb", ENV{ID_FS_TYPE}=="ntfs", RUN+="/bin/mount -t ntfs-3g -o rw,nodiratime,users,umask=000,utf8 %E{DEVNAME} /mnt/flash/%E{ID_SERIAL_SHORT}" ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[c-z][1-9]", ENV{ID_BUS}=="usb", ENV{ID_FS_TYPE}=="vfat", RUN+="/bin/mount -t %E{ID_FS_TYPE} -o rw,users,nodiratime,uni_xlate,utf8,shortname=winnt %E{DEVNAME} /mnt/flash/%E{ID_SERIAL_SHORT}" ACTION=="remove", SUBSYSTEM=="block", KERNEL=="sd[c-z][1-9]", ENV{ID_BUS}=="usb", RUN+="/bin/umount %E{DEVNAME}" ACTION=="remove", SUBSYSTEM=="block", KERNEL=="sd[c-z][1-9]", ENV{ID_BUS}=="usb", RUN+="/bin/rmdir /mnt/flash/%E{ID_SERIAL_SHORT}" |
bobart |
|
Темы:
38
Сообщения:
2537
Участник с: 28 ноября 2009
|
Испытаю, спасибо), до такой степени красноглазия я ещё не дорос, видимо. ps. Нашёл я, где те правила взял: http://archlinux.org.ru/node/150 pss// Испытал.., теперь на раб.стол не монтирует ни в каком виде. Лучше-бы не трогал. Что сделал: забекапил > /etc/udev/rules.d/10-usb-storage.rules/backup, добавил твоё > /etc/udev/rules.d/91-flash-mount.rules - смонтировалось автоматом, но отмонтировать можно было только от рута в консоли.., вобщем, вернул всё взад, как было. Теперь монтирует в /mnt/sdf1, всё круто, на раб.столе не отображается, соответственно, в наутилусе тоже. Делаю # umount /dev/sdf1 /media/KINGSTON - в проводнике появляется значок устройства, можно монтировать/отсоединять/безопасно удалять.. Причём, старое правило, даже после удаления /etc/udev/rules.d/91-flash-mount.rules после udevadm control –reload-rules теперь не работает. Такие дела) |
villi |
|
Темы:
0
Сообщения:
144
Участник с: 07 декабря 2009
|
Этма, после добавления/удаления правил и udevadm control --reload-rules напрячь последние остатки сил и “рестартануть” hald :) P.S: Забыл добавить: я не пользуюсь DE; в моём повседневном эксплойте - awesome. У него нету значков на “рабочем столе” ;) |
bobart |
|
Темы:
38
Сообщения:
2537
Участник с: 28 ноября 2009
|
Вобщем, квест пройден. Как - слов приличных нету для этого. Похоже, без hal мне пока не обойтись. |
villi |
|
Темы:
0
Сообщения:
144
Участник с: 07 декабря 2009
|
Не, так быстро квесты проходить низзя, послевкусия не остаётся :D Попробую отгадать “неприличные выражения”: Вы снесли всё самописные “рули” удава, относящиеся к съёмным носителям, перезагрузились. Пульс выровнялся, давление в норме… Так? |
bobart |
|
Темы:
38
Сообщения:
2537
Участник с: 28 ноября 2009
|
Грустная история, но, что самое противное в ней - я так и не понял, что это было. Вот rc.conf, интересующая меня секция: DAEMONS=(syslog-ng iptables network @hal @netfs @crond @alsa @xl2tpd) /etc/udev/rules.d/10-usb-storage.rules: его содержимое уже предъявлено мною, выше.., и /etc/udev/rules.d/11-discs-auto-mount.rules: KERNEL!="sr[0-9]*", GOTO="disc_by_label_auto_mount_end" # Get label ACTION=="add", PROGRAM=="/sbin/blkid -o value -s LABEL %E{device}", ENV{dir_name}="%c" ACTION=="add", RUN+="/bin/mkdir -p '/media/%E{dir_name}'", RUN+="/bin/mount -o %E{mount_options} /dev/%k '/media/%E{dir_name}'" ACTION=="add", RUN+="/bin/ln -s /media/%E{dir_name} /media/disc" ACTION=="remove", RUN+="/bin/umount -l '/media/%E{dir_name}'", RUN+="/bin/rmdir '/media/%E{dir_name}'" LABEL="disc_by_label_auto_mount_end" KERNEL!="sr[0-9]*", GOTO="disc_by_label_auto_mount_end" # Import FS infos IMPORT{program}="/sbin/blkid -o udev -p %N" # Get a label if present, otherwise specify one ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}" ENV{ID_FS_LABEL}=="", ENV{dir_name}="%k" # Mount the device ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount /dev/%k /media/%E{dir_name}" ACTION=="add", RUN+="/bin/ln -s /media/%E{dir_name} /media/disc" # Clean up after removal ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}" # Exit LABEL="disc_by_label_auto_mount_end" На момент начала болезни там находилось ещё одно правило: 11-media-by-label-auto-mount.rules, вот оно, тоже никакой отсебятины в нём: KERNEL!="sd[a-z][0-9]", GOTO="media_by_label_auto_mount_end" # Import FS infos IMPORT{program}="/sbin/blkid -o udev -p %N" # Get a label if present, otherwise specify one ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}" ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k" # Global mount options ACTION=="add", ENV{mount_options}="relatime" # Filesystem-specific mount options ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},utf8,gid=100,umask=002" # Mount the device ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}" # Clean up after removal ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}" # Exit LABEL="media_by_label_auto_mount_end" Я уже писал, что при добавлении вашего правила, моё накрылось медным тазом и добивался я отображения флэшки на раб. столе извращённым способом: размонтировал её под рутом, после чего наутилус и кайро сигналили о готовности присоединить, безопасно удалить устройство и т.п. После удаления вашего правила, (по ходу дела выполнялось # udevadm control –reload-rules, само собой), как вы и советовали, я из последних сил сжал волю в кулак и сделал /usr/sbin/hald (start|stop|restart), но ничего не изменилось, я подумал о плохом: /etc/rc.d/hal restart, а он мне - во как! И так и сяк его, start|stop|restart - всё одно: фэйл. Короче, сношу ВСЕ правила, проверяю rc.conf - hal на месте, в бэкграунде (это я его туда), ладно, ребучу комп, смотрю.. смотрю.. и hal снова , и вот не знаю как, но в итоге (убрав его из @) hal стартанул, добавил снова 10-usb-storage.rules и /etc/udev/rules.d/11-discs-auto-mount.rules - вроде всё встало на место. Но - при (… !hal …) таком раскладе флэшка не автомонтируется, вообще, ни в /mnt, ни не в /mnt. То есть, только # mount /dev/sdf и т.д. Смотрел логи: ничего вразумительного для себя там не обнаружил. Итог: hal, по-прежнему, в деле, в бэкграунде, из /etc/udev/rules.d выброшено 11-media-by-label-auto-mount.rules, как заподозренное в причастности к конфликту, хотя, ещё вчера оно никому не мешало. Мне, по крайней мере) ps. Кстати, раздел /media/multimedia (да-да, в fstab он упомянут), при ( !hal ) маунтится и отображается на раб.столе как “multimedia” - оч. изящно и красиво, а флешки не автомаунтятся (при работе HAL-а этот раздел выглядит как “278 GB файловая система”) . Вот и весь вопрос: что-бы такое намутить в удаве, чтобы и флэшки монтировались по-человечески, (я понимаю, что понятие “по-человечески” тут у каждого своё)) и hal выкинуть из демонов?) ps/ Закончу историю. После короткого, но интенсивного мозгового штурма, в дальнем уголке памяти всплыло заветное слово: “DBUS”! В предвкушении чуда я открыл rc.conf и заменил ненавистное, отвратительное hal на ласкающее слух и приятное глазу dbus (перед этим была проверка на вшивость, конечно) и - вуаля, флэшка монтируется, всё тип-топ. Но этот хал ещё и хрен выкинешь из системы, по крайней мере из гнома: некоторым он ещё нужен. Но об этом уже писали не раз. DAEMONS=(syslog-ng iptables network @dbus @netfs @crond @alsa @xl2tpd) |
Nebulosa |
|
Темы:
10
Сообщения:
830
Участник с: 05 марта 2009
|
bobartВсё правильно сделал. Пусть пока неработающий hal болтается в системе, надо подождать пока его не выкинут вместе с gnome-vfs. |