systemd

Cómo listar el servicio con systemd

Cómo listar el servicio con systemd
Este artículo puede ser breve en un comando, pero la impresión resultante es muy larga.

El comando de volcado

Si alguien le pide que muestre la configuración completa de su sistema, use el comando dump.

$ systemd --dump-configuration-items

El archivo cubre todas las unidades que tiene en el sistema. Una vez que un desarrollador tiene este archivo disponible, la persona revisará lo que tiene e intentará encontrar los problemas que enfrenta. Terminado y hecho. Sin embargo, no leería este artículo si dejara que otra persona lo haga todo. Veamos qué puede hacer con un servicio a la vez y aprendamos algunos trucos para filtrar sus resultados.

La jerarquía de systemd

Para ser eficiente, debe darse cuenta de que, dentro de systemd, tiene una jerarquía y puede configurar cada servicio para que dependa y / o espere otros servicios. Las diferentes formas de hacer esto son evidentes en los archivos de servicio. Las diferentes declaraciones que tiene son 'Deseos', 'Requerido', 'Antes' y 'Después'. Para un análisis eficaz, puede utilizarlos para ver si su unidad está averiada debido a dependencias. A continuación, puede rastrear hasta dónde se encuentra el problema subyacente. Aquí hay un ejemplo de esto.

$ systemctl list-dependencies --antes de xpra.Servicio

La impresión muestra las otras unidades que xpra.el servicio confía en. En este caso, las otras unidades están activas, por lo que debemos centrarnos en por qué la unidad en sí está rota. Al ejemplo le faltaba un archivo de certificado.

El uso más importante de esto es investigar si a su servicio le faltan dependencias, use el comando de esta manera.

$ systemctl lista-dependencias xringd

El resultado es una lista larga, convenientemente organizada en un árbol y que muestra todos los servicios en verde o rojo si algo va mal. También puede ver las dependencias en el archivo de servicios. Abra el archivo con su editor favorito o use systemctl, que abrirá el archivo con el editor predeterminado.

Listado de servicios activos

Cuando desee investigar un sistema, deberá saber cómo encajan las unidades. Para hacer esto, tiene varias opciones para imprimir los detalles. Puede enumerar qué sistemas están ocupados, fallaron, etc. Más importante aún, puede enumerar cómo se ensamblan, qué unidad, servicio, etc. la unidad actual depende de. El comando principal para hacer esto es systemctl, las opciones son útiles para limitar su problema específico.

Para obtener el uso adecuado de systemctl, observe detenidamente las opciones del comando. Hay opciones para elegir exactamente lo que necesita, especialmente en lo que respecta al estado de los servicios. Aquí buscamos servicios que tengan problemas.

$ systemctl list-unit-files --type = service

Esta lista también es larga y tienes que desplazarte por todos los servicios para encontrar lo que buscas. Con algunos parámetros más, puede filtrar por uno específico o los que están deshabilitados. El siguiente comando encontrará todas las unidades que están enmascaradas.

$ systemctl list-unit-files --type = service --state = masked

Los servicios enmascarados se bloquean para que otros servicios no puedan iniciarlos, incluso si el otro servicio los necesita. Esto se puede utilizar para asegurarse de que no tenga servicios en conflicto en ejecución. Por lo general, su administrador de paquetes enmascara muchos servicios cuando elimina el paquete. Puede eliminar el archivo de servicio por completo si lo desea después de eliminar un servicio. También es posible que arruine muchos de los servicios que desea, así que asegúrese de saber si necesita los servicios enmascarados.

Algunos servicios están enmascarados por procesos y no siempre tiene la intención de que el servicio esté enmascarado. Cuando esto le ha sucedido a su sistema, la primera acción a tomar es desenmascarar usando systemctl. Sin embargo, esto no siempre es posible, por lo que debe eliminar el enlace en el directorio adecuado. En la mayoría de los sistemas, esto será lib / systemd / system. Sin embargo, antes de hacerlo, verifique que el archivo sea en realidad un enlace a / dev / null.

$ ls -l lib / systemd / system> | grep null

Cuando esté seguro de que desea eliminar este enlace, elimínelo con rm o desvincular.

$ rm / lib / systemd / system / udisks2.Servicio

Ahora que sabes cómo hacerlo, escucha esta advertencia: muchas veces es necesario tener este enlace ahí. Tomemos como ejemplo lvm2, está enmascarado para que no interfiera con el nuevo sistema, donde lvm2 incluye muchos servicios pequeños. Ver el resultado de:

$ systemctl estado lvm2 *

Eliminar el enlace puede causar estragos en su sistema porque lvm2 lo necesita para evitar conflictos. Este es solo un ejemplo, así que ten cuidado antes de continuar.

Conclusión

Cuando desee enumerar servicios en systemd, primero debe reflexionar sobre lo que está buscando en su búsqueda. ¿Está buscando un servicio que necesita o ve que tiene demasiados servicios?. De cualquier manera, necesitas adaptar tu consulta a tus necesidades particulares. Systemd parece confuso al principio, pero cuando mira más de cerca, todo utiliza una forma sencilla de unificar el inicio para que los servicios puedan comenzar en paralelo donde el sistema lo necesita, mientras que cada servicio espera el servicio específico del que dependen.

Los mejores juegos para jugar con el seguimiento de manos
Oculus Quest presentó recientemente la gran idea del seguimiento manual sin controladores. Con un número cada vez mayor de juegos y actividades que ej...
Cómo mostrar la superposición de OSD en aplicaciones y juegos de Linux en pantalla completa
Jugar juegos en pantalla completa o usar aplicaciones en modo de pantalla completa sin distracciones puede aislarlo de la información relevante del si...
Las 5 mejores cartas de captura de juegos
Todos hemos visto y amado la transmisión de juegos en YouTube. PewDiePie, Jakesepticye y Markiplier son solo algunos de los mejores jugadores que han ...