小编P.T*_*.T.的帖子

Udev 触发器不会在将 CF 卡插入 USB 读卡器时触发(不再)

我有一个udev规则,当我将卡插入我的 USB 读卡器时,触发一个 shell 脚本从我的 CF 卡复制照片。这工作得很好一段时间。但最近升级后,它已停止工作。

问题(AFAICT)是将 CF 卡插入 USB 读卡器不再触发任何udev事件,所以我的脚本永远不会运行。(即使是 in 中的条目/dev/disk/by-label/也不会出现在 insert 上,并且dmesg没有显示任何关于 insert 的信息。)

udev如果我运行fdisk -l /dev/sdf(或sdh它似乎是 CF 卡将出现的任何设备),我可以导致事件触发。我已经udev使用udevadm monitor, 并通过运行验证了事件udevd --debug。在我手动触发系统后,脚本从这里开始工作正常。

我正在运行 Debian 6.0 (Squeeze),我非常有信心是几个月前 Lenny 的升级改变了行为,但我不确定这是否是一些细微的变化udev(也许我在听对于错误的事件?)或内核或 USB 堆栈中的某些更改?无论如何,有人对如何解决这个问题有建议吗?或者从 USB 存储模块中获取更多调试信息的建议?

这是我正在使用的 udev 规则:

KERNEL=="sd??", SUBSYSTEM=="block", RUN+="/usr/local/bin/hot-add"
Run Code Online (Sandbox Code Playgroud)

更新 #1:在 blockdev 和分区更改时触发

我添加了一个规则来仅在块设备上而不是在分区上触发(以防它可能出现),但是当我插入 CF 卡时它也不会触发:

KERNEL=="sd?", SUBSYSTEM=="block", RUN+="/usr/local/bin/hot-add-disk"
Run Code Online (Sandbox Code Playgroud)

奇怪的是,如果我运行fdisk -l /dev/sdf以触​​发对 CF 卡的识别,我会收到一个“已更改”事件 …

linux usb debian udev

6
推荐指数
1
解决办法
5815
查看次数

如何复制包含空格和撇号的管道文件列表?

我有一个使用find我想将(管道)提供给cp. 我的问题是文件中有空格和撇号,导致cp反复抱怨它“无法统计”。这个问题有优雅的解决方案吗?

find cp escape-characters

3
推荐指数
1
解决办法
1155
查看次数

标签 统计

cp ×1

debian ×1

escape-characters ×1

find ×1

linux ×1

udev ×1

usb ×1