Использование systemd для монтирования удаленных файловых систем в пользовательской -шине

sed -e '1s/^/z(A) /' -e '1s/$/ OW HW1 HW2/' < input > output

1— первая строка, s— замена, ^— начало -строки -, $— конец -строки -.

2
24.05.2021, 22:23
1 ответ

У меня такая же проблема в Ubuntu 21.04 с systemd 246.6 -когда вы пытаетесь размонтировать модуль монтирования, systemd сначала пытается найти помощника по размонтированию в /sbin/umount.<type>(, т.е. для sshfs это будет /sbin/umount.fuse.sshfs), и когда в случае сбоя -он вызовет umount2(<where>)-, и это завершится ошибкой, если он будет запущен пользователем systemd.

Я не уверен, почему это работает для @fra -san -Я думаю, что у них может быть помощник по размонтированию.

Что касается этих вопросов:

  1. С служебной единицей можно делать что угодно,как будто вы можете делать что угодно с помощью скрипта инициализации в стиле SysV, но идея systemd заключается в том, что мы понимаем общие задачи управления системой и даем минимальный описательный синтаксис для достижения того, что вам нужно, без чрезмерного усложнения вещей (, что усложняет обслуживание ). Если вы можете использовать модуль монтирования для монтирования файловых систем, это предпочтительнее, чем писать сценарий. Конечно, инфраструктура должна быть в состоянии поддерживать то, что вам нужно делать, и хотя текущее состояние пользовательских единиц монтирования намного лучше, чем было несколько лет назад, начиная с Ubuntu 21.04 -оно по-прежнему не на 100% доступно для файловые системы FUSE.
  2. Чтобы заставить fuse.sshfsпользовательские единицы монтирования останавливаться (размонтировать ), я создал помощник размонтирования в /sbin/umount.fuse.sshfsкак
#!/bin/sh
/bin/fusermount -u "$1"

тогда остановка модуля монтирования работает нормально -systemd вызовет помощника umount и правильно размонтирует файловую систему (не вызывайте umountиз помощника umount, потому что umountтакже вызывает помощника, и вы попасть в бесконечный цикл, который будет потреблять все pids ). Это, вероятно, не лучшее решение, и systemd должен делать то, что umountделает, когда вы вызываете его как пользователь (, что я на самом деле не могу понять, что делает ), но это работает для меня.

4
28.07.2021, 11:29

Теги

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