systemd: pare a unidade .automount sem desmontar o sistema de arquivos

0

Existe uma maneira que eu possa parar um .automount sem desmontar o sistema de arquivos?

Eu só quero evitar qualquer automontagem futura, mas eu não quero desmontar o sistema de arquivos atualmente montado.

Por que não posso simplesmente remontar o sistema de arquivos que você pergunta?

Bem, assim como umount --lazy é perigoso e é impossível saber quando ele foi concluído , parece que parar a unidade .automount também usa o mesmo sinalizador MNT_DETACH .

Uma demonstração:

$ # Call this shell #1:
$ # I block permissions on the unmounted mountpoint:
$ ls -ld /media/backup/
dr-------- 1 root root 0 Nov 19 14:16 /media/backup/
$ ls /media/backup
ls: cannot open directory '/media/backup': Permission denied
# Enable the automounter:
$ sudo systemctl start media-backup.automount
$ # Now I can see the contents:
$ ls /media/backup
blockchain  btrbk  syncthing
$ # Pin it down with a working directory:
$ cd /media/backup/
# Stop the automounter:
$ sudo systemctl stop media-backup.automount
$ # Note there is no complaint about a mounted filesytem...

Neste momento, em outro shell:

$ # Shell #2
$ ls /media/backup/
ls: cannot open directory '/media/backup/': Permission denied

Então, ele é desmontado quando visto do shell # 2, mas ainda acessível no Shell # 1:

$ # Shell #1
$ ls
blockchain  btrbk  syncthing

Como faço para parar a unidade .automount sem desmontar o sistema de arquivos montado atualmente?

    
por Tom Hale 19.11.2017 / 14:14

1 resposta

0

Mascarar a unidade impede a execução futura simplesmente criando um link simbólico para /dev/null :

$ sudo systemctl --runtime mask "$(systemd-escape -p --suffix=automount /media/backup)"
Created symlink /run/systemd/system/media-backup.automount → /dev/null.

A --runtime sinalizará apenas a máscara até a próxima inicialização.

Para reativar o automount, basta excluir o link simbólico.

Nota:

Após mascarar e desmontar o sistema de arquivos atualmente montado, as futuras tentativas de acesso podem mostrar algo como:

$ ls backup
ls: cannot open directory 'backup': Host is down
    
por 19.11.2017 / 14:45