Los nuevos servicios de Fedora ya no se encuentran en /etc/init.d
(aunque alguno queda aún ahí imagino que por compatibilidad) sino que están en el directorio /lib/systemd/system
y para interactuar con ellos en línea de comando ya no usamos el comando service
, sino systemctl
.
systemctl es un comando mucho más rico en opciones y posibilidades que su predeceror, pero como guía de inicio y emergencia, te conviene ir anotando las siguientes.
Para iniciar un servicio, por ejemplo sendmail:
sudo systemctl start sendmail.service
Los servicios ahora parecen tener todos ese formato terminado en «.service». Aparte de start tenemos las opciones clásicas: stop, restart, reload y status. La opción status da mucha más información de lo que teníamos anteriormente:
sudo systemctl status vboxdrv.service vboxdrv.service - LSB: VirtualBox Linux kernel module Loaded: loaded (/etc/rc.d/init.d/vboxdrv) Active: active (exited) since Mon, 07 Nov 2011 18:45:22 +0100; 3s ago Process: 5550 ExecStop=/etc/rc.d/init.d/vboxdrv stop (code=exited, status=0/SUCCESS) Process: 5572 ExecStart=/etc/rc.d/init.d/vboxdrv start (code=exited, status=0/SUCCESS) CGroup: name=systemd:/system/vboxdrv.service
Por último, para habilitar el inicio automático de un servicio en el arranque o para deshabilitarlo, respectivamente, tenemos las opciones enable y disable:
sudo systemctl enable cups.service ln -s '/lib/systemd/system/cups.service' '/etc/systemd/system/printer.target.wants/cups.service' ln -s '/lib/systemd/system/cups.socket' '/etc/systemd/system/sockets.target.wants/cups.socket' ln -s '/lib/systemd/system/cups.path' '/etc/systemd/system/multi-user.target.wants/cups.path'
sudo systemctl disable cups.service rm '/etc/systemd/system/sockets.target.wants/cups.socket' rm '/etc/systemd/system/printer.target.wants/cups.service' rm '/etc/systemd/system/multi-user.target.wants/cups.path'
Quién quiera saber algo más de las novedades y mejoras que aporta systemd, puede empezar por esta serie de cuatro artículos que Diego Calleja ha escrito durante el último año:
Y quien quiera experimentar con más opciones de systemctl, ya sabe: man systemctl
😉