Ads by RevenueHits

Linuxeros Faq

Ads by Bidvertiser

Busqueda sobre Linux y software libre

sysv-rc para manejar servicios en DEBIAN

Para los que venimos de un moundo RedHat, service y chkconfig son
realmente una cosa muy bonita.

He visto que almenos Ubuntu, ya se instala el paquete sysv-rc y dice de
él:

# dpkg -l sysv-rc | tail -1
ii sysv-rc 2.86.ds1-6ubuntu32 Standard boot mechanism using
symlinks in /etc/rc?.d

Mirando el paquetillo, un equivalente al service(RH) es invoke-rc.d
Esto pasa en mi Ubuntu al usarlo:

root@agua:~# /usr/sbin/invoke-rc.d mysql restart
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for crashed MySQL tables in the background.

Ahora uno similar al chkconfig(RH) es update-rc.d, claro que no es tan
bonita su sintaxis comparado al chkconfig. Pero veamos que hace:

1. Curiosidad: ¿ Cuándo se levanta MySQL en mi sistema ?

root@agua:~# find /etc/rc[0-9].d -name "*mysql"
/etc/rc0.d/K20mysql
/etc/rc1.d/K20mysql
/etc/rc2.d/S20mysql
/etc/rc3.d/S20mysql
/etc/rc4.d/S20mysql
/etc/rc5.d/S20mysql
/etc/rc6.d/K20mysql

Respuesta: En los niveles 2,3,4 y 5 (S=start, K=kill)

2. Quitar MySQL para que no levante durante el inicio

root@agua:~# /usr/sbin/update-rc.d -f mysql remove
Removing any system startup links for /etc/init.d/mysql ...
/etc/rc0.d/K20mysql
/etc/rc1.d/K20mysql
/etc/rc2.d/S20mysql
/etc/rc3.d/S20mysql
/etc/rc4.d/S20mysql
/etc/rc5.d/S20mysql
/etc/rc6.d/K20mysql

3. Repetir 1. para ver que hizo :-)

root@agua:~# find /etc/rc[0-9].d -name "*mysql"
root@agua:~#

Respuesta: No hay nada, MySQL ya no se levanta mas durante el inicio

4. Quiero que levante en nivel 2 y 3

root@agua:~# /usr/sbin/update-rc.d mysql start 20 2 3 . stop 20 0 1 4 5
6 .
Adding system startup for /etc/init.d/mysql ...
/etc/rc0.d/K20mysql -> ../init.d/mysql
/etc/rc1.d/K20mysql -> ../init.d/mysql
/etc/rc4.d/K20mysql -> ../init.d/mysql
/etc/rc5.d/K20mysql -> ../init.d/mysql
/etc/rc6.d/K20mysql -> ../init.d/mysql
/etc/rc2.d/S20mysql -> ../init.d/mysql
/etc/rc3.d/S20mysql -> ../init.d/mysql

Que horrible sintaxis . En RH es más bonito, sería así:
chkconfig --level 23 mysql on

update-rc.d tiene daño cerebral comparado a chkconfig. update-rc.d
necesita indicarle los niveles para subir y para bajar. Además que
necesita saber en que orden lo va subir

start 20 2 3 = Dice subir (S=start) en el puesto 20, en niveles 2 y 3
stop 20 0 1 4 5 6 = Dice bajar (K=kill) en el puesto 20, en niveles
1,4,5,6

5. Horrible sintaxis la anterior, mejor borrar todo y usar los niveles y
orden predeterminados

root@agua:~# /usr/sbin/update-rc.d -f mysql remove
(salida omitida)

root@agua:~# /usr/sbin/update-rc.d mysql defaults
Adding system startup for /etc/init.d/mysql ...
/etc/rc0.d/K20mysql -> ../init.d/mysql
/etc/rc1.d/K20mysql -> ../init.d/mysql
/etc/rc6.d/K20mysql -> ../init.d/mysql
/etc/rc2.d/S20mysql -> ../init.d/mysql
/etc/rc3.d/S20mysql -> ../init.d/mysql
/etc/rc4.d/S20mysql -> ../init.d/mysql
/etc/rc5.d/S20mysql -> ../init.d/mysql


Evidentemente no tan avanzado como chkconfig pero al final también útil.

En resumen, Debian/Ubuntu ya tiene script para manejar la subida/bajada
de servicios durante el arranque. Estos vienen en el paquete sysv-rc y
son los predeterminados que usan los paquetes como apache, mysql, php,
etc, etc, al momento de instalarse en el sistema.

Ads By Bidvertiser

Tienda linuxeros FAQ

29440009-121797753

Ads by Daily Motion