Actualmente hay 3 sistemas de inicio principales utilizados por Linux. Hace unos años, solo había uno, SysVinit. Pero SysVinit carecía seriamente de capacidades tales como gráficos de dependencia de servicios, por lo que ahora se ha desaprobado en la mayoría de las distribuciones. Actualmente, la mayoría de las distribuciones están cambiando a systemd . Aunque también hay advenedizo .
Pero aquí está la respuesta a su pregunta para cada uno de los 3 sistemas de inicio:
SysVinit
SysVinit actualmente utilizado por Debian y RedHat. Aunque la próxima versión de RedHat (7) usará systemd.
La forma universal de habilitar los servicios SysVinit en el arranque es vincularlos en /etc/rc3.d
(o /etc/rc2.d
). Todos los servicios se pueden encontrar en /etc/init.d
. Sin embargo, tenga en cuenta que las distribuciones a menudo tendrán su propia herramienta para administrar estos archivos, y esa herramienta debería usarse en su lugar. (Fedora / RedHat tiene service
y chkconfig
, ubuntu tiene update-rc.d
)
Lista de servicios:
ls /etc/init.d/
Comienza el servicio:
/etc/init.d/{SERVICENAME} start
o
service {SERVICENAME} start
Parada de servicio:
/etc/init.d/{SERVICENAME} stop
o
service {SERVICENAME} stop
Habilitar servicio:
cd /etc/rc3.d
ln -s ../init.d/{SERVICENAME} S95{SERVICENAME}
( S95
Se utiliza para especificar el orden. S01 comenzará antes que S02, etc.)
Deshabilitar servicio:
rm /etc/rc3.d/*{SERVICENAME}
Systemd
La distribución más notable que usa systemd es Fedora. Aunque es usado por muchos otros. Además, dado que Debian ha elegido ir con systemd sobre el arranque, se convertirá en el sistema de arranque de facto para la mayoría de las distribuciones (ubuntu ya ha anunciado que dejarán de funcionar para systemd).
Lista de servicios:
systemctl list-unit-files
Comienza el servicio:
systemctl start {SERVICENAME}
Parada de servicio:
systemctl stop {SERVICENAME}
Habilitar servicio:
systemctl enable {SERVICENAME}
Deshabilitar servicio:
systemctl disable {SERVICENAME}
Advenedizo
Upstart fue desarrollado por la gente de Ubuntu. Pero después de que debian decidiera usar systemd , Ubuntu anunció que se dejarían caer .
Upstart también fue utilizado brevemente por RedHat, ya que está presente en RHEL-6, pero no se usa comúnmente.
Lista de servicios:
initctl list
Comienza el servicio:
initctl start {SERVICENAME}
Parada de servicio:
initctl stop {SERVICENAME}
Habilitar servicio:
2 formas lamentablemente:
Habrá un archivo /etc/default/{SERVICENAME}
que contiene una línea ENABLED=...
. Cambia esta línea a ENABLED=1
.
Habrá un archivo /etc/init/{SERVICENAME}.override
. Asegúrese de que contiene start
(o está ausente por completo), no manual
.
Deshabilitar servicio:
echo manual > /etc/init/{SERVICENAME}.override
Nota: También existe el sistema de inicio 'OpenRC' que utiliza Gentoo. Actualmente, Gentoo es la única distribución que lo utiliza, y no se considera su uso, ni es compatible con ninguna otra distribución. Por lo tanto, no estoy cubriendo su uso (aunque si la opinión es que sí, puedo agregarlo).