profile.d no servidor headless

1

É uma má idéia colocar variáveis necessárias para um programa daemon rodando na inicialização em um sistema sem cabeçalho em /etc/profile.d/ ? Pelo que entendi, profile.d não é executado até que alguém efetue login no sistema por meio de um shell interativo. O meu processo daemon também precisaria que as variáveis do sistema mantidas em profile.d não tivessem essas variáveis configuradas, até que alguém entrasse no sistema, ou elas seriam definidas depois que rc.local fosse executado em um sistema não assistido? (O sistema é o RHEL 6.5 executando o bash)

    
por jgr208 26.08.2014 / 19:39

2 respostas

2

É uma má ideia se não funcionar. Acho que sua preocupação com o profile.d não ser executada, a menos que alguém faça login, é legítimo.

Coloque um script de inicialização em /etc/rc.d/init.d (acho que este é o diretório correto para o Red Hat; no Ubuntu é /etc/init.d) para iniciar seu daemon. Nesse script, você pode declarar / definir quaisquer variáveis necessárias e, ao iniciar o daemon binary, essas variáveis devem estar no escopo.

O link aqui explica esse processo e precisamente por que é superior ao método rc.local .

O método rc.local , mencionado em outra resposta, não funcionará porque as variáveis configuradas nesse script não são mais definidas quando a execução retorna ao Linux INIT. Isto é, conseqüentemente, antes que qualquer um faça o login, então é implicitamente antes do profile.d ser executado.

    
por 26.08.2014 / 23:18
1

Para responder diretamente à sua pergunta, é uma má ideia se não funcionar. Então minha resposta direta é "não", se não funcionar, "sim" se funcionar. Você tentou isso? Ou seja, você confirmou que o profile.d não é executado em seu sistema se ninguém fizer login?

Como sugestão de como fazer isso funcionar: Edite o arquivo rc.local da mesma maneira, para garantir que as configurações sejam aplicadas na inicialização.

Independentemente do que deve acontecer em uma nova instalação, experimente ver se as configurações que você colocou em um desses arquivos ( profile.d ou rc.local ) são aplicadas quando você espera. Se funcionar, basta colocá-lo em /etc/profile.d , então funciona, na sua configuração, sorte sua.

Este link de um livro on-line no linuxtopia sugere que rc.local está localizado em /etc/rc.d/rc.local no RHEL 6.

    
por 26.08.2014 / 21:16