Systemd: дефисы в точке монтирования

1084
Danielme

По умолчанию udisks2 монтирует съемные диски в / run / media / $ USER / [UUID] . UUID содержит дефисы.

Я хотел использовать эту точку монтирования в сервисе systemd. Но systemd использует дефис вместо косой черты.

man systemd.mount говорит мне:

Устройства монтирования должны называться в соответствии с каталогами точек монтирования, которыми они управляют. Пример: точка монтирования / home / lennart должна быть настроена в файле модуля home-lennart.mount.

Может / run / media / daniel / 76ya27o9-abce-81fv-8j2hj-casjkdjhhlasfd / использоваться в сервисе systemd из-за дефисов? Если да, то как?

0

1 ответ на вопрос

0
Tom Yan

Ну, дефис будет экранирован при создании юнита:

[tom@localhost ~]$ udisksctl mount -b /dev/sdb1  Mounted /dev/sdb1 at /run/media/tom/A942-EE49.  [tom@localhost ~]$ systemctl --type mount UNIT LOAD ACTIVE SUB DESCRIPTION ... run-media-tom-A942\x2dEE49.mount loaded active mounted /run/media/tom/A942-EE49 ... 

В некоторых более старых версиях systemd вам может потребоваться экранировать обратную косую черту экранированного дефиса :

[Unit] ... [Service] ... [Install] WantedBy=run-media-tom-A942\\x2dEE49.mount 

Однако, когда я только что снова проверил это с systemd 230, очевидно, вам больше не нужно это делать. Так:

[Unit] ... [Service] ... [Install] WantedBy=run-media-tom-A942\x2dEE49.mount 

следует сделать.

FWIW, я думаю, что udisks2 предпочитает метку файловой системы, а не UUID, если она установлена.

PS Вышеуказанный случай ( WantedBy=) является лишь примером. Он используется для запуска службы (если она включена) при монтаже.

Отлично! Большое спасибо! \ x2d был тем, что я искал. Я знаю, что я мог бы изменить и поведение udisks2, но тогда мне пришлось бы изменить и другие мои скрипты;) PS Сначала я попробовал это, и оно не работало, но затем, через пару минут, я понял, что забыл * .mount * в конце OMG. Danielme 7 лет назад 0

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