¿Cuál es la diferencia entre /etc/init/y /etc/init.d/?
En términos más generales, ¿qué significado .dtransmite el sufijo a un directorio?
fuente
¿Cuál es la diferencia entre /etc/init/y /etc/init.d/?
En términos más generales, ¿qué significado .dtransmite el sufijo a un directorio?
/etc/init.dcontiene scripts utilizados por las herramientas de inicio de System V (SysVinit). Este es el paquete de administración de servicios tradicional para Linux, que contiene el initprograma (el primer proceso que se ejecuta cuando el kernel ha terminado de inicializarse), así como cierta infraestructura para iniciar y detener servicios y configurarlos. En concreto, los archivos de /etc/init.dscripts de shell que responden a start, stop, restart, y (cuando sea compatible) reloadlos comandos para gestionar un servicio en particular. Estas secuencias de comandos se pueden invocar directamente o (más comúnmente) a través de algún otro desencadenante (generalmente, la presencia de un enlace simbólico /etc/rc?.d/).
/etc/initcontiene archivos de configuración utilizados por Upstart. Upstart es un paquete de gestión de servicios joven defendido por Ubuntu. Los archivos en /etc/initson archivos de configuración contando Upstart cómo y cuándo start, stop, reloadla configuración, o consultar la statusde un servicio. A partir de lucid, Ubuntu está haciendo la transición de SysVinit a Upstart, lo que explica por qué muchos servicios vienen con scripts de SysVinit a pesar de que se prefieren los archivos de configuración de Upstart. De hecho, los scripts SysVinit son procesados por una capa de compatibilidad en Upstart.
.den los nombres de directorio indica típicamente un directorio que contiene muchos archivos de configuración o secuencias de comandos para una situación particular (por ejemplo, /etc/apt/sources.list.dcontiene archivos que se concatenan para hacer una virtual sources.list; /etc/network/if-up.dcontiene secuencias de comandos que se ejecutan cuando una red i nter f ace se activa). Esta estructura se usa generalmente cuando cada entrada en el directorio es proporcionada por una fuente diferente, de modo que cada paquete puede depositar su propio complemento sin tener que analizar un solo archivo de configuración para hacer referencia a sí mismo. En este caso, simplemente sucede que "init" es un nombre lógico para el directorio, SysVinit vino primero y se usó init.d, y Upstart usó sin formatoinitpara un directorio con un propósito similar (habría sido más "convencional", y quizás menos arrogante, si hubieran usado en su /etc/upstart.dlugar).
¹ sin contar initrd
.ddirectorios ingresaron con el Sistema V. Era una notación desconcertante y, en última instancia, probablemente la idea de una persona que entró en la base de código y no pudo salir. Por ejemplo, si cree quecates un mal nombre para la tarea que realiza, imagine cuántos archivos en todo el sistema tendría que tocar para cambiarlo.upstartosysvinit. Y en versiones recientes, podría sersystemdasí (que no existía para Ubuntu cuando escribí mi respuesta). Es el paquete que proporcione/sbin/init(dpkg -S /sbin/init).upstartpaquete el que proporciona / sbin / init (rundpkg -S /sbin/init). Pero Bitnami ha colocado su script en el directorio /etc/init.d. ¿No es esto conflictivo con tu respuesta a @AsheeshR arriba? Gracias.El ".d" generalmente se agrega a un nombre de directorio para indicar que lo que solía ser (o lo que podría haber sido) manejado por un solo script o un único archivo de configuración se ha dividido en varios archivos por conveniencia, pero que deben incluirse o ejecutarse juntos.
Por ejemplo,
/etc/apache/conf.d/o/etc/apt/sources.d/En los casos en que es importante en qué orden deben incluirse / ejecutarse, los archivos en estos directorios a veces comienzan con un número, como "00-default" u "80-user" para que se ejecuten en el orden correcto.
En el caso de
/etc/init.d/esto, indica que los scripts en "init.d" deberían ejecutarse. Hoy en día, sin embargo, el sistema init de los sistemas operativos modernos está un poco más involucrado que eso, pero el nombre del directorio sigue ahí.fuente
.dmedio esté relacionado con un proceso 'deamon' que normalmente se inicia en el momento del arranque.Como usted señala, la nomenclatura ".d" es desconcertante y extraña, y realmente no tiene ningún lugar en ningún sistema moderno; notará que la mayoría de los servicios modernos han tendido a abandonarla.
La razón por la que el directorio es
/etc/inity no/etc/upstartes porque Upstart es el nombre del proyecto, el binario real instalado sigue siendo,/sbin/initpor lo tanto, no tendría sentido que su configuración tenga un nombre que no coincida con el binario.fuente
rules.d, Xorg es relativamente recientexorg.conf.d, no demasiado viejo,/etc/profile.detc.