Qual é a diferença entre rc, rc.local e rc.sysinit?

2

Eu tentei exibir a lista de scripts de inicialização para o nível de execução atual na inicialização. Eu escrevi o seguinte código.

rl='runlevel | cut -d " " -f2'
ls /etc/rc.d/rc$rl.d/S* | cut -d "/" -f5
sleep 10

Está funcionando se eu colocar este código no arquivo rc.local .

Mas não está funcionando se eu colocá-lo no arquivo rc ou em um arquivo de script separado abc in /etc/init.d e criando softlinks em diretórios de nível de execução.

Mas comandos simples como o follows podem ser executados em todos os métodos.

ls /etc/init.d

Alguns comandos como nível de execução ou tubulação não funcionam, a menos que alguns dos scripts tenham sido iniciados? Ou há outra coisa?

E se eu colocar meu código no arquivo rc , meu código será executado antes e depois da reinicialização.

  • Qual é a diferença entre os arquivos rc , rc.local e rc.sysinit ?
  • Onde exatamente eu preciso editar esses arquivos?

Também posso encontrar S99local - > Softlink para rc.local em runlevels 2, 3, 4 e 5.

Isso significa que rc.local não será executado no nível de execução 1?

    
por GP92 02.07.2014 / 03:30

1 resposta

5
  • rc normalmente não é usado pelas distribuições Linux, mas é usado no BSD
  • rc.local é usado para executar comandos adicionais durante a inicialização sem ter que adicionar links simbólicos.
  • rc.sysinit parece ser Red Hat específico e é executado muito cedo no processo. Ele é executado como um dos primeiros scripts, enquanto rc.local é executado posteriormente.

Also I can find S99local -> softlink for rc.local in 2,3,4 and 5 runlevels. Does it mean that rc.local won't run on runlevel 1?

Correto, isso significa que S99local, que é um link simbólico para /etc/rc.local , será um dos últimos scripts executados ao inserir níveis de execução 2 , 3 , 4 e 5 . Ele não será executado para o runlevel 1 , pois 1 é o single user , normalmente usado para trabalho de resgate / manutenção.

    
por 02.07.2014 / 04:17