Versión original en ingles http://www.mjmwired.net/resources/mjm-Fedora-manage-services.html
Manejando servicios en Fedora
Mauriat Miranda (http://www.mjmwired.net/contact/)
Otros Guides/Resources http://www.mjmwired.net/resources/
Publicado: 28 Febrero 2006 (actualizado: 28 Febrero 2006)
Introducción
Esta guia es para mostrar como controlar servicios en Fedora Core Linux. Las explicaciones incluidas son servicios, runlevel, configuración de servicios, y control de servicios.
Servicio
Un servicio (muchas veces llamada daemon) es una aplicación especifica que ejecuta en el “fondo” y es usualmente no-interactiva. Ellas pueden ser usadas para cualquier cosa, incluyendo hardware, acceso de redes, monitoreo, logging, etc. Todos los sistemas operativos usan algún conjunto de servicios para automatizar acciones.
Runlevel
Un runlevel es un modo de operación que es usado para agrupar ciertos grupos de daemons basados en algunos propósitos uso restringido. Para los sistemas basados en Linux Fedora/Redhat, los runlevels primarios en Fedora son:
runlevel 1: Modo de usuario solo
runlevel 2: Modo de multiusuario
runlevel 3: Modo de multiusuario con red
runlevel 5: X11 (runlevel 3 + X Window System “la GUI interfaz gráfica de usuario").
Típicamente la mayoría de usuarios ejecutan con el servidor X en runlevel 5, y muchos servidores sin el servidor X en runlevel 3. Usualmente el runlevel 2 no tiene servicios corriendo.
Para determinar que runlevel se encuentra usando, ejecute:
# /sbin/runlevel
Para determinar en que runlevel su sistema iniciara la siguiente ocasión, ejecute:
# cat /etc/inittab | grep :initdefault:
id:5:initdefault:
Similarmente puede editar el archivo /etc/inittab y cambiar el valor initdefault en la linea ~18
Para cambiar el runlevel, puede ejecutar lo siguiente, remplace RUNLEVEL con el numero apropiado (3, 5, etc):
# /sbin/init RUNLEVEL
Nota: cuando cambie desde el runlevel 5 a otro runlevel, podría accidentalmente matar su servidor X y enteramente la GUI. Siempre asegúrese que este en consola de texto (CTRL-ALT-F1,F2,F3,F4) antes de cambiar runlevels.
Para forzar un nivel de ejecución al inicio sin modificar /etc/inittab, debe pasar un numero al final de el kernel desde el menú de Grub. Al iniciar, seleccione la opción con la que desee iniciar y antes de presionar , presione , dirijase al final de la linea de kernel y agregue un 3 o 5. entonces presione e inicio para iniciar.
Habilitando/ Deshabilitando Servicios
Cada servicio debe ser puesto en “On” (habilitado) o en “Off” (deshabilitado) para cada runlevel.
Para ver que servicios están habilitados para cada runlevel, ejecute:
# /sbin/chkconfig --list
Para controlar cuales servicios están habilitados para un runlevel, ejecute system-config-services en la GUI o ntsysv en la linea de comandos, (previas publicaciones de Fedora pudieran tener serviceconf en vez de system-config-services).
para manualmente habilitar un servicio especifico use chkconfig. El siguiente comando vuelve al daemon cron para ambos runlevels 3 * y * 5
# /sbin/chkconfig --level 35 crond on
El --level podría estar en 1,2,3,4,5 o en cualquier combinación de los números. La opción “on” puede también estar en “off”, ejecutar man chkconfig es útil.
Controlando Servicios
Sin tomar en cuenta como un servicio es habilitado a un runlevel o si este esta en default en “On” o “Off”, cada servicio puede ser iniciado o detenido y manejado en tiempo de ejecución.
Para ver que servicios se están ejecutando, ejecute:
# /sbin/service --status-all
Para controlar individualmente un servicio, use service. Por ejemplo:
# /sbin/service crond status
crond (pid 1604) is running...
La opción status puede ser remplazada con start, stop, status, reload, restart y algunas veces otras opciones, por ejemplo:
[root@charon ~]# service crond
Usage: /etc/init.d/crond {start|stop|status|reload|restart|condrestart}
[root@charon ~]# service crond stop
Stopping crond: [ OK ]
[root@charon ~]# service crond start
Starting crond: [ OK ]
[root@charon ~]# service crond restart
Stopping crond: [ OK ]
Starting crond: [ OK ]
Todos los servicios localizados en el directorio: /etc/init.d pueden ser controlados de esta manera, una forma alterna de control seria:
# /etc/init.d/crond status
Virtualmente todas las funcionalidades anteriores, están disponibles atravez de el GUI, usando system-config-service. Sin embargo hay veces cuando los problemas con la GUI (servidor X) podría evitarle que controlara sus servicios. Por lo tanto entender los comandos es muy útil.