Herramientas de usuario

Herramientas del sitio


informatica:certificaciones:lpic:lpic-2:202_system_startup:202.1

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:certificaciones:lpic:lpic-2:202_system_startup:202.1 [2021/04/05 13:45] – [Systemd] tempwininformatica:certificaciones:lpic:lpic-2:202_system_startup:202.1 [2021/05/20 11:49] (actual) tempwin
Línea 1: Línea 1:
 ======  202.1 Customizing SysV-init system startup ====== ======  202.1 Customizing SysV-init system startup ======
 +
 +Perteneciente a [[informatica:certificaciones:lpic:lpic-2:202_system_startup|LPI Topic 202: System Startup]]
  
   * **Weight**: 3   * **Weight**: 3
Línea 8: Línea 10:
     * Linux Standard Base Specification (LSB)     * Linux Standard Base Specification (LSB)
   * Terms and Utilities:   * Terms and Utilities:
-    * /usr/lib/systemd/ +    * ''/usr/lib/systemd/'' 
-    * /etc/systemd/ +    * ''/etc/systemd/'' 
-    * /run/systemd/ +    * ''/run/systemd/'' 
-    * systemctl+    * ''systemctl''
     * systemd-delta     * systemd-delta
-    * /etc/inittab +    * ''/etc/inittab'' 
-    * /etc/init.d/ +    * ''/etc/init.d/'' 
-    * /etc/rc.d/ +    * ''/etc/rc.d/'' 
-    * chkconfig +    * ''chkconfig'' 
-    * update-rc.d +    * ''update-rc.d'' 
-    * init and telinit+    * ''init'' and ''telinit''
  
 GRUB es el cargador de arranque estándar actual. GRUB es el cargador de arranque estándar actual.
Línea 60: Línea 62:
 </code> </code>
  
-Muestra el runlevel anterior y el actual. Para el ejemplo anterior: N = niguno; actual es 5.+Muestra el runlevel anterior y el actual. Para el ejemplo anterior: N = ninguno; actual es 5.
  
 Para cambiar el nivel de ejecución del sistema podemos usar los comandos ''init'' o ''telinit'': Para cambiar el nivel de ejecución del sistema podemos usar los comandos ''init'' o ''telinit'':
Línea 120: Línea 122:
 Acciones válidas: Acciones válidas:
  
-  * **initdefault**: define el nivel de ejecución pro defecto del sistema.+  * **initdefault**: define el nivel de ejecución por defecto del sistema.
   * **sysinit**: ejecuta el script en el arranque del sistema, independientemente del nivel de ejecución.   * **sysinit**: ejecuta el script en el arranque del sistema, independientemente del nivel de ejecución.
   * **wait**: ejecuta el comando indicado y espera su ejecución para pasar a la siguiente línea.   * **wait**: ejecuta el comando indicado y espera su ejecución para pasar a la siguiente línea.
Línea 165: Línea 167:
  
 <code> <code>
-chkconfig [--level <NIVEL>--add <servicio> <on|off>+chkconfig [--level <NIVEL>] <servicio> <on|off>
 </code> </code>
 +
 +<WRAP center round info 60%>
 +''chkconfig'' es el comando para comprobar y actualizar la información de runlevel para los servicios de sistema en Red Hat y CentOS. En sistemas Debian usaríamos ''update-rc.d''
 +</WRAP>
  
 Ejemplo: Ejemplo:
Línea 224: Línea 230:
 En la actualidad, los sistemas Linux están pasando de utlizar el sistema de gestión de servicios SysV al nuevo systemd. El primer proceso que arranca se llama ''systemd'', aunque muchas veces se "enmascara" como ''init''. En la actualidad, los sistemas Linux están pasando de utlizar el sistema de gestión de servicios SysV al nuevo systemd. El primer proceso que arranca se llama ''systemd'', aunque muchas veces se "enmascara" como ''init''.
  
-En vez de utilizar scripts y runlevels, utiliza **unidades** y **targets**, siendo los targets un tipo especial de unidad. Cada target lo que hace es llamar a otras unidades (algo parecido a lo que hace un runlevel), generalmente targets y servicios, siguiendo una cadena de dependiencias.+En vez de utilizar scripts y runlevels, utiliza **unidades** y **targets**, siendo los targets un tipo especial de unidad. Cada target lo que hace es llamar a otras unidades, generalmente targets y servicios, siguiendo una cadena de dependiencias.
  
-Las unidades son ficheros que realizan ciertas funciones.+Haciendo una analogía con SysV, podemos decir: 
 + 
 +  * script = unidad 
 +  * target = runlevel
  
 Cada archivo de configuración tiene una extensión que especifica qué tipo de unidad es (''multi-user.target'', ''cron.service''...) Cada archivo de configuración tiene una extensión que especifica qué tipo de unidad es (''multi-user.target'', ''cron.service''...)
 +
 +==== Targets ====
 +
 +Los targets funcionan como estados del sistema, similares a los runlevels
 +
 +  * multi-user.target ~ runlevel 2, 3 o 4
 +  * graphical.target ~ runlevel 5
 +  * rescue.target ~ runlevel 1
 +  * poweroff.target ~ runlevel 0
 +  * reboot.target ~ runlevel 6
 +
 +
 +  * Para conocer el target por defecto: ''systemctl get-default''
 +  * Para cambiar de target: ''systemctl isolate multi-user.target''
 +  * Para cambiar el target por defecto: ''systemctl set-default <TARGET>''
 +  * Para ver todos los disponibles: ''systemctl list-unit-files --type=target''
 +
 +==== Configuración ====
 +
 +Los archivos de configuración se almacenan en la ruta ''/lib/systemd/system''.
 +
 +Podemos crear archivos de configuración personalizados, copiando y modificando los que están en la ruta anterior y guardándolos en ''/etc/systemd/system''.
 +
 +<WRAP center round important 60%>
 +Nunca se deben alterar los ficheros de ''/lib/systemd/system''
 +</WRAP>
 +
 +Los ficheros almacenados en ''/etc/systemd/system'' tienen prioridad sobre los otros. Existe otra ruta que tiene aún mayor prioridad que es ''/run/systemd/system'', pero los archivos en esta ruta se borran al reiniciar el sistema.
 +
 +==== Gestionar servicios ====
 +
 +Con la herramienta ''systemctl'' también podemos habilitar y deshabilitar servicios:
 +
 +  * Habilitar:: ''systemctl enable <SERVICIO>''
 +  * Comprobar si está habilitado: ''systemctl is-enabled <SERVICIO>''
 +  * Deshabilitar: ''systemctl disable <SERVICIO>''
 +  * Detener: ''systemctl stop <SERVICIO>''
 +  * Arrancar: ''systemctl start <SERVICIO>''
 +  * Estado: ''systemctl status <SERVICIO>''
 +
 ===== Tests ===== ===== Tests =====
  
Línea 238: Línea 287:
  
   * ''chmod 700 /usr/local/bin/startup.sh; cd /etc/init.d/rc3.d/; ln -s /usr/local/bin/startup.sh S99startup.sh''   * ''chmod 700 /usr/local/bin/startup.sh; cd /etc/init.d/rc3.d/; ln -s /usr/local/bin/startup.sh S99startup.sh''
 +
 +¿Qué comando arrancaría el servicio del servidor web Apache (httpd) en un CentOS 6 con SysVinit?
 +
 +  * ''service httpd start''
informatica/certificaciones/lpic/lpic-2/202_system_startup/202.1.1617623121.txt.gz · Última modificación: por tempwin