Ads 468x60px

viernes, 1 de marzo de 2013

System V vs BSD Scripts

duda

La primera vez que me instale Slackware.. hace ya unos añitos, recuerdo que me sentia rara porque queria reiniciar servicios o desabilitarlos buscando en '/etc/init.d' o sus respectivos runlevels '/etc/rcx.d' Pero me di una sorpresa al ver que no existia ni la carpeta init.d, ni rcx.d de cada runlevel, nisiquiera /etc/pam.d

Yo que venia de Linuxes que si incluian estos menesteres(Mandrake, Suse, RedHat, Debian). Me sorprendi un poco y tuve que indagar porque esto era asi o donde slackware guardaba los demonios. Ahi fue que me tope con que hay sistemas Linux & Unixes que poseen sus scripts de arranque basado en BSD scripts o System V. Slackware estaba y aun esta basado en scripts de inicio BSD Scripts. Ahora ustedes se preguntaran que son scripts de inicios System V y que son BSD scripts.

La mayoria de Linuxes y Unixes (Solaris & HP-UX) poseen sus scripts de inicio basados en System V, cuando un sistema esta basado en System V, divide los servicios a cargar por defecto en varias carpetas por cada runlevel. Por ejemplo, el runlevel 5 en Linux es al cual ingresamos por defecto despues que termina de cargar el sistema. Este runlevel en los sistemas basados en System V tiene los servicios a cargar en '/etc/rc5.d' ahi dentro vemos muchos enlazes directos a los servicios de '/etc/init.d' todo lo que aparezca dentro de '/etc/rc5.d' es lo que va a cargar o es lo que vemos cargando cuando iniciamos el sistema. Si por ejemplo dentro de la carpeta '/etc/rc5.d' se encuentra el enlace 'mysql', bastaria con borrar mysql de /etc/rc5.d y ya este no cargaria por defecto cada vez que ingresemos al sistema, que es el runlevel 5.


Ahora.. como si se hace asi en System V, como se hace en sistemas BSD scripts?

Existen otros Unixes y Linux (minoria) que aun trabaja con BSD scripts, entre estos tenemos (Slackware, Crux, Arch Linux) y los BSD (FreeBSD, OpenBSD, NetBSD). Aqui no existe 1 carpeta para cada runlevel como si existe en un System V. Aqui existe 1 solo archivo de configuracion, que es el que indica que servicios cargar y cuales no a la hora de iniciar el sistema... y cualquier cambio a este archivito aplica a todos los runlevels (Van captando la diferencia?).

En slackware dicho archivo se llama rc.M se encuentra en /etc/rc.d (que seria el equivalente a '/etc/init.d' en un System V). en rc.M vemos que servicios el sistema por defecto carga al iniciar y cuales no, si queremos apagar uno podemos o comentarlo en rc.M o quitarle los permisos de ejecucion al demonio que tambien esta dentro de '/etc/rc.d'.

En los sistemas BSD (FreeBSD por ejemplo y Crux o Arch linux), igual que slackware tenemos 1 solo archivo de configuracion para todos los runlevels. dicho archivito se llama rc.conf y esta en '/etc' Como slackware en rc.conf estan todos los demonios a cargar para todos los runlevels, aqui activamos o desactivamos servicios solo editando ese archivo.

En resumen ::

System V : 1 carpeta por cada runlevel dicha carpeta contiene dentro enlacez simbolicos a los demonios que debe cargar. Cada carpeta de runlevel, cualquier cambio solo aplica para ese runlevel.

BSD Scripts: 1 solo archivo de configuracion, donde se editan los servicios que deben o no subir, cualquier cambio aplica para todos los runlevels.

Cual es mejor? ninguno, son solo distintas maneras de manejar el asunto Sonrisa

Como me doy cuenta cuando un sistema es System V o BSD scripts?

Sencillo, cuando iniciamos un Unix o Linux donde se nos permita ver en el proceso de inicio antes de llegar al prompt login o al servidor X (Gnome, KDE, etc). si nuestro sistema va cargando asi :

Samba .............. (OK)

networking ..............(OK)

sound ...................(OK)

Justo como en la imagen:

system v



Es un sistema tipo System V. Ya sabemos que como tal, debe tener una carpeta de demonios llamada 'init.d' generalmente ubicada en '/etc' pero hay unixes que la ubican en otro lado (HP-UX por ejemplo). Y que como es System V no solo tiene init.d tambien tiene subcarpetas por cada runlevel.

Ahora si el sistema va iniciando asi ::

raid6: using algorithm sse2x2 (1901 MB/s)

md: raid6 personality registered for level 6

md: raid5 personality registered for level 5

md: raid4 personality registered for level 4
Justo como en la imagen siguiente:





bsd

Y va cargando un poco rapido, estamos frente a un sistemas BSD-Scripts. Ya saben que dentro debe tener algun rc.conf o rc.M donde manipule los servicios a cargar al inicio y que cualquier cambio aplica para todos los runlevels.

Ahora cual considera usted que es mas comodo de manejar?

No hay comentarios:

Publicar un comentario