Ordem de inicialização init.d do Debian 3.1 (Sarge)

2

Estou usando um computador de placa única TS-7800 da Technologic Systems que vem com o Debian 3.1 (Sarge). Eu atualizei-o para o Squeeze, mas devido a vários problemas de driver, fui forçado a reverter para o Sarge. Eu estou tentando configurar os vários drivers e configurações necessárias para meus serviços de aplicativo antes de iniciar. O ideal seria chamar um script init.d que contenha os drivers / configurações e, em seguida, chamar os outros scripts init.d (um para cada processo).

Eu fiquei coçando a cabeça sobre como garantir a sequência de inicialização. Eu sei que em versões posteriores do Debian eu poderia usar o lbs-header para conseguir isso; mas há algo comparável ao cabeçalho LBS no Sarge?

    
por Adam Lewis 08.12.2012 / 03:46

2 respostas

1

Em vez de criar manualmente os links simbólicos, recomendo usar o comando update-rc.d para manipular a criação de links simbólicos para você nos níveis de execução apropriados.

Por exemplo:

  1. Crie /etc/init.d/myscript
  2. Executar update-rc.d /etc/init.d/myscript defaults 20

O argumento defaults declara usar os níveis de execução padrão para iniciar e parar o serviço e o argumento 20 dita o número de sequência.

Você pode encontrar mais informações em:

  1. Pergunta 11.6 da FAQ do Debian GNU / Linux
  2. O artigo sobre administração do Debian "Fazendo os scripts rodarem no boot com o Debian"

Não se esqueça de daemonizar seus scripts, se necessário.

    
por 10.12.2012 / 20:00
2

Você pode fazer isso sozinho. No momento da inicialização, os scripts em /etc/rcS.d são executados primeiro. Não há scripts reais aqui, apenas links simbólicos para /etc/init.d/ scripts

Eles são prefixados com Sxx , em que xx é um número e define a sequência em que são executados.

Então, digamos que seu script é /etc/init.d/mydriverscript , então

ln -s /etc/init.d/mydriverscript /etc/rcS.d/S01mydriverscript

E então ele será executado no momento da inicialização antes de qualquer outro script. Se você preferir executá-lo apenas em níveis de execução específicos, poderá usar a pasta /etc/rc3.d , que a executará apenas se você estiver no nível de execução 3.

    
por 08.12.2012 / 05:37

Tags