Перехват вставки и извлечения флэшки
От: a9000  
Дата: 03.04.17 10:31
Оценка:
Есть некий очень минимальный дистрибутив линукса, чисто консольный.
Нужно чтобы во время работы (не только при загрузке системы, но и в любой момент работы), если пользователь вставил флэшку — автоматически примонтировать ее и запустить некоторую программу, аналогично если вытащил — размонтировать и запустить другую программу (т.е. запускать скрипт по событию вставки или извлечения флэшки — примонтировать можно уже командой в этом скрипте).
Как это сделать?
Re: Перехват вставки и извлечения флэшки
От: andrey.desman  
Дата: 03.04.17 10:48
Оценка:
Здравствуйте, a9000, Вы писали:

A>Есть некий очень минимальный дистрибутив линукса, чисто консольный.

A>Нужно чтобы во время работы (не только при загрузке системы, но и в любой момент работы), если пользователь вставил флэшку — автоматически примонтировать ее и запустить некоторую программу, аналогично если вытащил — размонтировать и запустить другую программу (т.е. запускать скрипт по событию вставки или извлечения флэшки — примонтировать можно уже командой в этом скрипте).
A>Как это сделать?

Курить скрипты для udev или mdev, смотря что там есть. Если вообще ничего нету, то курить netlink socket и писать монитор самому. Можно еще /sbin/hotplug-ом прикинуться (гугл /proc/sys/kernel/hotplug).

Смущает только вот это:

если вытащил — размонтировать и запустить другую программу


В принципе, если монтировать в режиме sync или ro, то может и сойдет.
Re[2]: Перехват вставки и извлечения флэшки
От: a9000  
Дата: 03.04.17 10:54
Оценка:
Здравствуйте, andrey.desman, Вы писали:

AD>Курить скрипты для udev или mdev, смотря что там есть. Если вообще ничего нету, то курить netlink socket и писать монитор самому. Можно еще /sbin/hotplug-ом прикинуться (гугл /proc/sys/kernel/hotplug).


udev есть, но я не могу понять работает ли он. Добавляю в /etc/udev/rules.d файл с правилом (в инете есть разные примеры), пишу в нем например по событию вставки вывести на консоль RUN+="echo hello" и нифига не происходит. Правило применяю c udevadm, также пробовал перезагружать компьютер — ничего все равно не происходит.
Re[3]: Перехват вставки и извлечения флэшки
От: andrey.desman  
Дата: 03.04.17 11:05
Оценка:
Здравствуйте, a9000, Вы писали:

A>udev есть, но я не могу понять работает ли он. Добавляю в /etc/udev/rules.d файл с правилом (в инете есть разные примеры), пишу в нем например по событию вставки вывести на консоль RUN+="echo hello" и нифига не происходит. Правило применяю c udevadm, также пробовал перезагружать компьютер — ничего все равно не происходит.


Пиши куда-нибудь в файл. Демон без консоли работает, максимум твой принт в лог уходит...
Ну и, разумеется, код и действия в студию. Просто "не работает" ни о чем не говорит.
Re: Перехват вставки и извлечения флэшки
От: Sheridan Россия  
Дата: 13.04.17 05:28
Оценка:
Здравствуйте, a9000, Вы писали:

A>Как это сделать?


automount/autofs
Только вот причинно-следственная связь нарушена. Сначала должно размонтироваццо, потом извлекаться.
Matrix has you...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.