Donde configuro para ejecutar un comando al inicio?


  • 0

    Ya se que es una tontería soberana pero es algo tan simple que no he hallado ninguna respuesta clara. Así pues, la pregunta es la de la rama, creo que los tiros andan por un archivo llamado rc en /etc pero no estoy seguro.

    Es para iniciar un demonio al arrancar el ordenata ;)



  • 1

    A ver, como tu dices, es sencillo, pero a veces no esta muy claro :) El sistema de inicio de linux usa unos "niveles". Si entras en /etc podrás ver varios directorios: rc.boot, init.d, rc1, rc2, etc. En init.d se guardan los scripts en si, tendras un inetd, xdm/gdm/kdm (depende d lo q uses) etc, que sirven para iniciar todos los servicios del sistema en el arranque.

    Pero eso son solo los scripts en si, y nunca se llaman directamente desd /etc/init.d/, sino que lo que se hace es enlaces desd los diferentes niveles (rc1, rc2…) de forma que, dentro de rc3 tienes unos enlaces simbólicos al fichero en /etc/init.d, y cuando se inicie en el nivel rc3 se llamara a todos esos scripts. Bueno, un poco mas de rollo y ya te explico lo que quieres ;)

    Cuando se inicia en el nivel 3 por ejemplo, el sistema entra en /etc/rc3.d, y ejecuta por orden los diferentes scripts que tenga (realmente, enlaces a init.d) y el orden lo sabe por el nombre del fichero, que es Sxx donde xx es un numero de 10 a 99 generalmente. Empieza a ejecutar los de S mas bajo (S10 y sigue hasta el 99 ascendiendo).

    Vale, pues despues de este coñazo, explicarte un poco como hacerlo. Esto tienes que hacerlo para que inicie automáticamente sin que ningun usuario tenga que abrir sesión. Se trata de hacer un pequeño script (no tienes xk hacerlo, pilla uno de los que ya tienes en init.d y modificalo ;) ) que tenga un start/stop/restart/force-reload. Mirate un poco uno de los que ya hay, y cambialo, si tienes problemas ponlo por aquí y te ayudamos. Puedes buscar un poco mas sobre esto en el Debian Policy Manual, capítulo 10.3. Cuando tengas el script acabado, pruebalo, y ponlo en el nivel que tengas puesto por defecto en el inicio (en /etc/inittab lo puedes mirar). Para probarlo, simplemente pon /etc/init.d/nombre_script start y luego stop

    Esta es la explicación larga, para automatizar el inicio, si alguien sabe la corta (y fácil) que la habrá, que la ponga :confused: De todas formas, que demonio es? no trae script de inicio ya hecho?



  • 2

    La explicacion de david_liz es muy completa y está bien argumentada, pero eso solo te funcionaria si arrancases en init3 y si usaras una distribucion desas baratas. :p
    De forma generica en todos los linux, puedes encontrar el archivo rc.local dentro de /etc/rc.d/ donde puedes configurar los servicios que quieres que se te lanzen al principio sin necesidad de script. Así por ejemplo, en el caso de que quisieras lanzar un proftpd, te bastaria con escribir lo siguiente dentro del rc.local:

    proftpd

    echo "Lanzando el Servidor de FTP: /usr/local/sbin/proftpd"
    /usr/local/sbin/proftpd

    Ale, ya tienes las dos opciones, ahora puedes usar la explicacion que mas te guste, la de david_liz o la mia :)



  • 3

    Hombre, la explicación de david_liz es pata negra y posiblemente me servirá por si más adelante quiero hacer cosas más complicadas. Finalmente he comprendido el tema con la de Orko :)

    Por cierto, sabéis cual es el código para colorear el texto del inicio? Creo que era algo parecido a los colores del mirc, pero no he encontrado ninguna referencia, sabéis algo?

    Muchas gracias a los dos ;)





Has perdido la conexión. Reconectando a Hardlimit.