En Windows tengo el administrador de servicios, donde veo todos los servicios del sistema, que se pueden iniciar a través del propio Windows, configuro el usuario que usa, la administración de derechos está ahí y puedo pasar variables y otra información a los servicios , Puedo nombrarlos y puedo crear servicios duplicados de un programa, etc. Entonces tengo una herramienta de administración principal en Windows.
¿Cómo puedo hacer lo mismo en Linux? ¿Cómo puedo activar la ejecución de "svnserve" en el inicio o cómo puedo configurar los servicios para que se ejecuten en un contexto especial? ¿Cómo puedo ver todos los servicios "programados"?
server
comando en Debian, consulte unix.stackexchange.com/q/226089/130402Respuestas:
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 tieneservice
ychkconfig
, ubuntu tieneupdate-rc.d
)Lista de servicios:
Comienza el servicio:
o
Parada de servicio:
o
Habilitar servicio:
(
S95
Se utiliza para especificar el orden. S01 comenzará antes que S02, etc.)Deshabilitar servicio:
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:
Comienza el servicio:
Parada de servicio:
Habilitar servicio:
Deshabilitar servicio:
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:
Comienza el servicio:
Parada de servicio:
Habilitar servicio:
2 formas lamentablemente:
Habrá un archivo
/etc/default/{SERVICENAME}
que contiene una líneaENABLED=...
. Cambia esta línea aENABLED=1
.Habrá un archivo
/etc/init/{SERVICENAME}.override
. Asegúrese de que contienestart
(o está ausente por completo), nomanual
.Deshabilitar servicio:
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).
fuente
chkconfig
yaupdate-rc.d
se mencionan. Ver segundo párrafo bajo SysVinit :-)Las diferentes distribuciones utilizan diferentes mecanismos para administrar los servicios. El software para administrar servicios se llama init , después del nombre tradicional para el primer proceso (con ID de proceso 1) que se encarga de iniciar los demás.
Debian usa la variante tradicional SysVinit de init. Bajo este sistema, hay una colección de scripts en el directorio
/etc/init
(esta y otra ubicación pueden variar ligeramente entre las distribuciones que usan SysVinit). Estos scripts no se invocan directamente, sino a través de enlaces simbólicos en directorios/etc/rc?.d
. Es la presencia y el nombre de estos enlaces simbólicos que determinan cuándo se inician los servicios. Para más detalles, lea el capítulo sobre init en la Referencia de Debian .Eche un vistazo
/etc/rc?.d
para ver qué servicios ya están presentes. La letra o dígito antes del punto es el nivel de ejecución; las entradas cuyo nombre comienza conS
se ejecutan con el argumentostart
al ingresar el nivel de ejecución, y las entradas cuyo nombre comienza conK
se ejecutan al salir del nivel de ejecución. La secuencia normal de nivel de ejecución es: S durante el arranque (/etc/rcS.d/S*
se ejecutan), luego 2 (/etc/rc2.d/S*
se ejecutan). En el momento del apagado,/etc/rc2.d/K*
se ejecutan, luego el nivel de ejecución cambia a 0 (o 6 para un reinicio).En pocas palabras, si desea crear un script de inicio para un nuevo servicio:
/etc/init.d
. Este script debe aceptar un argumento que puede serstart
,stop
,force-reload
,restart
, o (opcional)reload
ostatus
. La diferencia entrereload
yrestart
esrestart
equivalente astop
seguido porstart
while mientrasreload
recarga la configuración sin detener nada (si el servicio lo admite);force-reload
hacereload
si está disponible y de lorestart
contrario. Consulte los archivos existentes y Hacer que los scripts se ejecuten en el momento del arranque con Debian para obtener ejemplos.update-rc.d
para crear enlaces simbólicos para iniciar y detener su servicio. La mayoría de los servicios se ejecutan en los niveles de ejecución 2, 3, 4 y 5.Tenga en cuenta que para proporcionar acceso svn, puede ser más fácil configurar Apache y usar el protocolo HTTP o HTTPS. Esto tiene el beneficio adicional de permitir la exploración rápida del repositorio a través de un navegador web.
fuente
Desde un fondo tradicional de Unix, los servicios no tienen nada de especial. Los servicios son solo procesos, pero con dos excepciones: no necesitan un terminal y comienzan en el arranque. cómo se inician en el arranque depende de init (que podría ser sysv init, bsd init, upstart, systemd u otra cosa; revise su página de manual para init) y si está utilizando un contenedor para la tarea o para la configuración de init. No hay nada que le impida ejecutar un servicio desde un terminal, de hecho, es común para fines de prueba.
fuente