Eu tenho uma distribuição Linux personalizada (baseada em Debian), que possui muitas ferramentas personalizadas para, por exemplo, alterar configurações do sistema (como rede, etc.).
Esses arquivos de configuração são arquivos .json (eu sei, não são exatamente como o Linux) que são lidos de geradores personalizados que basicamente geram os valores dos meus arquivos de configuração dentro da configuração correspondente do Linux. Esses geradores são unidades systemd invocadas em sysinit.target .
Eu tenho uma entrada padrão em /etc/fstab que está sendo substituída pelo gerador. Depois estou executando sudo -o remount /tmp
para remontar o tmpfs com o tamanho correto. Às vezes isso parece funcionar, mas outras vezes a remontagem falha com o seguinte erro: not mount or bad option . Suponho que seja um problema de tempo.
Também li que isso poderia ser conseguido usando apenas o systemd (tmp.mount). Isso poderia funcionar para meu caso de uso específico? Seria possível gerar o arquivo unitário para tmp.mount durante o processo de boot, para que o tmpfs seja montado com o tamanho correto?
Tudo deve ser automatizado. Não há espaço para interceptação manual.
Uma abordagem é garantir que seu gerador só funcione quando
/tmp
já estiver montado. Você pode usar aRequiresMountsFor=
dependência para isso em seu arquivo de unidade systemd da unidade de serviço:Uma alternativa é definir a
/tmp
entrada padrão/espaço reservado/etc/fstab
com onoauto
sinalizador e montar explicitamente/tmp
somente depois que seu gerador definir o tamanho desejado. ou seja, execute um comando de montagem onde você usa a remontagem.E uma terceira alternativa é eliminar completamente a
/tmp
entrada/etc/fstab
e fazer com que o script do gerador gere e execute umasystemd-mount [OPTIONS...] --tmpfs [NAME] WHERE
linha de comando para montar/tmp
como tmpfs.