Los daemons (o servicios según la terminología más popular acuñada por los entornos windows) son aquellos programas que se ejecutan en nuestro ordenador en segundo plano y, habitualmente, desde el arranque del mismo, permaneciendo a la espera de prestar algún servicio. Normalmente nos incomoda tener que ejecutarlos manualmente cuando no están activos, pero una mala elección de los servicios que se ejecutan en el arranque de la máquina ocasiona que nuestro ordenador consuma unos recursos que no precisa o que tenga un arranque más lento de lo que nos gusta.
Hoy vamos a ver la forma de gestionar los daemons en Fedora y, sin que sirva de precedente, vamos a empezar por los métodos gráficos para que los más comodones no tengan que leer el texto hasta el final. En el menú de administración tenemos un programita denominado Administración de Servicios (ejecutable también con la orden system-config-services
).
La pantalla es bastante intuitiva. Los dos iconos delante del nombre de cada servicio nos indican si está habilitado su arranque de forma automático al inicio y si está ejecutándose en estos momentos. Podemos manipular estos parámetros con los botones Enable/Disable y Start/Stop respectivamente. Mediante el botón Customize podemos ajustar los niveles de ejecución (o runlevels) particulares para los que queremos que el servicio se inicie. En la mayoría de los casos nos basta saber que el terminal gráfico con el que trabajamos habitualmente se corresponde con el nivel 5 y el modo de texto multiusuario con soporte de red corresponde con el nivel 3 (el nivel 5 se define en realidad como el nivel 3 con las X).
ntsysv
es una pequeña aplicación que nos permite hacer lo mismo desde la línea de comandos pero con la comodidad de usar un rudimentario interfaz gráfico construido con las ncurses.
Se ejecuta con privilegios de root y por defecto nos muestra y permite modificar los servicios que se inician en el arranque del nivel de ejecución en el que nos encontramos cuando usamos la herramienta. Si quisiéramos consultar o modificar el inicio en otro runlevel lo indicaremos con el parámetro --level
(ntsysv --level 5
, por ejemplo). Los servicios se marcan y desmarcan usando la barra de espacios. Si seleccionamos un servicio este se iniciará inmediatamente y, además, lo hará a partir de este momento en cada arranque. Si lo deseleccionamos y estaba activo se parará también de forma instantánea.
chkconfig
es, tal vez, la herramienta más versátil para esta tarea. Además de darnos información y permitirnos modificar el arranque y parada de los servicios en sus diferentes runlevels, nos permite añadir o eliminar servicios. Algunas ejemplos útiles son los siguientes:
chkconfig --list
nos muestra una matriz de servicios y de runlevels indicando en el inicio de cuales de los niveles de ejecución se ejecuta cada uno.chkconfig --level 35 sshd on
habilita la ejecución del daemon del servidor ssh al inicio de los runlevels 3 y 5.chkconfig wine on
habilita la ejecución del servicio de wine al inicio de los runlevels 2, 3 4 y 5.chkconfig --level 3 vmware off
deshabilita la ejecución del servicio vmware al inicio del nivel de ejecución 3.
Mediante los parámetros --add
y --del
podemos incluir nuevos servicios o eliminar los existentes, pero piensa al añadir uno nuevo que no puedes hacerlo con cualquier programa. Si este no cumple con los requisitos indispensables chkconfig
te devolverá un error.
El comando service
es el último que vamos a ver. Este nos permite detener o iniciar cualquiera de los servicios y, en algunos casos, reiniciarlos o ver su estado. Cualquiera de nuestros servicios debería de responder correctamente, al menos, a los siguientes comandos:
service crond start
service mysqld stop
Habitualmente pueden responder, además, a alguna de las órdenes siguientes:
service NetworkManager status
service ntop restart
service apache2 reload
NOTA: Los usuarios de Ubuntu tienen disponible chkconfig
(aunque no viene instalado por defecto con la distribución) y service
.