systemd: converte o caminho para o formato do nome da unidade systemd

10

Como converter caminhos arbitrários em systemdformato de nome de arquivo de unidade?

Por exemplo, como eu converteria um caminho /media/backuppara media-backuppoder parar o montador automático via:

systemctl stop media-backup.automount

A solução deve escapar de caracteres especiais.

Tom Hale
fonte
Existe alguma lista desses caminhos arbitrários ou você deseja converter todos os caminhos no sistema? O que você tentou fazer?
Mrc02_kr # 5/17

Respostas:

23

Você deve usar o systemd-escapeque foi projetado explicitamente para isso:

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

-pespecifica que você está escapando de um caminho, e os punhos /, .e ..de forma adequada. Caracteres especiais também são tratados corretamente. Assim, seu comando se tornaria

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

As regras de escape são descritas na página de systemd.unitmanual.

Stephen Kitt
fonte
Isso deve funcionar perfeitamente. Dado umount -lé perigoso , estou surpreso ao ver que o systemdpreguiçoso desmonta o ponto de montagem com este comando.
Tom Hale