Como montar / correr cedo o suficiente?

0

Em um sistema raspbian GNU / Linux 8, recebo esses erros durante a inicialização:

ifplugd(eth0)[214]: Executing '/etc/ifplugd/ifplugd.action eth0 up'.
ifplugd(eth0)[214]: client: /sbin/ifup: failed to open lockfile /run/network/.ifstate.lock: No such file or directory
ifplugd(eth0)[214]: client: run-parts: /etc/ifplugd/action.d//ifupdown exited with return code 1
ifplugd(eth0)[214]: Program execution failed, return value is 1.

Mais tarde, ifplugd repete a ação e é bem-sucedido. Eu suspeito que a falha inicial é devido a / run não está sendo montado. Minhas perguntas são:

  1. Isso é um comportamento normal ou um erro / configuração incorreta? O ifplugd roda enquanto o systemd-fsck ainda está rodando, então parece que o ifplugd está um pouco adiantado? Posso simplesmente ignorar esse problema?

  2. A montagem / execução parece ser um caso especial não tratado pelo / etc / fstab porque precisa estar presente muito cedo. Então, qual parte controla a montagem / execução? Isso é feito pelo systemd? Em caso afirmativo, qual parte do systemd?

por Alexander Klauer 11.09.2017 / 10:30

1 resposta

3

/run já está montado com antecedência suficiente.

Seu diagnóstico está com defeito.

/run é montado pelo programa systemd em execução como processo # 1. É um dos chamados "sistemas de arquivos API" que o systemd monta antes mesmo de começar a trazer serviços e destinos. De fato, o systemd permite que /run seja montado pelo estágio initrd do bootstrap antes que o processo # 1 execute o próprio programa systemd . Seja qual for a causa do seu problema, não é porque o /run não está sendo montado.

Dado que o problema está em um arquivo que está em /run/network/ , realmente seu primeiro pensamento deveria ter sido O diretório /run/network/ ainda existe neste momento no bootstrap? levando a a pergunta O que cria o diretório /run/network/ ? que leva ao serviço networking que executa o script /etc/init.d/networking e se ele é executado antes ou depois do serviço ifplugd que executa o script /etc/init.d/ifplugd . Para a resposta, veja os logs que você está vendo. ☺

Sim, o serviço ifplugd está confiando no serviço networking ter sido iniciado primeiro. Não, seus scripts van Smoorenburg rc na verdade não codificam essa ordem.

Leitura adicional

por 11.09.2017 / 12:44