我希望在
Linux下插入驱动器(例如包括USB驱动器)时自动运行我自己的命令.显然,最简单的解决方案是定期轮询并检查/ proc / partitions或/ dev / disk的更改,但我希望有一些比这更优雅的东西.
编辑
我知道这是可能的,因为GNOME做了这件事;每次插入新驱动器时,GNOME都会运行自己的“自动播放”机制来执行某些操作. (“你想查看这张SD卡上的图片吗?”)
我可以为此提出两个用途:第一个是我管理的Amazon EC2集群,用于自动检测和初始化新连接的EBS存储卷.
另一种用法是在基于Linux的家庭文件服务器设备上;当我将SD卡插入设备时,它应该安装卡,将图片从卡上移到内部硬盘驱动器上,卸下卡,然后发出哔声让我知道它已经完成.
解决方法
Udev规则是您正在寻找的.从手册页本身:
… If udev receives a device event,it
matches its configured rules against
the available device attributes
provided in sysfs to identify the
device. Rules that match may provide
additional device information or
specify a device node name and
multiple symlink names and instruct
udev to run additional programs as
part of the device event handling. …
强调我的.
规则文件位于/etc/udev/rules.d/中,其文档位于udev(7)中.哦,他们几乎可以为所有事情工作.