Правило Udev для монтирования диска не работает

У меня есть следующее содержание в /etc/udev/rules.d/81-external-disk.rules:

ENV{ID_FS_UUID}=="6826692e-79f4-4423-8467-cef4d5e840c5", RUN{program}+="/bin/mount -o nofail,x-systemd.device-timeout=1 -t ext4 -U 6826692e-79f4-4423-8467-cef4d5e840c5 /backup/external" 

После запуска:

 udevadm control --reload ; udevadm trigger /dev/sdb1 

Он ничего не делает. Однако, если я изменяю команду mount для чего-то вроде / bin / touch / tmp / xyz, это работает.

Версии:

 [root@helsinki rules.d]# rpm -qa | grep udev libgudev1-219-19.el7_2.12.x86_64 python-pyudev-0.15-7.el7_2.1.noarch [root@helsinki rules.d]# rpm -qa | grep systemd systemd-libs-219-19.el7_2.12.x86_64 systemd-219-19.el7_2.12.x86_64 systemd-sysv-219-19.el7_2.12.x86_64 [root@helsinki rules.d]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 

  • Udev (197) last_rule не работает
  • Сетевой интерфейс инициализирован, но не включен при вставке ключа USB 3g (Intel Edison)
  • Измените эти настройки перед загрузкой udev
  • Постоянное изменение владельца (или группы) объема LVM
  • Raspbian: проблема с перенаправлением вывода в скрипте udev
  • Список всех правил udev (например, для устройства)?
  • Именование сетей в Arch Linux
  • Redhat 7.1 Udev Изменяет правила SYMLINK + И Имя
  • 2 Solutions collect form web for “Правило Udev для монтирования диска не работает”

    Это функция systemd. Исходная команда udev была заменена на systemd-udevd (см. systemd-udevd страницу). Одно из отличий заключается в том, что он создает собственное пространство имен файловой системы, поэтому ваше монтирование выполнено, но оно не отображается в основном пространстве имен. (Вы можете проверить это, выполнив systemctl status systemd-udevd чтобы получить главный PID службы, а затем просмотрите содержимое /proc/<pid>/mountinfo для вашей файловой системы).

    Если вы хотите вернуться к использованию общего, а не частного пространства имен файловой системы, создайте файл /etc/systemd/system/systemd-udevd.service с содержимым

     .include /usr/lib/systemd/system/systemd-udevd.service MountFlags=shared 

    и перезапустите службу systemd-udevd. Я не нашел последствий для этого.

    ENV {ID_FS_UUID} неизвестен до монтажа.

    Вы должны использовать атрибут ближе к оборудованию, например ATTR {SerialNumber} или ATTR {Vendor} и ATTR {ProdID}.

    usb-devices могут помочь вам найти лучший способ определить ваше устройство.

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