miércoles, 24 de marzo de 2010

System Service Analysis RHCE

Básicamente tenemos los siguiente , al iniciar nuestro sistema , después de descomprimir el kernel, cargas los módulos y montar el sistema de archivos sigue arrancar los servicios , dependiendo el nivel de corrida , son los servicios que serán ejecutados , los niveles de corrida 0 y 6 , corresponden al shutdown y restart, veamos como funciona

Iniciamos con el archivo inittab

============================

id:3:initdefault: # en esta linea indicamos que nivel de corrida sera

# inicializacion del sistema
si::sysinit:/etc/rc.d/rc.sysinit

# estas lineas indican que servicios serán leídos en los niveles de corrida de inicio , por
# ejemplo en el nivel de corrida 3 sera cargado el contenido del folder /etc/rc3.d/

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6

# esta line indica que accion tomara al presinar las teclas ctr + lalt + del
ca::ctrlaltdel:/sbin/shutdown -t3 -r now

# esta linea ejecuta el shutdown cuando el UPS indica que ya esta llegando al punto de fallo

pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"

# cancela la accion de apagado .

pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"

# enciende las terminales disponibles para linea de comando de la f1 al f6
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

# indica que la terminal 5 es para el entorno grafico
x:5:respawn:/etc/X11/prefdm -nodaemon

=================================

veamos el folder /etc.rc0.d/

=================

lrwxrwxrwx 1 root root 19 Feb 15 2008 K99readahead -> ../init.d/readahead
lrwxrwxrwx 1 root root 25 Feb 15 2008 K99readahead_early -> ../init.d/readahead_early
lrwxrwxrwx 1 root root 17 Sep 26 13:52 S00killall -> ../init.d/killall
lrwxrwxrwx 1 root root 14 Sep 26 13:52 S01halt -> ../init.d/halt

================

como vemos hay servicios que comienzan con K y otros con S , esto significa que los K no seran cargados y los S si seran ejecutados, en el nivel de corrida 0, vemos que corre el Killall y el halt , que son los procesos para apagar el sistema , lo mismo ocurren con los demas folders .

ahora podemos consultar los servicios que se ejecutaran al nivel de corrida 3

# ntsysv --level 3

si queremos ver en que niveles de corrida esta algun servicio ejecutamos lo siguiente

# chkconfig --list smb
smb 0:off 1:off 2:on 3:on 4:on 5:on 6:off

si queremos cambiar las configuración en algún nivel de corrida podemos utilizar ambas herramientas

# # chkconfig smb off --level 3
# chkconfig --list smb
smb 0:off 1:off 2:on 3:off 4:on 5:on 6:off

Si requerimos saber el estatus actual de algún servicio , podemos hacerlo de la siguiente manera

# service --status-all

o podemos hacerlo de algun servicio en especifico

# service smb status

si requerimos que algún script corra al iniciar el sistema podemos colocarlo dentro del archivo
/etc/rc.local, podemos utilizar el & para enviar la ejecucion a back ground , y pueden ser llamadas por los comando fg y bg y el respectivo job.

un ejemplo podria ser

# ejemplo.sh &

precionamos ctrl + c

hacemos la busqueda del PID

# ps axu | grep ejemplo.sh
# fg 44527

y tendremos de nuevo nuestra ejecución.


estando en el tema de ejecuciones de códigos , podemos hacer que una aplicación se ejecute al momento que un usuario se logue, esto lo podemos lograr ingresando una linea de código en el archivo /etc/profile , si es especifica la aplicación para un usuario esto lo logramos editando el archiv ~/.bash_profile .

espero les sirva la informacion que comparto hoy con ud

No hay comentarios:

Publicar un comentario