resolv.conf - sistema de arquivos somente leitura

3

Estou no processo de configurar o jessie raspbian para ser executado como somente leitura. Apenas /tmp é gravável e o sistema está configurado para gravar informações de IP DHCP em /tmp .

Tudo está funcionando bem, exceto /etc/resolv.conf . Ele simplesmente não é atualizado durante a inicialização.

Eu tentei usar um link simbólico. rm /etc/resolv.conf touch /tmp/resolv.conf ln -s /tmp/resolv.conf /etc/resolv.conf

Mas, como /tmp é esvaziado na reinicialização, /tmp/resolve.conf não pode ser atualizado porque não existe.

Então, tentei criar o arquivo durante a inicialização.

touch /tmp/resolv.conf em /etc/rc.local

O arquivo é criado, mas somente após a execução do dhclient, porque não há entradas DNS nele. Se eu executar o dhclient após o sistema ter sido inicializado, ele gravará os servidores DNS no arquivo com êxito.

Como posso fazer o resolv.conf funcionar em um sistema de arquivos somente leitura?

    
por aristosv 11.01.2016 / 15:51

3 respostas

-2

Isso fez isso

rm /etc/resolv.conf ln -s /tmp/resolv.conf /etc/resolv.conf sed -i 's/\/etc\/resolv.conf/\/tmp\/resolv.conf/g' /sbin/dhclient-script

    
por 11.01.2016 / 19:39
2

Nas páginas do manual do dhclient-script,

Hooks

When it starts, the client script first defines a shell function, make_resolv_conf , which is later used to create the /etc/resolv.conf file. To override the default behaviour, redefine this function in the enter hook script.

On after defining the make_resolv_conf function, the client script checks for the presence of an executable /etc/dhcp/dhclient-enter-hooks script, and if present, it invokes the script inline, using the Bourne shell '.' command. The entire environment documented under OPERATION is available to this script, which may modify the environment if needed to change the behaviour of the script. If an error occurs during the execution of the script, it can set the exit_status variable to a nonzero value, and /sbin/dhclient-script will exit with that error code immediately after the client script exits.

Portanto, você deve poder editar /etc/dhcp/dhclient-enter-hooks e adicionar entradas para criar /tmp/resolv.conf com as permissões corretas, se elas não existirem, removendo e recriando o link simbólico, se necessário.

Verificando no Debian, parece haver um diretório dhclient-enter-hooks.d com partes de script nele, então você pode apenas adicionar algo lá, dependendo da sua distribuição / versão do dhclient (Raspbian neste caso).

    
por 11.01.2016 / 16:10
1

Confira o link . Recomenda-se usar o pacote resolvconf . Como você já mexeu com o seu software, pode ser necessário algum desfazer para que funcione corretamente, mas é uma solução bem pensada para esse problema e muito mais.

    
por 12.01.2016 / 10:56