Ivanovo Linux Users Group -  
Форум Помощь Поиск Вход
Предыдущая Следующая Вверх Тема Администрирование / Общее администрирование / USB (9234 хитов)
- Написал(а) MaxyS Дата 22.02.07 10:27
Как устроить чтоб при подключении усб устр автоматом запускался какой-либо скрипть?
Parent Написал(а) LOE (Site/forum admin) Дата 22.02.07 11:20
Ключевые слова: hotplug и udev
Первая попавшаяся страничка с краткой инфой: http://citkit.ru/articles/245/
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - Написал(а) hawk Дата 23.12.09 22:21 Отредактировано 23.12.09 22:34
Немного не в тему, но выложу рулесы автомонтирования USB девайсов независимо от DE, можно без DE вовсе :-), единственно не решенный вопрос, папка создается с правами 755 root:root и пофиг что там указываю и прописываю.
sd[c-z], т.к. в системе два sata диска, соответственно  sda sdb выпадают.
Монтирование с параметром synс, так что можно дергать флешку.
010-usb.rules
KERNEL=="sd[a-z]", NAME="%k", SYMLINK+="usbhd-%k", GROUP="storage", OPTIONS="last_rule"
ACTION=="add", KERNEL=="sd[c-z][0-9]", SYMLINK+="usbhd-%k", GROUP="users", NAME="%k"
ACTION=="add", KERNEL=="sd[c-z][0-9]", RUN+="/bin/mkdir -p /media/usbhd-%k"
ACTION=="add", KERNEL=="sd[c-z][0-9]", RUN+="/bin/ln -s /media/usbhd-%k /mnt/usbhd-%k"
ACTION=="add", KERNEL=="sd[c-z][0-9]", PROGRAM=="/lib/udev/vol_id -t %N", RESULT=="vfat", RUN+="/bin/mount -t vfat -o iocharset=utf8,codepage=866,rw,noauto,flush,quiet,nodev,nosuid,noexec,noatime,dmask=000,fmask=111 /dev/%k /media/usbhd-%k", OPTIONS="last_rule"
ACTION=="add", KERNEL=="sd[c-z][0-9]", RUN+="/bin/mount -t auto -o iocharset=utf8,codepage=866,rw,noauto,sync,dirsync,noexec,nodev,noatime /dev/%k /media/usbhd-%k", OPTIONS="last_rule"
ACTION=="remove", KERNEL=="sd[c-z][0-9]", RUN+="/bin/rm -f /mnt/usbhd-%k"
ACTION=="remove", KERNEL=="sd[c-z][0-9]", RUN+="/bin/umount -l /media/usbhd-%k"
ACTION=="remove", KERNEL=="sd[c-z][0-9]", RUN+="/bin/rmdir /media/usbhd-%k", OPTIONS="last_rule"

Команда перечитывающая правила: # udevadm control --reload-rules
Ну и мониторинг: # udevadm monitor --env
Да, еще один момент, кто юзает ДЕ, флеха может перестать видется, т.к. тама через HAL идет в файл манагерах, ну или попросит перемонтировать. У меня PcManFM просто её не видит при таком подходе )).
Вроде зачем тогда возникает вопрос, да попросту надоело HAL крутить после каждого апгрейда, они то через PolicyKit настраиваются, то через dbus hal.conf, достало короче. А вообще как то прозрачнее должно все быть, дбас фиг разобрать, ну и остальное, как то не по принципу "Делай проще дурачок!" ))))) PolicyKit вообще хрень какая то ))), может знающие отпостят так чтобы было понятно раз и навсегда - зачем весь этот зверинец разводить. Костылики эти, переходики. Вырезали из ксорга все в HAL, поди разберись. А ведь существует правило по которому чем меньше зависимостей тем лучше в конечном итоге (по крайней мере в администрировании если сервис завязан на кучу других мелочевок, которые то упали то обновились и не пашут, вся схема Не работает!).
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent - Написал(а) LOE (Site/forum admin) Дата 24.12.09 01:11
Есть еще automounter'ы разных видов.
Настраиваются правила, по которым по обращению в определенный каталог, происходит его монтирование на нужное устройство. Через какое-то время - происходит автоматом размонтирование.
Долго такое юзал, потом надоело.

Стоит BlueWhite64 (Slackware) и KDE - нет проблем с монтированием устройств. Что настраивал - собственные правила для монтирования vfat через hal для указания кодировки монтирования.

Т.е. я ушел от "лишней" сущности и предоставил всю работу KDE - он сам чухает девайс, предлагает что с ним сделать, монтирует с нужными правами и вообще делает всю "грязную работу".
Сменят udev и hak на что-то другое - KDE так-же подтянется.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - Написал(а) hawk Дата 24.12.09 06:21 Отредактировано 24.12.09 06:28
У меня тоже автомонтирванием занимается PCmanFM, он через HAL работает. Но опять же система не релизная, обновляется каждый день, ну и косяки возникают. По поводу автомаунтеров, можно правила UDEV сократить до двух строк, используя вместо mount - pmount, есть и другие варианты. Просто видимо ДЕ и диктуют такие сложности, взаимодействие демонов, процессов в пользовательской среде и прочее, поэтому и dbus HAL PolicyKit и прочие костыли, но опять же повторюсь как то не прозрачно это. Еще и современная тенденция написания конфигов в XML опять же в угоду GUI утилиткам :-(.

Кстати по первому посту, как приучить его к группе и правам?
KERNEL=="sd[a-z]", NAME="%k", SYMLINK+="usbhd-%k", GROUP="storage", MODE ="0777", OPTIONS="last_rule"

не срабатывает, как то параллельно и на GROUP и на MODE
Пробовал в эту строку добавить
CTION=="add", KERNEL=="sd[c-z][0-9]", RUN+="/bin/mkdir -m 777 -p /media/usbhd-%k"

тоже не проканало
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent - Написал(а) hawk Дата 24.12.09 08:28
Ну вот, хоть что-то "Проект X.org уходит с HAL"
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent Написал(а) LOE (Site/forum admin) Дата 24.12.09 11:23
Именно по этому предпочитаю не лезть вглубь hal/udev. Завтра все сменится и опять все менять. (
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - Написал(а) LOE (Site/forum admin) Дата 24.12.09 11:18
Я предпочитаю не заморачиваться какими-то своими глубокими "настройками".
Именно по причине того, что сегодня udev/hal есть, а завтра их нет. Использую КДЕ и пусть у него голова болит, как и чем монтировать.

Плюс - сижу не на наипоследнейшей версии либ/прог и т.п. Есть релиз дистра, в котором все работает. Ну и правило - "работает - не трожь".
Только по прошествии нескольких месяцев после релиза начинаю сидеть на current ветке, поскольку основная работа по переделке дистра уже произошла.

Если обновляться каждый день на самое-самое, то не система будет работать на меня, а я на нее, разгребая баги и "тонко" настраивая.

По правилам пока ничего не скажу, но почему-бы не написать скрипт, в котором прописать все необходимые команды? (и создание каталога, и смена прав, и само монтирование)
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - Написал(а) hawk Дата 24.12.09 11:29 Отредактировано 24.12.09 11:41
Если обновляться каждый день на самое-самое, то не система будет работать на меня, а я на нее, разгребая баги и "тонко" настраивая.

Обновляюсь на релизное только, не на самое-самое. Просто HAL сейчас вроде как умирает, а софтописатели не могут определиться что им использовать, да и в самом HAL не все в порядке.

Так как привлекает прозрачность системы, т.е. я хозяин системы. Я её строю, дёргаю за рычажки, она работает, а не систему строят за меня, некий усреднённый ширпотребный вариант из коробки - это скучно :-(. Тут трудно понять кто на кого работает )))). С точки зрения постоянного конструктора и пал выбор на Arch :-).

Офф.
Одно время долго сидел на *buntu все работает и собственно где-то внутрях начал понимать, что теряю навыки. Жму себе ярлычки, смотрю фильмы, а как это  все работает спроси - не отвечу. При современном подходе, пользователь Linux практически ни чем не отличается от пользователя Windows или совсем не отличается. Есть живой пример ,знакомый поставил себе  SUSE Linux пользовался довольно продолжительное время, потом задал вопрос по настройкам печати и еще, не помню уже. Отвечаю ему, открой консоль, молчание ........ и в общем оказалось чел не знает как её открыть, только Яст знает, принтер в ясте настроил не печатает - всё труба.

По правилам пока ничего не скажу, но почему-бы не написать скрипт, в котором прописать все необходимые команды? (и создание каталога, и смена прав, и само монтирование)

Это мысль - спасибо!
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent Написал(а) LOE (Site/forum admin) Дата 24.12.09 13:38
А вот для того, чтобы ничего не забыть, я и задумывал данный ресурс ;-)
Что-то нетривиальное сделал/настроил - создал темку с описанием.
Когда потребность возникнет, всегда можно освежить память.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Предыдущая Следующая Вверх Тема Администрирование / Общее администрирование / USB (9234 хитов)

Powered by mwForum 2.12.0 © 1999-2007 Markus Wichitill

Page created in 0.089s with 10 database queries.