Правило 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 

Это ничего не делает вообще. Однако, если я изменю команду монтирования для чего-то типа / 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) 

    2 Solutions collect form web for “Правило Udev для монтирования диска не работает”

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

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

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

    или новый каталог и файл /etc/systemd/system/systemd-udevd.service.d/myoverride.conf только с двумя последними строками, т.е.

     [Service] MountFlags=shared 

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

    Эта же проблема возникает в Ubuntu 18.04 с той же основной причиной. Чтобы исправить это, мы создаем файл переопределения для systemd-udevd :

     sudo systemctl edit systemd-udevd 

    И вставьте в него:

     [Service] MountFlags=shared 

    Сохраните файл и затем выполните:

     sudo systemctl daemon-reload sudo service systemd-udevd --full-restart 
    Linux и Unix - лучшая ОС в мире.