Systemd vs init.d Especifique as dependências do systemd nos cabeçalhos do LSB

5

Eu tenho um sistema baseado em systemd que contém um script init.d estilo System V com cabeçalhos LSB. O script init.d só deve ser iniciado depois que todos os sistemas de arquivos no fstab estiverem montados. Como posso especificar esse tipo de dependência nos cabeçalhos LSB?

    
por Hans Then 31.12.2014 / 14:00

1 resposta

0

Quando você diz que está checando por uma montagem de sistema de arquivos, fica claro que você a executará se encontrada e montada, mas o que não está claro é que, se não for encontrada, o que você deseja fazer?

Eu pergunto porque uma resposta possível é sim, no LSB, é o nível de execução que determina isso. Na inicialização do Linux / Unix, os sistemas de arquivos estão disponíveis no nível de execução 1. Portanto, defina em seu cabeçalho LSB "Default-Start: 2 3 4 5". Em seguida, coloque a entrada de montagem do sistema de arquivos em / etc / fstab e, opcionalmente, defina-a como 'bootwait' para travar seu sistema e impedir que a transição execute nível dois até que seja montada, não importa quanto tempo demore. É assim que alguns sistemas são configurados quando o sistema de arquivos (remoto) é super crítico.

Caso contrário, a resposta é não, você não pode verificar a existência de uma partição montada APENAS dentro de uma entrada de cabeçalho LSB. E como você permite que esse sistema em particular inicialize sem esse sistema de arquivos específico, o sistema de arquivos obviamente não é "importante" o suficiente para suspender o sistema que aguarda a disponibilidade de montagem.

Uma consideração é se você deseja que ele não seja executado quando o sistema de arquivos não está montado porque você está tentando satisfazer uma dependência de "Início Obrigatório:" em outro script de inicialização? Espero que não, como você pode ver, você esteja deslizando por uma dependência muito escorregadia das dependências do script de inicialização.

Com sorte, você quer que ele não seja executado, porque, se funcionasse, ele bagunçaria coisas como preencher o sistema de arquivos raiz (em vez de ser uma dependência do init)? Em seguida, você pode deixá-lo rodar, mas apenas codifique o script de inicialização para verificar e sair normalmente, conforme apropriado. A lógica para verificar uma montagem do sistema de arquivos e, se não for encontrada, sair, é provavelmente uma linha de código. Pode ser inserido logo após o cabeçalho do LSB.

    
por 07.12.2015 / 23:40

Tags