Atualmente usando o Debian 9.5 com este fstab
arquivo:
# /etc/fstab: static file system information.
#
/dev/mmcblk1p1 / ext4 noatime,errors=remount-ro 0 1
tmpfs /var/volatile tmpfs defaults,x-mount.mkdir 0 0
Agora, se a pasta /var/volatile
não existir, ela será criada ( x-mount.mkdir
). Qual seria a maneira correta de ter uma subpasta (por exemplo) como /var/volatile/subfolder
apenas criada após o procedimento de montagem ser bem-sucedido?
Eu quero que essa subpasta seja criada antes que o systemd continue com suas tarefas até finalizar a inicialização.
Uma maneira de resolver isso seria criar um novo serviço systemd (ou modificar um existente) para lidar com a criação desse diretório em seu
/var/volatile
tempfs usando aAfter=local-fs.target
diretiva unit.Adicione isso
/etc/systemd/system/tmpfsinit
e, em seguida, execute osystemctl daemon-reload && systemctl enable tempfsinit
.Como alternativa, se você já tiver um serviço systemd personalizado, também poderá adicionar a
After
diretiva de unidade e o comando para criar o subdiretório necessário em umExecStartPre
comando.Depois de explorar o systemd, me deparei com uma descoberta de saudação. Acontece que não há necessidade de criar um serviço personalizado para lidar com isso, pois o systemd já fornece uma solução (
systemd-tmpfiles
) para esse fim. É um método estruturado e configurável para gerenciar diretórios e arquivos temporários.https://www.freedesktop.org/software/systemd/man/systemd-tmpfiles.html https://www.freedesktop.org/software/systemd/man/tmpfiles.d.html
Basta criar um arquivo
/etc/tmpfiles.d/volatile-subfolder.conf
com este conteúdo:E reinicie.