systemd: преобразовать путь в формат имени модуля systemd


10

Как преобразовать произвольные пути в systemdформат имени файла модуля?

Например, как бы преобразовать этот путь , /media/backupчтобы media-backupтаким образом я мог остановить монтирование через:

systemctl stop media-backup.automount

Решение должно избегать специальных символов.


Есть ли какой-нибудь список этих произвольных путей или вы хотите преобразовать каждый путь в системе? Что ты пытался сделать?
mrc02_kr

Ответы:


23

Вы должны использовать systemd-escapeкоторый разработан специально для этого:

systemd-escape -p --suffix=automount /media/backup

-pуказывает, что вы избегаете пути, и обрабатываете /, .и ..соответственно. Специальные символы также обрабатываются правильно. Таким образом ваша команда станет

systemctl stop "$(systemd-escape -p --suffix=automount /media/backup)"

Правила выхода описаны на systemd.unitстранице руководства .


Это должно работать отлично. Учитывая, что umount -lэто опасно , я удивлен, увидев, что systemdlazy размонтирует точку монтирования с помощью этой команды.
Том Хейл,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.