Servicios linux
Iniciando servicios manualmente, directorio init.d
Dentro de esta carpeta ubicada en /etc o en /etc/rc.d dependiendo de la distribucción, se encuntran una serie de scripts que permiten inicar/detener la gran mayoría de los servicios/servidores que estén instalados en el equipo. Estos scripts están programados de tal manera que lamayoría reconoce los siguientes argumentos:
• start
• stop
• restart
• status
Los argumentos son autodescriptivos, y tienen permisos de ejecucción, entonces siendo root es posible iniciar un servicio de la siguiente manera, por ejemplo samba:
#> /etc/rc.d/init.d/smb start
Starting Samba SMB daemon [OK]
Solo que hay que cambiar start por stop | restart | status para detenerlo,reiniciarlo (releer archivos de configuración) o checar su estatus. Ahora bien si estás parado dentro del directorio puedes hacerlo asi.
#> pwd
/etc/rc.d/init.d
#> ./smb stop
Shutting down Samba SMB daemon [OK]
Se trata de tan solo un script asi que con el permiso de ejecucción (x) puedes ejecutarlo con ./ seguido del nombre del servicio, sin espacios y después el argumento quenecesites, inicarlo, detenerlo etc.
El comando service
En varias distros, como Fedora o RedHat, existe el comando service, este comando permite también iniciar y/o detener servicios, de hecho funciona exactamente igual a como si escribieramos la ruta completa hacía el directorio init.d, con service se indica de la siguiente manera:
#> service mysql status
Checking for service MySQL: stopped
Si sedesea iniciarlo:
#> service mysql start
Starting service MySQL [OK]
Iniciando servicios desde el arranque del sistema
En muchos casos es conveniente que un servidor o servicio inicien junto con el arranque del equipo en si, por ejemplo el servidor web Apache o alguna base de datos, esto es para que estén disponibles todo el tiempo y no se requiera de intervencióndel administrador para iniciarlos.
En Linux, a diferencia de otros sistemas operativos, es posible configurarlo en base a niveles de ejecucción (run levels), cada nivel de ejecucción (en la mayoría de las distros son 7), inicia o detiene (Start o Kill) ciertos servicios. Estos niveles son los siguientes:
• 0 Detener o apagar el sistema
• 1 Modo monousuario, generalmente utilizado paramantenimiento del sistema
• 2 Modo multiusuario, pero sin soporte de red
• 3 Modo multiusuario completo, con servicios de red
• 4 No se usa, puede usarse para un inicio personalizado
• 5 Modo multiusuario completo con inicio gráfico ( X Window)
• 6 Modo de reinicio (reset)
Por ejemplo el nivel 0, que apaga el equipo, mata o detiene a todos los procesos del sistema, todos los servicios, lo mismohace el 6 con la diferencia que después inicia un script que permite reiniciar el sistema. El nivel por omisión o por default del sistema esta definifo en /etc/inittab, en la línea initdefault:
$> grep initdefault /etc/inittab
id:5:initdefault:
# runlevel 0 is System halt (Do not use this for initdefault!)
# runlevel 6 is System reboot (Do not use this for initdefault!)
La salida es deuna distro OpenSuse 10. Como se puede apreciar existe una línea que comienza con id, seguido por 5 que indicaría entonces el nivel por default del sistema, basta con cambiar este valor con cualquier editor, reiniciar el equipo y se entraría a otro nivel, por ejemplo el 3 que tiene una funcionalidad completa pero sin sistema de ventanas X Window (ideal para equipos obsoletos o con pocos recursos...
Regístrate para leer el documento completo.