Cargar un script al iniciar linux

Buenas

Resulta que me gustaria que al iniciarse linux se ejecutase automagicamente un script pero por mas vueltas que le doy no consigo averiguar como se hace.

He visto algo de los runlevel, de los /etc/init.d/, /etc/rcX.d/, /etc/rc.boot/, etc.. y el comando update-rc.d, pero no se como [sati] (demonios) hacer que se me cargue el script al entrar en linux.

He hecho una busqueda en el foro y lo mas que he visto ha sido que es cada runlevel (by escufi ;)), y googleando he dado vueltas y mas vueltas y no consigo encontrar como se hace

¿algun alma caritativa se ofrece a ayudar a este pobre ingorante?


Saludos! [bye]
Es facil amigo, si NO usas debian, solo tienes que editar el /etc/rc.local y meter dentro de ese script la llamada al otro script o directamente meter el codigo del script ahi.

Si usas DEBIAN, tienes que crear un script en /etc/init.d/ supongamos que creas el script raulex en /etc/init.d/raulex, como tu sabes cuando linux arranca va leyendo todos los /etc/rcX.d/ donde cada X es el numero de run level.

Dentro de algun rcX.d tienes que meter un link simbolico hacia el script raulex con una S si quieres que inicie el script o con una K si quieres que termine.

En debian se arranca casi siempre en runlevel2 entonces para que se ejecute tu script al inicio tendrias que meter lo siguiente en el /etc/rc2.d

ln -sf /etc/init.d/raulex /etc/rc2.d/S99raulex

El numero luego de la S le da el orden de ejecucion, si tienes numero mas bajo se ejecutara primero.


Todo lo que te explique para Debian se aplica tambien para todas las demas distros y es la base del inicio de sistemas tipo unix systemV

salu2[bye]

PD: te puedes hacer tu propio rc.local en debian haciendo lo que te explique. ;)
[tadoramo] [tadoramo] [tadoramo]


ESE SERGIOX DE MODA!!!!


Ya podia estar yo como un capullo con el script en /etc/init.d esperando que se iniciase solo :(.

Muy buena la explicacion. ¿Porque no habre encontrado NINGUN sitio donde lo explicase asi?

¿Porque sergiox sabe mas de linux que tux? XD

Ya me has sacado de varios marrones, en serio que eres mi sensei ;).

¿Usaria linux ahora mismo sin la ayuda de este hombre y de otros?. No se porque pero lo dudo [mad]



Mil gracias de nuevo tio, saludos! [bye]



PD: Le puse un echo para ver cuando empezaba el script y le añadi "-> by sergiox" ;)
[ayay] [ayay] [ayay]

No seas exgerado. [+risas]

En fin, me alegro de que te haya servido el tip. ;)

salu2[bye]
Quien no quiera armarse líos con los runlevels y demás puede utilizar el paquete rcconf para activar o desactivar los scripts de /etc/init.d/ que quieres que arranquen o no al inicio, no es tan potente como el ckconfig de redhat pero viene bien para salir del paso...
raulex, creo que usas gentoo si no recuerdo mal. Gentoo tiene ya preparado un script para estas pijadillas. Solo tienes que meter en /etc/conf.d/local.start todo lo que quieras ejecutar al arrancar y en /etc/conf.d/local.stop todo lo que quieras ejecutar antes de apagar el sistema
Si prefieres hacer un script independiente creo que lo que te han explicado te sirve, pero la otra forma es la mas inmediata si no necesitas gran cosa

Saludos
PD: Da gusto volver a verte sergiox :-)
Escrito originalmente por Raharu
PD: Da gusto volver a verte sergiox :-)

El post es de febrero :), y lo de Gentoo estaba claro XD

Saludos
juas, menudo metida de pata, que conste que el que ha subido el post no he sido yo XD

Saludos
Escrito originalmente por Raharu
juas, menudo metida de pata, que conste que el que ha subido el post no he sido yo XD


Yo no vi la fecha, entre siguiendo un enlace desde otro hilo :)
Subo este hilo porque usando la busqueda es el que mejor cuadra en mi pregunta, y asi no abro uno nuevo.

Uso Ubuntu + KDE

Si no me equivoco Ubuntu esta basado en Debian ¿no?

El caso es que necesito que al iniciar Linux se produzcan estas acciones de manera automatica (atencion al $ y el #)

1ª Accion

$ xhost +local:root

2ª Accion

# ifconfig eth0 192.168.1.4 netmask 255.255.255.0 up
# route add default gw 192.168.1.1

-----------------------------------------

No se como va el codigo de los scripts asi que necesito:

A) Script para realizar la 1ª accion, que se ejecuta como "usuario no root"

B) Script para realizar la 2ª accion, que se ejecuta como root


Tampoco se donde colocar dichos scripts para que se inicien al arrancar el sistema

¿Basta con ponerlos en /etc/init.d y hacer enlace simbolico a etc/rcX.d/ (X=mi runlevel) ?

Mil GRACIAS
creo ( y digo creo) que la 2ª acción se puede automatizar mediante archivos de configuración en vez de scripts


todo lo que se ejecuta al cargar el sistema le pertenece al root
Radja escribió:creo ( y digo creo) que la 2ª acción se puede automatizar mediante archivos de configuración en vez de scripts


todo lo que se ejecuta al cargar el sistema le pertenece al root


Con lo cual para la 2ª accion no necesitaria script de inicio.....y para la primera tampoco porque en concreto el comando xhost +local:root debe ejecutarlo un usuario que NO sea root

¿Y ahora que hago?!?!
Mirate el manual de interfaces
man interfaces
O si te sientes bravo
sudo gedit /etc/network/interfaces
Txukie escribió:Mirate el manual de interfaces
man interfaces
O si te sientes bravo
sudo gedit /etc/network/interfaces


Pues nada, probaremos un sudo kate /etc/network/interfaces ....

(y digo kate porque para gedit me pide librerias de gnome, y solo quiero tener instalado kde)

¿En ese archivo de configuracion se puede indicar que haga el ifconfig eth0 UP al arrancar? Espero que si!!

Ya os contare, ahora mi pillais fuera de Linux y no puedo mirarlo.
13 respuestas