usbmount не работает с MountFlags=shared в новом ядре

Верны ли эти выходные данные?

 1.056000e+0 5.000000e-1 2.454400e-3 2.914800e-2 8.141500e-6
 2.043430e+1 5.000000e-1 2.750500e-3 2.698100e-2-2.034300e-4
 3.829842e+1 5.000000e-1 1.969923e-2 2.211364e-2 9.499900e-6
 4.168521e+1 5.000000e-1 1.601262e-2 3.030919e-2-3.372000e-6
 6.661784e+1 5.000000e-1 5.250575e-2 3.443669e-2 2.585500e-5
 7.278104e+1 5.000000e-1 2.137055e-2 2.601701e-2 8.999800e-5
 9.077287e+1 5.000000e-1 1.320498e-2 2.961020e-2-1.011600e-5
 9.248130e+1 5.000000e-1 3.069610e-3 2.786329e-2-6.317000e-5
 1.049935e+2 5.000000e-1 4.218794e-2 3.321955e-2-5.097000e-6
 1.216283e+2 5.000000e-1 1.432105e-2 3.077165e-2 4.300300e-5

Код:

perl -lne 's/(\.\d+)(\+|\-)/\1e\2/g; print' sample

Пояснение:

  • -lneпозаботьтесь о концах строк, обработайте каждую строку ввода, выполните следующий код

  • s/(\.\d+)(\+|\-)/\1e\2/g:

    • замена(s)
    • (.\d+)(\+|\-)найти две группы из (точка и цифры )и (плюс или минус)
    • \1e\2замените их первой группой, затем e, затем второй группой
    • gглобально -не останавливаться на первой подстановке в каждой строке, а обрабатывать все возможные совпадения
  • printнапечатать строку

  • sampleвходной файл

Это добавляет пробел, если он отсутствует. На самом деле он помещает пробел между числами независимо. Т.е. если бы в каком-то случае было два пробела, в выводе был бы только один.

perl -lne 's/(\.\d+)(\+|\-)(\d+)(\s*)/\1e\2\3 /g; print' sample

Большая часть похожа на предыдущую. Новым является группа (\d+)номер 3 и группа (\s*)номер 4. *здесь означает необязательный. В замене не используется \4. Вместо этого есть место.

Вывод такой:

 1.056000e+0 5.000000e-1 2.454400e-3 2.914800e-2 8.141500e-6 
 2.043430e+1 5.000000e-1 2.750500e-3 2.698100e-2 -2.034300e-4 
 3.829842e+1 5.000000e-1 1.969923e-2 2.211364e-2 9.499900e-6 
 4.168521e+1 5.000000e-1 1.601262e-2 3.030919e-2 -3.372000e-6 
 6.661784e+1 5.000000e-1 5.250575e-2 3.443669e-2 2.585500e-5 
 7.278104e+1 5.000000e-1 2.137055e-2 2.601701e-2 8.999800e-5 
 9.077287e+1 5.000000e-1 1.320498e-2 2.961020e-2 -1.011600e-5 
 9.248130e+1 5.000000e-1 3.069610e-3 2.786329e-2 -6.317000e-5 
 1.049935e+2 5.000000e-1 4.218794e-2 3.321955e-2 -5.097000e-6 
 1.216283e+2 5.000000e-1 1.432105e-2 3.077165e-2 4.300300e-5 
1
14.08.2019, 22:41
2 ответа

Похоже, PrivateMountsтеперь по умолчанию равно yes.

Это исправило это для меня:

sudo systemctl edit systemd-udevd

Добавьте в службу следующее:

[Service]
PrivateMounts=no

Затем перезапуститеudevd:

sudo systemctl restart systemd-udevd

Теперь usbmountснова работает для меня (диски подключены к /media/usb*как и ожидалось ).


Зачет ответа:https://raspberrypi.stackexchange.com/a/100375/45183

Дополнительная литература:https://github.com/systemd/systemd/issues/9873

5
27.01.2020, 23:41

Последняя версия usbmount (0.24 )работает без модификации служебных файлов из коробки.

https://github.com/rbrito/usbmount/issues/25#issuecomment-517643716

К сожалению, на момент написания этой статьи версия 0.24 доступна только на GitHub.

0
27.01.2020, 23:41

Теги

Похожие вопросы