System V init, llamado normalmente SysV init o sysvinit, es un diseño tradicional de PID 1 e inicio de servicios. Sigue siendo importante en sistemas heredados y mediante scripts de compatibilidad, pero la presencia de archivos de estilo SysV no demuestra que sysvinit sea el PID 1 en ejecución.
Init · Lección 1
Visión general de System V
Aprende cómo el init tradicional de System V utiliza niveles de ejecución y enlaces ordenados a scripts de servicios.
Identificar el sistema init activo
Examina el PID 1 activo:
$ ps -p 1 -o pid,comm,args=
$ readlink /proc/1/exe
Un archivo /etc/inittab o un directorio /etc/init.d/ es solo una prueba auxiliar. systemd y otros sistemas pueden conservar estos archivos por compatibilidad, y los contenedores pueden mostrar un espacio de nombres de PID distinto del anfitrión.
¿Cuál es la prueba más sólida de que sysvinit está activo?
Niveles de ejecución
Un nivel de ejecución es un modo de funcionamiento numérico con nombre. Las configuraciones de SysV utilizan tradicionalmente los niveles 0 a 6 más niveles especiales, pero sus significados son una política de la distribución, no una ley universal. Entre las convenciones habituales se encuentran:
0: transición de detención o apagado1oS: modo monousuario o de rescate2a5: modos multiusuario definidos por la distribución6: transición de reinicio
Los sistemas de la familia Debian han tratado históricamente los niveles 2–5 de forma parecida, mientras que las convenciones de la familia Red Hat distinguen modos de texto y gráficos. Examina /etc/inittab, la documentación de init y los directorios de niveles en el equipo real.
¿Qué nivel solicita convencionalmente detener o apagar en muchos sistemas SysV?
Scripts init y enlaces de niveles
Los scripts de servicios suelen residir bajo /etc/init.d/. Los directorios de niveles como /etc/rc2.d/ o /etc/rc.d/rc2.d/ contienen enlaces cuyos nombres codifican la acción y el orden de la transición:
- Los enlaces
SNNnamesolicitan una acción de inicio. - Los enlaces
KNNnamesolicitan una acción de detención. NNproporciona el orden lexicográfico entre enlaces de esa transición.
El algoritmo y los directorios exactos varían. Las dependencias también pueden expresarse en las cabeceras de los scripts y procesarse mediante herramientas de la distribución, y algunas implementaciones paralelizan el trabajo. SysV no debe reducirse a la garantía de que todos los servicios se inicien estrictamente de uno en uno.
¿Qué solicita convencionalmente un enlace S20networking al entrar en un nivel?
Transiciones entre niveles
Cuando init cambia de nivel, la maquinaria rc de la distribución detiene los servicios que ya no se necesitan e inicia los necesarios en el nuevo modo. Los scripts deben ser suficientemente idempotentes para admitir operaciones repetidas de estado o transición y devolver estados significativos.
Solicitar los niveles 0 o 6 es una acción destructiva para la disponibilidad de todo el sistema. Utiliza la interfaz de apagado, avisa a los usuarios, conserva el trabajo activo y verifica el acceso remoto a consola en vez de invocar casualmente transiciones init sin intermediarios.
¿Qué solicita convencionalmente el nivel 6?
Límites de la compatibilidad
En un equipo con systemd, los scripts SysV pueden envolverse como unidades generadas, pero siguen aplicándose las dependencias, los tiempos de espera, el registro y la semántica de estado de systemd. Ejecutar directamente un script heredado puede eludir el seguimiento del gestor de servicios. Identifica el gestor activo y utiliza su interfaz nativa cuando sea posible.
¿Por qué debe invocarse normalmente un script de estilo SysV de un equipo systemd mediante el gestor de servicios?
Lección completada
Has completado Visión general de System V
Ahora puedes interpretar un diseño SysV tradicional sin suponer que esté activo.
Identifica el PID 1 activo antes de elegir órdenes de init.
Trata los significados de los niveles como convenciones definidas por la distribución.
Lee
S,Ky el orden numérico de los enlaces de niveles.Utiliza procedimientos controlados de apagado para los niveles 0 y 6.
Respeta el gestor activo cuando existan scripts de compatibilidad.
Guarda tu progreso
Crea una cuenta gratuita para guardar esta lección y continuar en cualquier dispositivo.
Crear una cuenta gratuita