Sie sind auf Seite 1von 5

Scripts de arranque.

Pablo Sanz Mercado.

1.

Conguracin y comandos bsicos. o a

Los niveles de ejecucin en Linux son las diferentes formas en las que podemos o encontrar un sistema operativo Linux. Cuando arrancamos un sistema Linux, tenemos la posibilidad de que el sistema operativo se comporte por ejemplo de forma monousuario, es decir, que no tengamos que introducir ni siquiera la contrase a del super usuario ya que arranca n directamente en esta cuenta, como pasaba con los sistemas opertivos DOS o Windows95/98/me. Otra forma que podemos tener de arrancar Linux es que permita que m ltiples usuarios puedan conectarse a nuestra mquina, y que arranque un u a entorno grco en el cual pueda trabajar de forma muy agradable la persona que a se siente delante de este equipo. Niveles de ejecucin tenemos varios, es ms, podremos incluso crear nuestro proo a pio nivel de ejecucin, totalmente personalizado. Por tanto esta forma de trabajar o aumenta la versatilidad que tiene el sistema operativo Linux. Al ser los niveles de ejecucin totalmente congurables, es posible que al trabajar o en diferentes versiones de Linux veamos diferencias signicativas. En la mayor de las distribuciones de Linux vamos a tener que el nivel de ejea cucin 0 es el de apagado, es decir, si vemos que nuestro equipo est en este nivel de o a ejecucin, inmediatamente tendremos que darnos cuenta de que est producindoo a e se el apagado del mismo. Otro nivel de ejecucin que suele ser el mismo en todas o las distribuciones es el n mero 6, que es el nivel de ejecucin de reinicio, es decir, u o cuando nuestra mquina pasa a estado de ejecucin 6 realmente est reinicindose. a o a a Llegados a este punto nos damos perfecta cuenta de que un nivel de ejecucin no o es una forma de arrancar el sistema operativo, sino un estado del mismo. En muchas distribuciones el nivel de ejecucin n mero 5 es el nivel de ejecucin multiusuario o u o con entorno grco y es el que se ejecuta por defecto cuando arranca el equipo. a No tenemos que querdarnos entonces en que el nivel de ejecucin de nuestro equipo o es el n mero 5, sino que en ese justo momento est en el nivel de ejecucin 5 y u a o podremos cambiar a otro nivel en el momento que deseemos. Tambin es habitual que en las diferentes distribuciones Linux el nivel de ejee cucin n mero 3 sea el de multiusuario sin entorno grco. Si bien es posible que o u a en alg n sistema Linux este nivel de ejecucin no sea el n mero 3, normalmente u o u nos encontraremos este nivel de ejecucin ya que es muy habitual que las mquinas o a permanezcan la mayor del tiempo en l. Esto suele ocurrir en mquinas destinadas a e a al clculo, donde es superuo un entorno grco ya que suelen ser administradas a a en remoto y el tener este entorno aumenta la necesidad en disco pero sobre todo la cantidad de memoria RAM necesaria para las operaciones habituales. Ya que hab amos hablado del nivel de ejecucin monousuario, comentar que o en la mayor de las distribuciones suele ser el n mero 1, es decir, estar en nivel a u de ejecucin n mero 1 implica necesariamente la imposibilidad de poder conectaro u nos a esta mquina con ms de un usuario, y adems este (root) debe conectarse a a a directamente en consola. El nivel de ejecucin n mero 2 es multiusuario sin entorno grco y sin NFS o u a 2

en muchas distribuciones de Linux, es decir, es como el nivel de ejecucin n mero o u 3 pero sin la posibilidad de importar/exportar recursos de disco a travs de la red. e Este nivel de ejecucin se suele utilizar si tenemos alg n problema con la red, si bien o u queremos mantener la caracter stica de entorno multiusuario en nuestro equipo. Finalmente comentar que el nivel de de ejecucin n mero 4 suele estar resero u vado para que el administrador del equipo lo adapte a sus propias necesidades, siendo por tanto este nivel de ejecucin el personal del administrador, teniendo las o caracter sticas que este haya querido introducir. Cuando hablamos de nivel de ejecucin es posible que lo veamos como un ente o extra o y totalmente lejano a nuestras necesidades y posibilidades. Nada ms lejano n a de la realidad. Cuando accedemos a un nivel de ejecucin, realmente lo que ocurre es que se o ejecutan los scripts contenidos en el directorio rcX.d, donde X es un n mero que u indica el nivel de ejecucin al que nos referimos (rc5.d por ejemplo a multiusuario o con entorno grco). a Los directorios rcX.d habitualmente los encontramos directamente en el directorio /etc, si bien en ciertas distribuciones los encontraremos en /etc/init.d, y si comprobamos su contenido nos daremos cuenta de que contienen varios (en muchas ocasiones una gran cantidad) enlaces simblicos con nombres que siguen una o estructura muy caracter stica: El primer carcter que nos encontramos es o una K o una S. A continuacin tea o nemos dos caracteres que son n meros y nalmente tenemos un nombre sin ninguna u regla preestablecida, pero que suele ser exactamente igual al nombre del chero que apunta el enlace simblico, por ejemplo: o K05network Los cheros a los que apuntan, los scripts a los que apuntan, habitualmente los encontraremos en el directorio /etc/init.d (si bien no es obligatoria esta ubicacin), o y normalmente responden estos scripts a una estructura tipo case. Cuando pasamos a un nivel de ejecucin dado, digamos el n mero 5, lo que o u ocurre es que se ejecutan en orden estricto todos y cada uno de los scripts a los que hacen referencia los enlaces simblicos. Estos scripts se ejecutan con un unico o argumento, que ser start o stop dependiendo de si los enlaces simblicos empiezan a o por S o K respectivamente. Es decir, si en el directorio rc5.d tenemos los siguientes enlaces simblicos: o S01network --> /etc/init.d/network S05nfs --> /etc/init.d/nfs K01ypbind --> /etc/init.d/ypbind el orden estricto implica por tanto que el primer script en ejecutarse ser /etc/init.d/ypbind a (K es anterior a S), seguido de /etc/init.d/network (S01 es anterior a S05) y nalmente /etc/init.d/nfs La forma de ejecutar estos scripts ser por tanto: a 3

/etc/init.d/ypbind stop /etc/init.d/network start /etc/init.d/nfs start Lo cual nos da una idea de la sencillez a la hora de incluir scripts personales para que se ejecuten de una determinada manera a la hora de pasar a un nivel de ejecucin concreto, pues lo que tendremos que hacer es ubicar nuestro script en o el directorio /etc/init.d y realizar un enlace simblico en el directorio rcX.d que o consideremos oportuno, llamando a este script con la sintaxis correcta. Hay que tener en cuenta que al ejecutarse en orden estricto, es conveniente tener en cuenta qu scripts se ejecutan antes y despus del que estamos modicando. e e Por ejemplo deber amos tener en cuenta que si nuestro script ejecutar alguna a herramienta que necesite de la red para funcionar, deber ejecutarse (si este es el a caso), con posterioriddad al script que arranca la red, por lo tanto si este ultimo est enlazado como S08network, nuestro script podr ser S09script para que se a a ejecute con posterioridad al arranque de la red. Muchas veces equivocamos el sentido del chero /etc/inittab al relacionarlo con los niveles de ejecucin. Este chero indica qu procesos tienen que ejecutarse en el o e arranque as como en la operacin habitual, y una de sus l o neas indica qu nivel de e ejecucin se utilizar, por defeto, al arrancar la mquina. o a a La l nea a la que hacemos referencia bien podr ser: a id:3:initdefault: en la que se indica que el nivel de ejecucin por defecto, el que se ejecutar al o a arrancar la mquina, ser el nivel n mero 3. a a u No obstante nosotros podremos cambiar de nivel de ejecucin fcilmente utilio a zando el comando telinit, telinit 2 har que nuestra mquina pasara al nivel de ejecucin nmero 2, de tal forma a a o u que podemos utilizar los comandos halt (o shutdown -h now ) y reboot (o shutdown -r now para apagar la mquina o reiniciarla respectivamente, o bien sus anlogos a a telinit 0 y telinit 6 respectivamente. En cualquier momento, podremos saber en qu nivel de ejecucin estamos sin e o ms que teclear, a runlevel

2.

service

Estos scripts que tenemos en nuestro sistema pueden ejecutarse con la opcin o stop o start cuando se cambia de nivel de ejecucin, pero tambin los podremos o e ejecutar mediante el comando service 4

service httpd start por ejemplo arrancar el servidor web en nuestro ordenador, es decir, buscar el a a script httpd en el directorio /etc/init.d y lo ejecutar con la opcin start, sin tener a o que escribir nosotros toda la ruta completa.

3.

chkcong

Adems de poder darle la opcin start, podemos optar por proporcionarle la a o opcin stop o cualquier otra (status por ejemplo), que tuviera congurada el script. o Finalmente, si queremos congurar los distintos scripts que queremos que paren o arranque al pasar a uno u otro nivel de ejecucin, pero no nos atrae la idea de o estar borrando, modicando o creando enlaces simblicos en los directorios correso pondientes, siempre podremos hacer uso del comando chkcong La ejecucin de este comando con la opcin list o o chkconfig --list nos mostrar en pantalla una lista con todos y cada uno de los scripts que pueden a arrancarse o pararse al cambiar de nivel de ejecucin, describiendo su estado para o cada nivel de ejecucin, es decir, nos indicarn si en el nivel 5, por ejemplo, se o a arrancan o se paran, etc. Un ejemplo de ejecucin podr ser: o a xfs 3:activo ypbind 3:desactivado 0:desactivado 4:activo 0:desactivado 4:desactivado 1:desactivado 5:activo 1:desactivado 5:desactivado 2:activo 6:desactivado 2:desactivado 6:desactivado

Con esta herramienta no slo podremos listar el estado, sino que tambin poo e dremos congurar un determinado script para que se le env una se al stop a la e n hora de pasar a un nivel de ejecucin determinado: o chkconfig --level 35 sendmail off que congurar los directorios rc3.d y rc5.d de tal forma que se mandar una se al a a n stop al script sendmail al pasar a cualquiera de estos dos niveles de ejecucin. o Igual que hemos utilizado este comando para parar estos scripts, lo podr amos haber hecho de forma equivalente para que arrancaran estos scripts cuando pasraa mos a estos niveles de ejecucin, pues lo unico que habr cambiado es on por o a o.

Das könnte Ihnen auch gefallen