Como administrador del sistema, probablemente esté tratando con muchos servicios todos los días.
En Linux , los servicios se utilizan para muchos propósitos diferentes.
Pueden usarse para iniciar un servidor SSH en su máquina o pueden realizar algunas operaciones en una hora o día específico.
Ya sea que esté usando una distribución basada en Debian o uno de RedHat, los servicios de consulta son muy similares.
Sin embargo, dada la distribución que está utilizando, y más específicamente el sistema de inicialización (init o systemd), es posible que deba usar diferentes comandos.
En este tutorial, aprenderá cómo puede, dado su administrador de sistema, enumerar todos los servicios en su máquina Linux.
Tabla de contenido
Determine el administrador del sistema utilizado
Como probablemente sepa, las distribuciones recientes usan el administrador del sistema Systemd.
Sin embargo, no siempre ha sido así: en el pasado, la mayoría de las distribuciones usaban el administrador del sistema SysVinit.
Como consecuencia, existen realmente dos formas de administrar sus servicios en un sistema Linux.
Antes de aprender los comandos para enumerar servicios, debe conocer el administrador del sistema que está utilizando actualmente.
Para determinar su administrador del sistema actual, la forma más fácil es usar el » pstree ”y para verificar el primer proceso que se haya ejecutado en su sistema.
Si ve «systemd», obviamente significa que actualmente está usando systemd. Sin embargo, si ve » init «, significa que estás usando SysVinit.
En Ubuntu 14.04, que todavía usa el antiguo sistema de inicio, tu» pstree «puede verse así.
Servicios de lista mediante systemctl
La forma más fácil de listar servicios en Linux, cuando estás en un sistema systemd, es usar el comando «systemctl» seguido de «list-units». Puede especificar la opción «–type = service» para restringir los resultados solo a los servicios.
Por defecto, este comando le mostrará solo los servicios que están activos o los servicios que fallaron en su sistema. En la captura de pantalla anterior, la mayoría de los servicios están activos, pero el logrotate (resaltado en rojo) está marcado como fallado.
Genial, aprendiste cómo puedes listar fácilmente tus servicios en un servidor Linux.
Sin embargo, como habrás notado, no tenías acceso a todos los servicios: ¿qué pasa con los servicios inactivos? ¿Qué pasa con los servicios que no fueron cargados por systemd en el arranque?
Listar todos los servicios en Linux usando unidades de lista
Para listar todos los servicios, es decir, activos e inactivos, debe usar el comando «systemctl list-units» seguido de la opción «–todos».
De manera similar, puede limitar los resultados a los servicios solo mediante el uso del filtro de tipo.
Como puede ver, los servicios inactivos también se enumeran, lo que podría ser conveniente si solo escribió su servicio y lo buscó en la lista.
En este caso, solo se enumeran los servicios cargados. Al arrancar, systemd carga archivos de unidades y puede optar por no cargar un servicio específico si descubre que no será utilizado por el sistema.
Como consecuencia, existe una diferencia real entre «cargado ”Y servicios» instalados «. Los servicios «instalados» significan que los archivos de unidades se pueden encontrar en las rutas correspondientes.
Listar servicios por estado
En algunos casos, es posible que solo te interesen los servicios que han fallado. Para eso, puedes especificar el estado que está buscando como una opción del comando systemctl.
Donde «estado» puede ser uno de los siguientes valores: activo, inactivo, activando, desactivado, fallido, no encontrado o muerto.
Por ejemplo, si solo estamos interesados en servicios «fallidos», ejecutaremos el siguiente comando
Listar todos los archivos de servicio usando list-unit-files
Finalmente, si está interesado en archivos de servicio «cargados», «instalados», «desactivados» y «activados», hay otro comando eso podría ser bastante útil.
Para listar todos los archivos de servicio disponibles, debe usar el comando «systemctl» seguido de «list-unit-files». Opcionalmente, puede especificar el tipo utilizando la opción «–type = service».
Alternativamente, puede usar el comando «grep» para buscar rutas específicas en su sistema que puedan contener archivos de servicio.
Felicitaciones, aprendió cómo puede enumerar servicios si su sistema está usando systemd!
Listar servicios usando el servicio
La forma más fácil de enumerar servicios en Linux, cuando está en un sistema de inicio SystemV, es usar el » comando service ”seguido de la opción» –status-all «. De esta manera, se le presentará una lista completa de servicios en su sistema.
Como puede ver, cada servicio es enumerados precedidos por símbolos entre corchetes. Esos símbolos significan:
- +: significa que el servicio e está en ejecución;
- -: significa que el servicio no se está ejecutando;
- ? : significa que Ubuntu no pudo saber si el servicio se está ejecutando o no.
Entonces, ¿por qué algunos servicios pueden saber si se están ejecutando o no y otros no?
Todo se reduce a la implementación del script de inicio. En algunos scripts, como el script udev, por ejemplo, puede ver que el comando «status» está implementado.
Este no es el caso de la secuencia de comandos» dns-clean «, por ejemplo, que es la razón por la que tiene una pregunta marque cuando consulte este servicio.
Listar servicios SysVinit en carpetas
Otra forma de listar la lista actual de servicios es usar el comando «ls» en las carpetas que contienen todos los scripts en un sistema Linux, a saber, «/etc/init.d”.
Conclusión
En este tutorial, aprendió cómo puede enumerar fácilmente servicios en un sistema Linux ya sea que esté utilizando systemd o SysVinit.
Si está interesado en crear sus propios servicios, le recomendamos que eche un vistazo a los siguientes recursos. Pueden ser realmente útiles para lograrlo correctamente.
- Escribir un script de inicio para sistemas de inicio;
- Iniciar servicios en el inicio usando systemd;
Si está interesado en la administración del sistema Linux, tenemos una sección completa sobre este tema en el sitio web, así que asegúrese de revisarla.
Iconos creados por Freepik de FlatIcon