Diferencia entre revisiones de «Niveles de Arranque»

De CURE - Informática
Saltar a: navegación, buscar
(Agregar un nuevo servicio)
m
 
(No se muestran 2 ediciones intermedias de otro usuario)
Línea 1: Línea 1:
=== Niveles de Arranque ===
+
== Objetivos ==
 +
 
 +
Conocer los niveles del sistema, y saber como crear y quitar un servicio.
 +
 
 +
== Software ==
 +
 
 +
No es necesario instalar nigun paquete adicional para acceder a los niveles de arranque, como tampoco es necesario hacerlo para agregar o quitar servicios.
 +
 
 +
== Conceptos y comandos ==
  
 
Los pasos del arranque del sistema son: BIOS, gestor de arranque, kernel, proceso init, runlevels (niveles de arranque)
 
Los pasos del arranque del sistema son: BIOS, gestor de arranque, kernel, proceso init, runlevels (niveles de arranque)
Línea 13: Línea 21:
 
Los script que manejan los inicios y detenciones de los servicios están en el directorio /etc/init.d, desde los directorios /etc/rcX.d, donde X representa el nivel de arranque, hay enlaces simbólicos a estos script para iniciar o detener los servicios.
 
Los script que manejan los inicios y detenciones de los servicios están en el directorio /etc/init.d, desde los directorios /etc/rcX.d, donde X representa el nivel de arranque, hay enlaces simbólicos a estos script para iniciar o detener los servicios.
  
Ej:
 
K80openvpn -> K detiene el servicio openvpn cuando se ingresa a este nivel, 80 es el orden en el que se ejecutará el script
 
S70pppd-dns -> S inicia el servicio pppd-dns cuando se ingresa a este nivel, 70 es el orden en el que se ejecutará el script
 
  
 +
A continuación mostramos un ejemplo de como detener un servicio y como iniciarlo:
  
runlevel -> nos muestra el nivel en el que estamos, la N quiere decir que no se ha cambiado el nivel desde el inicio del sistema, sino nos muestra el nivel en el que estábamos antes
 
  
init 3 -> para cambiar al nivel 3
+
'''K80openvpn''' -> K detiene el servicio openvpn cuando se ingresa a este nivel, 80 es el orden en el que se ejecutará el script.
telinit 3 -> para cambiar al nivel 3
 
  
 +
'''S70pppd-dns''' -> S inicia el servicio pppd-dns cuando se ingresa a este nivel, 70 es el orden en el que se ejecutará el script.
  
== Agregar un nuevo servicio ==
+
 
 +
Los siguientes comandos nos muestran en que nivel de arranque nos encontramos y como cambiar el mismo:
 +
 
 +
 
 +
'''runlevel''' -> nos muestra el nivel en el que estamos, la N quiere decir que no se ha cambiado el nivel desde el inicio del sistema, sino nos muestra el nivel en el que estábamos antes
 +
 
 +
'''init 3''' -> para cambiar al nivel 3
 +
 
 +
'''telinit 3''' -> para cambiar al nivel 3
 +
 
 +
 
 +
== Procedimientos ==
 +
 
 +
 
 +
=== Agregar un nuevo servicio ===
  
  
Línea 34: Línea 53:
 
Se pueden agregar otros scripts a los ya existentes en /etc/init.d, pero hay que mantener el formato de los mismos. Para que cada uno de los scripts pueda ser ejecutado como script de arranque o de parada, estos tienen que admitir los dos parámetros start y stop. Aparte de estos dos parámetros, los scripts son capaces de procesar las opciones restart, reload, force-reload y status. Puede obtener información referente al formato, asignación de nombres y organización de los scripts init en el diseño del LSB así como en las páginas del manual de init, init.d e insserv. Las páginas del manual de startproc y killproc también le serán de gran ayuda. Si desea crear un script init para un programa o servicio (service) propio, puede utilizar el archivo /etc/init.d/skeleton como plantilla. Guarde este archivo bajo un nombre nuevo y edite los nombres de programas o archivos y las rutas. Dado el caso también puede añadir al script nuevos componentes propios que sean necesarios para ejecutar correctamente el comando de inicio.
 
Se pueden agregar otros scripts a los ya existentes en /etc/init.d, pero hay que mantener el formato de los mismos. Para que cada uno de los scripts pueda ser ejecutado como script de arranque o de parada, estos tienen que admitir los dos parámetros start y stop. Aparte de estos dos parámetros, los scripts son capaces de procesar las opciones restart, reload, force-reload y status. Puede obtener información referente al formato, asignación de nombres y organización de los scripts init en el diseño del LSB así como en las páginas del manual de init, init.d e insserv. Las páginas del manual de startproc y killproc también le serán de gran ayuda. Si desea crear un script init para un programa o servicio (service) propio, puede utilizar el archivo /etc/init.d/skeleton como plantilla. Guarde este archivo bajo un nombre nuevo y edite los nombres de programas o archivos y las rutas. Dado el caso también puede añadir al script nuevos componentes propios que sean necesarios para ejecutar correctamente el comando de inicio.
  
== Quitar un servicio ==
+
=== Quitar un servicio ===
  
  
Línea 44: Línea 63:
  
 
  #service <script> start|stop|restart|reload|status
 
  #service <script> start|stop|restart|reload|status
 +
 +
== Verificación ==
 +
 +
Para verificar si un script fue removido correctamente basta con chequear si se encuentra el mismo en la carpeta /etc/init.d para esto ejecutaremos el comando '''ls /etc/init.d'''
 +
 +
== Notas Adicionales ==
  
 
El comando shutdown apaga el sistema de forma ordenada, tiene opciones como -r que en vez de apagar el sistema lo reinicia (igual que el comando reboot). Mientras tanto el comando halt detiene directamente el sistema de manera forzosa.
 
El comando shutdown apaga el sistema de forma ordenada, tiene opciones como -r que en vez de apagar el sistema lo reinicia (igual que el comando reboot). Mientras tanto el comando halt detiene directamente el sistema de manera forzosa.
Línea 58: Línea 83:
  
 
http://www.cez.com.pe/Linux/manual%20suse%20linux%209.1/suselinux-adminguide_es/html/ch12s04.html
 
http://www.cez.com.pe/Linux/manual%20suse%20linux%209.1/suselinux-adminguide_es/html/ch12s04.html
 +
 +
[[Category:Descontinuadas]]

Revisión actual del 14:04 14 ene 2022

Objetivos

Conocer los niveles del sistema, y saber como crear y quitar un servicio.

Software

No es necesario instalar nigun paquete adicional para acceder a los niveles de arranque, como tampoco es necesario hacerlo para agregar o quitar servicios.

Conceptos y comandos

Los pasos del arranque del sistema son: BIOS, gestor de arranque, kernel, proceso init, runlevels (niveles de arranque)

Los niveles de arranque son:

  • 0 System Halt
  • 1 Single user
  • 2 Full multi-user mode (Default)
  • 3-5 Same as 2
  • 6 System Reboot

Los script que manejan los inicios y detenciones de los servicios están en el directorio /etc/init.d, desde los directorios /etc/rcX.d, donde X representa el nivel de arranque, hay enlaces simbólicos a estos script para iniciar o detener los servicios.


A continuación mostramos un ejemplo de como detener un servicio y como iniciarlo:


K80openvpn -> K detiene el servicio openvpn cuando se ingresa a este nivel, 80 es el orden en el que se ejecutará el script.

S70pppd-dns -> S inicia el servicio pppd-dns cuando se ingresa a este nivel, 70 es el orden en el que se ejecutará el script.


Los siguientes comandos nos muestran en que nivel de arranque nos encontramos y como cambiar el mismo:


runlevel -> nos muestra el nivel en el que estamos, la N quiere decir que no se ha cambiado el nivel desde el inicio del sistema, sino nos muestra el nivel en el que estábamos antes

init 3 -> para cambiar al nivel 3

telinit 3 -> para cambiar al nivel 3


Procedimientos

Agregar un nuevo servicio

Solo se debe agregar un nuevo servicio a la secuencia de inicio si el script existe en /etc/init.d. En este caso el comando para instalar un script en el inicio por defecto es:

#update-rc.d <script> defaults

siendo default el nivel de arranque por defecto. Ver manual de update-rc.d por más opciones para este comando. Se pueden agregar otros scripts a los ya existentes en /etc/init.d, pero hay que mantener el formato de los mismos. Para que cada uno de los scripts pueda ser ejecutado como script de arranque o de parada, estos tienen que admitir los dos parámetros start y stop. Aparte de estos dos parámetros, los scripts son capaces de procesar las opciones restart, reload, force-reload y status. Puede obtener información referente al formato, asignación de nombres y organización de los scripts init en el diseño del LSB así como en las páginas del manual de init, init.d e insserv. Las páginas del manual de startproc y killproc también le serán de gran ayuda. Si desea crear un script init para un programa o servicio (service) propio, puede utilizar el archivo /etc/init.d/skeleton como plantilla. Guarde este archivo bajo un nombre nuevo y edite los nombres de programas o archivos y las rutas. Dado el caso también puede añadir al script nuevos componentes propios que sean necesarios para ejecutar correctamente el comando de inicio.

Quitar un servicio

Un servicio solo podrá ser removido después que el script en /etc/init.d haya sido eliminado. Si es así, el siguiente comando eliminará las referencias

#update-rc.d <script> remove

Mediante el comando service se invocan los script contenidos en /etc/init.d

#service <script> start|stop|restart|reload|status

Verificación

Para verificar si un script fue removido correctamente basta con chequear si se encuentra el mismo en la carpeta /etc/init.d para esto ejecutaremos el comando ls /etc/init.d

Notas Adicionales

El comando shutdown apaga el sistema de forma ordenada, tiene opciones como -r que en vez de apagar el sistema lo reinicia (igual que el comando reboot). Mientras tanto el comando halt detiene directamente el sistema de manera forzosa.

Para cambiar el nivel de arranque por defecto hay que editar el archivo /etc/init/rc-sysinit.conf, y ahí cambiar por ejemplo 2 por 3: env DEFAULT_RUNLEVEL=3

Si se tiene interfaz gráfica se puede usar Boot-Up Manager (BUM), que es un editor gráfico de niveles de ejecución


Referencias

http://www.debianadmin.com/debian-and-ubuntu-linux-run-levels.html

http://www.cez.com.pe/Linux/manual%20suse%20linux%209.1/suselinux-adminguide_es/html/ch12s04.html