![Sistemas de inicio y gestión de servicios en diferentes distribuciones.](https://rvso.com/image/38707/Sistemas%20de%20inicio%20y%20gesti%C3%B3n%20de%20servicios%20en%20diferentes%20distribuciones..png)
¿Existe alguna descripción general de qué distribución de Linux viene con qué sistema de inicio (predeterminado) y qué herramienta utiliza para iniciar/detener servicios?
¿Existe alguna forma independiente de distribución para iniciar/detener/consultar un servicio?
/etc/init.d/xyz start
sólo funciona con sistemas de inicio system-vservice xyz start
no está disponible en todas las distribuciones (¿qué distribución (no) tiene esto?)- El cambio de caso dependiendo de los comandos disponibles parece ser la única forma confiable
Antecedentes: Necesitamos escribir un instalador para diferentes distribuciones de Linux que necesite reiniciar/consultar servicios. Llamar a la service
herramienta sería genial para eso, pero no estoy seguro de qué distribuciones lo admiten.
Respuesta1
Si este servicio es lo que está instalando, entonces probablemente necesitará conocer la administración de cada servicio de distribución de todos modos, ya que debería escribir sus scripts/configuración de inicio correctamente para aquellas plataformas que desea admitir.
sistemad-
systemctl start xyz.service
Fedora 15+, RHEL7, Arch, Debian 8+, Ubuntu 15+, openSUSE 12.3+Advenedizo-Ubuntu
service xyz start
, Fedora 9+, RHEL6SysV-RHEL5
/etc/init.d/xyz start
, Debian, SuseOpenRC-
/etc/init.d/xyz start
Gentoo, Alpine (soporta Net/FreeBSD)SMF-
svcadm enable svc:/prefix/xyz
Basado en Solaris, Opensolaris (illumos, smartos, etc.)rc -
/etc/rc.d/xyz start
BSDlanzado-OSX
launchctl start xyz
SysVes el estándar de Linux ( /etc/rc.d/xyz
) desde el que la mayoría de los sistemas de inicio nuevos continúan admitiendo los scripts, por lo que ese es su punto base.
sistemadEs hacia donde se dirige Linux
No conozco una utilidad que pueda ejecutarse en muchas plataformas, pero la mayoría del software de administración de configuración puede realizar administración de servicios multiplataforma. Desafortunadamente, eso significa que también necesitaría instalar el software de administración de configuración (o al menos los módulos subyacentes y el tiempo de ejecución Ruby/python). Esto está bien si administra la instalación en sus propias máquinas, ya que puede hacer todo lo que instala desde la herramienta de configuración. No es tan bueno si intentas distribuir software a cualquier persona.
Los siguientes ejemplos de administración de configuración interactuarían con el administrador de servicios local predeterminado y se iniciarían xyz
si aún no se está ejecutando. No necesitas estar al tanto de nada más.
ACocinero recetapuede gestionar unservice
recurso
service "xyz" do
action :start
end
service { "xyz":
ensure => "running",
}
- service: name=xyz state=started