Coneix Linux: El directori /etc/init.d

Si utilitzeu Linux, molt probablement heu sentit a parlar de la secció init.d directori. Però, què fa exactament aquest directori? En última instància, fa una cosa, però ho fa per a tot el vostre sistema init.d és molt important. El init.d el directori conté una sèrie de scripts d’inici / parada per a diversos serveis del vostre sistema. De tot àcid a x11-comú es controla des d'aquest directori. Per descomptat, no és exactament tan senzill.

Si ens fixem en el / etc directori que trobareu directoris en el formulari rc # .d (On el número # reflecteix un nivell d'inicialització específic - de 0 a 6). Dins de cadascun d’aquests directoris hi ha diversos scripts que controlen els processos. Aquests scripts començaran amb una 'K' o una 'S'. Tots els scripts 'K' s'executen abans dels scripts 'S'. I en funció de on es trobin els scripts es determinarà quan s’inicien els scripts. Entre els directoris, els serveis del sistema funcionen junts com una màquina ben engrasada. Però hi ha moments que necessiteu iniciar o aturar un procés de manera neta i sense fer servir les ordres kill o killall. Aquí és on /etc/init.d directori és útil.

Ara si utilitzeu una distribució com Fedora, podríeu trobar aquest directori /etc/rc.d/init.d . Independentment de la ubicació, compleix el mateix propòsit.

Per tal de controlar qualsevol dels guions en init.d manualment, heu de tenir accés root (o sudo). Cada script s'executarà com una ordre i l'estructura de la comanda serà semblant a:

/etc/init.d/command OPCIÓ

On comandament és l'ordre real per executar i OPCIÓ pot ser un dels següents:

  • començar
  • Atura
  • recarregar
  • reinicia
  • força-recàrrega

La majoria de les vegades el fareu servir començar, parar, o reinicia. Així que si voleu aturar la xarxa, podeu emetre l'ordre:

/etc/init.d/ Network stop

O si feu un canvi a la xarxa i necessiteu reiniciar-lo, podeu fer-ho amb la següent comanda:

/etc/init.d/network reinicia

Alguns dels scripts d'inici més comuns d'aquest directori són:

  • treball en xarxa
  • samba
  • apache2
  • ftpd
  • sshd
  • colomar
  • mysql

Per descomptat, pot haver-hi scripts més freqüents al vostre directori: depèn del que hagueu instal·lat. La llista anterior es va extreure d'una instal·lació d'Ubuntu Server 8.10 de manera que una instal·lació d'escriptori estàndard tindria uns scripts de tipus menys en xarxa.

Però, i /etc/rc.local

Hi ha una tercera opció que feia servir bastant. Aquesta opció és la /etc/rc.local guió. Aquest fitxer s'executa després que s'hagin executat tots els altres scripts de nivell inicial, de manera que és segur posar diverses ordres que vulgueu emetre a l'inici. Moltes vegades publicaré instruccions de muntatge de coses com nfs en aquest script. Aquest és també un bon lloc per posar scripts de 'resolució de problemes'. Per exemple, un cop vaig tenir una màquina que, per algun motiu, semblava que no volia començar. Fins i tot després de comprovar la comprovació per assegurar-nos que el dimoni Samba es va configurar per inicialitzar-lo a l’arrencada. Així que en lloc de passar tot el meu temps per davant, he simplement posat la línia:

/etc/init.d/samba inici

a la /etc/rc.local script i Samba funcionaven com un encant. Al final, tornaria a tenir problemes per disparar aquest problema.

Pensaments finals

Linux és flexible. Linux és tan flexible que hi ha gairebé inevitablement moltes maneres de resoldre un sol problema. Un dels problemes que suposa és iniciar un servei del sistema. Amb l 'ajuda del directori /etc/init.d sistema (així com /etc/rc.local ) pràcticament estareu segur que el vostre servei començarà.