La versión en inglés de este artículo es de: http://www.ghacks.net/2009/04/04/get-to-know-linux-the-etcinitd-directory/
1. Sobre /etc/init.d Si alguna vez has usado un sistema Linux, entonces has oído hablar del directorio init.d. ¿Para qué sirve exactamente este catálogo? Al final del día solo hace una cosa, pero no es algo trivial, se hace para todo el sistema, así que es muy importante. El directorio init.d contiene muchos scripts de inicio y fin para varios servicios del sistema. Controla todo, desde acpid hasta x11-common. Por supuesto, init.d está lejos de ser tan sencillo. (Nota del traductor: ACPID es un nuevo estándar de gestión de energía para sistemas operativos Linux; X11 también se llama sistema de ventana X, sistema de ventana X (X11 o X) es un sistema de ventanas con visualización en mapa de bits. Es un conjunto de herramientas y protocolo estándar para construir interfaces gráficas de usuario en sistemas operativos Unix y similares a Unix, así como en OpenVMS, y puede usarse para casi todos los sistemas operativos modernos. Cuando miras el directorio /etc, encontrarás muchos directorios que existen en forma de rc#.d (donde # representa un nivel de inicialización especificado, el rango es 0~6). Bajo estos directorios, hay muchos scripts que controlan el proceso. Estos sistemas de escritura empiezan por una "K" o una "S". Los scripts que empiezan por K se ejecutan antes que los scripts que empiezan por S. La ubicación de estos scripts determinará cuándo empiezan a ejecutarse. Entre estos directorios, los servicios del sistema trabajan juntos como una máquina sana. Sin embargo, a veces quieres iniciar o matar un proceso limpiamente sin usar los comandos de matar o matar. ¡Ahí es donde /etc/init.d resulta útil! Si usas un sistema Fedora, puedes encontrar este directorio: /etc/rc.d/init.d. De hecho, hace lo mismo sin importar dónde pongas init.d. Para poder usar scripts en el directorio init.d, necesitas privilegios root o sudo. Cada script se ejecutará como un comando, que está estructurado aproximadamente de la siguiente manera: /etc/init.d/opción de comando Comand es el comando que se ejecuta realmente, y las opciones pueden ser las siguientes: Inicio ¡Para Recarga Reinicio Recarga forzada En la mayoría de los casos, usarás las opciones de inicio, parada y reinicio. Por ejemplo, si quieres apagar la red, puedes usar un comando como este:
/etc/init.d/parada de networking Otro ejemplo es que cambias la configuración de tu red y necesitas reiniciarla. Puedes usar comandos como este: /etc/init.d/reinicio de redes Los scripts de inicialización más utilizados en el directorio init.d son:
Networking Samba apache2 FTPD sshd Dovecot mysql Por supuesto, puede que tengas otros scripts más usados, dependiendo del sistema operativo Linux que tengas instalado. 2. Sobre /etc/rc.local rc.local también es un script que uso mucho. El script se ejecuta después de que se haya ejecutado el script a nivel de inicialización del sistema, así que es seguro añadir el script que quieres ejecutar después de que el sistema arranque. Un caso común es que puedes añadir un script de montaje/montaje NFS. También puedes añadir algunos comandos de script para depurar dentro. Por ejemplo, me he encontrado con esta situación en la que el servicio samba siempre falla en funcionar correctamente, y la inspección muestra que samba debería haberse iniciado y ejecutado durante el arranque del sistema, es decir, la configuración del daemon samba asegura que esta función debe realizarse correctamente. En este caso, normalmente no me molesto mucho en buscar por qué, solo necesito añadir esta línea al script /etc/rc.local: /etc/init.d/samba start De este modo, el problema de la excepción de servicio SAMBA se resolvió con éxito.
3. Resumen Linux es flexible. Gracias a su flexibilidad, siempre podemos encontrar muchas formas diferentes de resolver el mismo problema. El ejemplo de iniciar un servicio de sistema es un buen ejemplo. Con el script en el directorio /etc/init.d, junto con la potente herramienta /etc/rc.local, puedes estar seguro de que tu servicio funcionará sin fallos.
|