arranque: (0.05) (slink)(potato) Arranque de LINUX (DEBIAN 2.1, 2.2) y donde poner tus scripts CAMBIOS: 0.04 3.9.00 +variables de entorno de usuario 0.05 1.10.00 +anacron y cron.daily 0.06 21.9.02 ~/.bash_profile solo en tty1, ~/.bashrc solo al abrir terminal X 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 (login) en modo texto en tty1, tty2, etc... pero NO al abrir terminales X... 1) ~/.bash_profile (si el usuario utiliza el interprete de comandos "bash") En los shells que no son creados por el proceso login... (terminal en las X) 1) ~/.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 VARIABLES DE ENTORNO DE USUARIO: variable terminal cron su - usuario2 la establece -------- -------- ---- ------------- ------------ $LOGNAME usuario root usuario2 login $USER usuario - usuario2 ? $USERNAME usuario - - ? $HOME /home/usuario /root /home/usuario2 login