Proceso de arranque de Debian Potato y donde poner tus scripts


Manel Marin.

22 de febrero de 2001
Nivel: medio
Sistema: linux
Arquitectura: i386
Distribución: potato
Sección: administracion
Función: uso


ORDEN DE EJECUCION DE SCRIPTS DE ARRANQUE:

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

2) Scripts como /etc/rcS.d/S??* (*) (se ejecutan desde /etc/init.d/rcS)
   - Despues de S40... drivers, red y sistemas de archivos están
     disponibles...
   - Despues de S60... el reloj está en hora y NFS está disponible...

3) Scripts en /etc/rc.boot/

4)
   - (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 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:
    - /etc/cron.daily,
    - /etc/cron.weekly
    - /etc/cron.monthly

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



SCRIPTS AL ENTRAR COMO USUARIO:

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

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



MENSAJES DE INICIO DE LINUX: Mirar:
  - /etc/motd
  - /etc/issue
  - /etc/issue.net (codigos de control en "man console_codes")



DONDE PONER TUS SCRIPTS (orden recomendado):

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

2) En el directorio /etc/cron.daily (ó cron.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".

        a) Colocas el script en el directorio /etc/init.d/
        b) 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.
           Deberias mirar los otros scripts para decicir cuando (orden)
           lanzas el tuyo...

        MAS AYUDA: man update-rc.d


4) EN INITTAB Para conseguir que un script esté siempre en ejecución y
   sea autoarrancado 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
        - "telinit q" (q de queso), "telinit Q" (Q de QUESO), o...
        - Apagando y encendiendo a lo Guindous :-)

        MAS AYUDA: man init, man inittab

© 2001, La Espiral.