Как определить вставку флоппи-диска в RHEL 7 и выполнить скрипт?

У меня есть VM RedHat 7, работающая на инфраструктуре VMware ESXi 6. Мне нужно обнаружить событие вставки гибкого диска, а затем запустить скрипт на основе этого события вставки.

Мой первоначальный подход состоял в том, чтобы попытаться использовать правила 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 

Поэтому я обнаружил, что пытаюсь понять, почему правило Удева не работает. Является ли мой подход с правилом Удева неправильным или есть ли другой способ достичь этого?

One Solution collect form web for “Как определить вставку флоппи-диска в RHEL 7 и выполнить скрипт?”

Из того, что я знаю udev, не предоставляет никаких средств для мониторинга дисководов гибких дисков. Дисководы не предоставляют никаких средств для обнаружения вставки, т.е. для обнаружения вставки диска требуется непрерывный опрос привода.

Утилита diskd делает то, что вам нужно. Он непрерывно обследует диск и выдает или выполняет команду при вставке. Он является частью fdutils , который можно установить из репозиториев в Debian. В RHEL / Fedora вам придется скомпилировать источники.

Применение:

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

Следующее должно отслеживать диск для диска, а затем вставить его, а затем выйти. Я не пробовал это, потому что у меня только IDE Floppy Drive (LS-120 SuperDisk).

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

Следует отметить, что вам необходимо быть членом группы floppy чтобы иметь возможность запускать это как пользователь без полномочий root, поскольку ему необходим прямой доступ к гибкому устройству (например, /dev/fd0 ). Он использует FDPOLLDRVSTAT ioctl (см. man 4 fd ) для опроса устройства.

Также в man-странице / документации есть следующее предупреждение:

Эта программа работает путем переключения двигателя в течение очень короткого интервала, а затем пытается отслеживать -1. Это может повредить аппаратные средства в конечном итоге. Известно, что Amigas, которые также используют эти методы, имеют проблемы с дисковыми дисками, которые уже не работают после нескольких месяцев использования.

Я не уверен, действительно ли это серьезная проблема, но иметь запасной диск под рукой, вероятно, полезен, если вы собираетесь использовать это в настройках производства. Они уже не так дороги, не так ли?

(Утилита fdmountd звучит довольно древней, и я очень скептически отношусь к тому, работает ли она с нормальными дисками в формате FAT12 на «более новом» ядре.)

  • Нет команды vmhgfs-fuse в CentOS 7?
  • Как запустить Linux в виртуальной машине на Retina MacBook Pro в режиме Hi-DPI?
  • Проблема с Mint 18 и инструментами VMware
  • Легкий дистрибутив для гостевой ОС VM-Ware под Windows
  • Не удается получить доступ к серверу ubuntu с других машин, кроме машины, на которой размещена виртуальная машина, которая является моим сервером ubuntu
  • Загрузка из копии структуры каталогов Linux
  • Установка MINIX3 на vmware
  • Как подключить виртуальный диск в Linux (на VMWare)
  • VMWare 12 продолжает запрашивать установку vmware-инструментов на гостевом компьютере Windows
  • Что означает эта ошибка поиска: «find: stat () error / hgfs: Operation not apply»?
  • munin не показывает все порты Ethernet
  • Interesting Posts

    autount sshfs с autofs и sshpass

    Значение суммы рядом с определенным шаблоном

    Клавиша Alt-H не работает в KDE Plasma

    Каковы способы повышения стабильности системы и предотвращения потери данных в условиях частых жестких перезагрузок и / или паники ядра?

    что считаются старыми и мощными командами?

    Почему я не могу войти напрямую с помощью SSH

    Список сигналов Kill

    Виртуализация OS X для разработки программного обеспечения

    Найти-grep для списка файлов .tex?

    Как удалить повторяющиеся слова с суффиксами?

    Задержка при отправке результатов в логах

    Я хочу, чтобы несколько подсказок расшифровывали несколько жестких дисков, которые содержат корневую файловую систему

    Vagrant: не удалось установить общую папку nfs (mount.nfs: операция не разрешена)

    Msgstr "mv: невозможно перемещаться". на `../general/. ': занято устройство или ресурс"

    Есть ли способ определить из bash, что не так с рыбой?

    Linux и Unix - лучшая ОС в мире.