martes, 1 de noviembre de 2011

Niveles de ejecución en núcleos UNIX (Init)

En la mayoría de distribuciones basadas en el núcleo UNIX, así como los distintos sistemas operativos derivados, comparten entre sí la complicidad de ser sistemas multiusuario y multitarea. Dicha función también radica en que tienen el mismo proceso de carga de núcleo y sistema.

Dicho sistema de arranque puede ser alterable.

Los sistemas UNIX ofrecen varios niveles de ejecución de Kernel o INIT. Éstos niveles, también llamados Runlevel, ayudan a que un usuario elija qué nivel quiere iniciar: Si solo quiere interfaz gráfica, o línea de comandos, o quiere iniciar la línea de comandos con unos determinados servicios, o la interfaz gráfica con todo completo.

Los niveles básicos de ejecución (y los más extendidos) de un kernel Linux/UNIX son:

  • 0 : Nivel HALT. Es el nivel de apagado del sistema
  • 1 : Nivel monousuario. Se realiza para tareas de mantenimiento del ordenador.
  • 2 : Nivel multiusuario sin soporte de red, por línea de comandos.
  • 3 : Nivel multiusuario con soporte de red, por línea de comandos.
  • 4 : Nivel no ocupado. 
  • 5 : Multiusuario gráfico con soporte de red. Es el nivel 3 añadiéndole el Display o X-Server.
  • 6 : Nivel REBOOT. Reinicio del sistema.

    PD: Estos niveles pueden ser diferentes dependiendo de la distribución que se use. Éstos, por ejemplo, son los más extendidos en Red Hat, CentOS, Fedora, Ubuntu.
Los niveles de ejecución albergan también los servicios que ejecuta cada determinado INIT. Es posible que en el nivel 5 tengamos un servicio que no se ejecute en el nivel 3. Todo ello es configurable con el comando chkconfig. Con este método, podemos hacer un uso más selectivo de la memoria dependiendo del runlevel.

Existen dos métodos posibles para iniciar un runlevel en un sistema UNIX: Antes de la ejecución del Kernel o después.

(Probado en CentOS las siguientes variables. Confirmaré cuando tenga datos de otros sistemas operativos y sus variables)

  •  Antes del inicio del Kernel: Se modifica la línea de Grub del Kernel. Si por ejemplo la línea del Grub correspondiente al Kernel es tal como:

    Grub > Kernel (Línea de iniciación del Kernel) Número de init a iniciar

    Ejemplo
    para iniciar el nivel 3

    Grub > Kernel (Línea de iniciación del Kernel) 3

    Éste método viene mejor para el nivel 1. Así, por ejemplo, si perdiéramos la contraseña del sistema, cambiado el nivel de ejecución podríamos asignarle una nueva sin pérdida de datos

  •  Después del inicio del Kernel: Una vez iniciado el sistema, sea en cual sea el tipo de inicio que se le haya transmitido, en una línea de comandos escribimos como superuser

    # init (nivel de ejecución)
Hemos aprendido a hacer que un runlevel nos funcione en el sistema de una forma fácil e intuitiva, pero con una pequeña pega: Los anteriores ejemplos solo sirven para ése inicio, con lo que el cambio de init es solo temporal. Una vez el ordenador reinicie seguirá ejecutándose en el predeterminado del sistema. Para cambiar este parámetro y, por ejemplo, ejecutar siempre la línea de comandos o cualquier otro nivel:

(Sistemas CentOS)
  • Entramos como superuser en el sistema
  • En la carpeta /etc, buscamos el archivo Inittab
  • Con Vim, Nano o cualquier otro editor de texto, Modificamos la línea por defecto.
    # Default runlevel.
    id:X:initdefault:

    Donde X es el número de init a arrancar.
  • Guardamos. Una vez reiniciemos el sistema, arrancará en el INIT que hayamos pedido como predeterminado.
(Sistemas Ubuntu)

  • Entramos como superuser en el sistema
  • En la caperta /etc/init, buscamos el archivo gdm.conf
  • Con Vim, Nano o cualquier editor de texto, Añadimos después de la línea "start on", en los paréntesis, runlevel [3], debiendo quedar algo tal como

    start on (runlevel [3] ...).

    Si queremos deshabilitar por completo el entorno, en vez del anterior, agregamos el siguiente

    start on (runlevel [ ] ... )
  • Guardamos y reiniciamos el ordenador. 
Nota: Antes de modificar cualquier fichero de éste tipo, debemos hacer previa copia de seguridad, para por si acaso fallase y podamos tener un fichero de restauración del sistema.
    Fuente:
    Experiencia realizada en clase.
    Wikipedia y su sabiduría

      No hay comentarios:

      Publicar un comentario

      Comenta si te gustó la entrada, algún error que tenga, o simplemente entra a debatir si tienes algún problema, pues recuerda que aquí todo es posible y nada es seguro (Y a lo mejor a mí se me ha podido ir la pinza y escribir algo mal)

      Por favor, sé conciso y ten buena escritura, que aquí no se cobra por letras ni palabras a usar. Los comentarios estilo HOYGAN o descalificativos no serán publicados.