Proceso de arranque de Debian y donde poner tus scripts

Manel Marín

22 de febrero de 2001

Orden de ejecución de scripts de arranque

  1. /etc/init.d/rcS (llamado desde /etc/inittab, init es el primer proceso ejecutado)

  2. Scripts como /etc/rcS.d/S?? (*) (se ejecutan desde /etc/init.d/rcS)

    • Después de S40... drivers, red y sistemas de archivos están disponibles...

    • Después de S60... el reloj está en hora y NFS está disponible...

  3. Scripts en /etc/rc.boot/

  4. Diferente en diferentes distribuciones de Debian:

    • slink: Script /root/setup.sh (si existe)

    • potato: Script /sbin/setup.sh (si existe)

  5. Scripts del "runlevel" especificado como "initdefault" en /etc/inittab Por defecto en Debian es el "2", (es diferente al entrar en modo monousuario). Por tanto todos los scripts de: /etc/rc2d/ (*) -> En este momento es cuando se lanzan todos los demonios y servidores

(*) Estos archivos son enlaces simbólicos ("accesos directos") a los scripts de verdad que están en /etc/init.d

Scripts anacron-cron en el arranque

Si tu sistema no está encendido 24 horas al dia debes instalar el paquete anacron que se encarga de lanzar unos minutos después de encender el PC (y una sola vez al dia) los scripts en:

Si tu sistema está 24 horas al dia encendido estos scripts los lanzará cron.

Scripts al entrar como usuario

  1. Al entrar como usuario y en cada ventana X que se abre: ~/.bash_profile (si el usuario utiliza el interprete de comandos bash)

  2. En los shells que no son creados por el proceso login: ~/.bashrc (si el usuario utiliza el interprete de comandos bash)

  3. Mensajes de inicio de Linux

Después de arrancar, el núcleo muestra el contenido de:

  1. En el directorio /etc/rc.boot/ ATENCION: El arranque no continúa hasta que el script finaliza

  2. En el directorio /etc/cron.dailycron.weekly, ó cron.monthly)

  3. Integrado en los "runlevel" Puede que quieras que se ejecute cuando arrancas en modo multiusuario y no cuando arrancas en modo "single".

    1. Colocas el script en el directorio /etc/init.d/

    2. Ejecutas "update-rc.d nombre-de-tu-script defaults 95"

      • Esto crea automáticamente los "symlink Start" (S95...) y "Kill" (K95...) en todos los runlevel (/etc/rcX.d)

      • El 95 es el orden relativo de ejecución de tu script. Deberías mirar los otros scripts para decidir cuando (orden) se debe lanzar el tuyo. Más ayuda: man update-rc.d

  4. En inittab. Para conseguir que un script esté siempre en ejecución y sea auto-arrancado cada vez que finaliza o es asesinado (kill) llamarlo desde /etc/inittab con respawn

    # MONITORIZAR PERMANENTEMENTE ALGO
    fw:23:respawn:/usr/local/bin/monitor-de-algo
    

NOTA: No olvidar obligar a init a releer el archivo de configuración

Más ayuda: "man init", "man inittab"




Página creada en: 2004-11-04 11:40:57 +0000
© Copyright 2001, 2002, 2003, 2004, La Espiral, debian-laespiral@lists.debian.org
Permitida la copia y distribución textual, integral, siempre y cuando se mantenga este aviso.