如何在RHEL 7上检测到软盘插入并执行脚本?

滴水

我有一个在VMware ESXi 6基础架构上运行的RedHat 7 VM。我需要检测软盘插入事件,然后根据该插入事件启动脚本。

我最初的方法是尝试并使用Udev规则在软盘插入时触发脚本执行,但是该事件似乎从未开始过。

/etc/udev/rules.d/99-my.rules

SUBSYSTEM=="block", KERNEL=="fd0", ACTION=="change", RUN+="sh -c /my-custom-script"

如果那行不通,我尝试解决此问题,而不是在插入操作上执行,而是写了一个cron作业,尝试每两分钟挂载一次软盘,并测试是否在挂载点中包含某些文件。但是,当没有插入软盘时,这会导致一些令人讨厌的输出:

end_request: I/O error, dev fd0, sector0

因此,我发现自己试图弄清为什么Udev规则不起作用。我使用Udev规则的方法是否错误,还是有其他方法可以实现?

在周围

据我了解udev,它没有提供任何监视软盘驱动器的方法。软盘驱动器不提供任何检测插入的方法,即,检测磁盘的插入需要对驱动器进行连续轮询。

diskd实用程序可以满足您的需求。它连续轮询驱动器,并在插入时退出或执行命令。它是fdutils的一部分,可以从Debian下的存储库中安装它。在RHEL / Fedora下,您必须编译源代码。

用法:

diskd [-d drive] [-i interval] [-e command]

以下内容应监视驱动器中的磁盘,并在插入时将其安装,然后退出。我没有尝试过,因为我只有一个IDE软盘驱动器(LS-120 SuperDisk)。

diskd -d /dev/fd0 -e "udisks --mount /dev/fd0 --mount-fstype=vfat"

应该注意的是,您需要成为该floppy的成员才能以非root用户身份运行该组,因为它需要直接访问软盘设备(例如/dev/fd0)。它使用FDPOLLDRVSTATioctl(请参阅参考资料man 4 fd)轮询设备。

另外,手册页/文档具有以下警告:

该程序的工作方式是在很短的间隔内打开电动机,然后寻找-1。从长远来看,这可能会损坏硬件。也使用这些技术的Amigas,以其磁盘驱动器在使用数月后不再正常旋转而出现问题而闻名。

我不确定这是否真的是一个严重的问题,但是如果您要在生产环境中使用此驱动器,那么准备好备用驱动器可能会很有用。它们不再那么贵了,对吗?

(该fdmountd实用程序听起来很古老,对于它是否适用于“较新”内核上的普通FAT12格式的磁盘,我持怀疑态度。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在RHEL 7上安装gcore

来自分类Dev

如何在RHEL 7中安装Perl?

来自分类Dev

如何在RHEL7上安装webkitgtk1

来自分类Dev

如何在Centos / RHEL 7上禁用无线N?

来自分类Dev

如何在RHEL7上增加交换空间

来自分类Dev

如何在rhel 7中配置jboss作为服务运行

来自分类Dev

rhel +如何在我的机器上禁用CPU

来自分类Dev

如何在RHEL 7.2上使用php-fpm?

来自分类Dev

rhel +如何在我的机器上禁用CPU

来自分类Dev

如何在RHEL6.5上安装屏幕

来自分类Dev

如何在RHEL上的zip中检查权限?

来自分类Dev

如何在RHEL上修补bash漏洞(shellshock)错误?

来自分类Dev

如何在RHEL6.5上配置YUM?

来自分类Dev

如何在RHEL 6.6上链接gcc-4.8.2?

来自分类Dev

如何在RHEL8上安装Tor

来自分类Dev

如何在RHEL机器上查找网卡详细信息

来自分类Dev

如何在 Linux RHEL 服务器上安装 Vagrant

来自分类Dev

如何在Windows 7主机上运行的Linux VM(Fedora / RHEL)上查看.png文件?

来自分类Dev

RHEL 7-如何在无互联网服务器上配置分组?

来自分类Dev

如何编码以修复检测到的致命错误:在使用auto-py-to-exe将python代码编译为exe文件后,无法执行脚本BoxDetection?

来自分类Dev

如何在RHEL上永久启用PHP 5.4?(系统上还安装了PHP 5.3.3)

来自分类Dev

如何在RHEL上永久启用PHP 5.4?(系统上还安装了PHP 5.3.3)

来自分类Dev

如何在t1.micro实例上更新AWS RHEL 6.4 AMI上的curl

来自分类Dev

如何在RHEL7中分配PID,并在重启后重新使用它们?

来自分类Dev

如何在64位RHEL上编译32位应用程序?

来自分类Dev

如何在64位RHEL上使用32位已编译共享对象(.so)文件?

来自分类Dev

如何在带有内核2.6的RHEL 6.3上运行Docker?

来自分类Dev

如何在rhel机器上验证当前网络驱动程序名称

来自分类Dev

如何在 RHEL6 32 位机器上安装 python 2.7?

Related 相关文章

  1. 1

    如何在RHEL 7上安装gcore

  2. 2

    如何在RHEL 7中安装Perl?

  3. 3

    如何在RHEL7上安装webkitgtk1

  4. 4

    如何在Centos / RHEL 7上禁用无线N?

  5. 5

    如何在RHEL7上增加交换空间

  6. 6

    如何在rhel 7中配置jboss作为服务运行

  7. 7

    rhel +如何在我的机器上禁用CPU

  8. 8

    如何在RHEL 7.2上使用php-fpm?

  9. 9

    rhel +如何在我的机器上禁用CPU

  10. 10

    如何在RHEL6.5上安装屏幕

  11. 11

    如何在RHEL上的zip中检查权限?

  12. 12

    如何在RHEL上修补bash漏洞(shellshock)错误?

  13. 13

    如何在RHEL6.5上配置YUM?

  14. 14

    如何在RHEL 6.6上链接gcc-4.8.2?

  15. 15

    如何在RHEL8上安装Tor

  16. 16

    如何在RHEL机器上查找网卡详细信息

  17. 17

    如何在 Linux RHEL 服务器上安装 Vagrant

  18. 18

    如何在Windows 7主机上运行的Linux VM(Fedora / RHEL)上查看.png文件?

  19. 19

    RHEL 7-如何在无互联网服务器上配置分组?

  20. 20

    如何编码以修复检测到的致命错误:在使用auto-py-to-exe将python代码编译为exe文件后,无法执行脚本BoxDetection?

  21. 21

    如何在RHEL上永久启用PHP 5.4?(系统上还安装了PHP 5.3.3)

  22. 22

    如何在RHEL上永久启用PHP 5.4?(系统上还安装了PHP 5.3.3)

  23. 23

    如何在t1.micro实例上更新AWS RHEL 6.4 AMI上的curl

  24. 24

    如何在RHEL7中分配PID,并在重启后重新使用它们?

  25. 25

    如何在64位RHEL上编译32位应用程序?

  26. 26

    如何在64位RHEL上使用32位已编译共享对象(.so)文件?

  27. 27

    如何在带有内核2.6的RHEL 6.3上运行Docker?

  28. 28

    如何在rhel机器上验证当前网络驱动程序名称

  29. 29

    如何在 RHEL6 32 位机器上安装 python 2.7?

热门标签

归档