Cómo enumerar servicios de Linux con el comando systemctl


Si es usuario o administrador de Linux, necesita saber cómo administrar los servicios en su sistema. Los servicios son programas que se ejecutan en segundo plano y brindan funciones esenciales, como redes, impresión, registro y más.

Pero ¿cómo se enumeran, inician, detienen, habilitan, deshabilitan o reinician servicios en Linux? La respuesta es el comando systemctl. Este comando es parte de systemd, un moderno administrador de sistemas y servicios para distribuciones de Linux como Ubuntu y Debian.

Si eres principiante y quieres administrar estos servicios usando systemctel, sigue los pasos a continuación.

Enumerar todos los servicios con systemctl

Para enumerar todos los servicios en su sistema Linux, ejecute este comando en la terminal:

sudo systemctl list-units –tipo servicio

Esto le mostrará una tabla con cinco columnas: UNIT, LOAD, ACTIVE, SUBy DESCRIPCIÓN.

La columna UNITmuestra el nombre del archivo de la unidad de servicio, que es el archivo de configuración y definición del servicio. Este archivo contiene información sobre lo que hace el servicio y cómo gestionarlo. También puede ver una descripción rápida del servicio en la columna DESCRIPCIÓN.

La columna LOADmuestra si el archivo de la unidad de servicio está cargado en la memoria. La columna ACTIVEmuestra si es un servicio en ejecución o no. Finalmente, la columna SUBmuestra el subestado del servicio, como en ejecución, cerrado o fallido.

También puede utilizar la opción-ao –allen lugar de–typepara enumerar todos los tipos de unidades, no solo los servicios. .

Enumerar servicios activos con systemctl

Si solo desea ver los servicios que están actualmente activos (en ejecución) en su sistema, ejecute este comando en la terminal de Linux:

sudo systemctl list-units –tipo servicio –estado activo

Esto filtrará los servicios que están inactivos (detenidos) o fallidos.

Enumerar servicios inactivos con systemctl

De manera similar, si solo desea ver los servicios que están actualmente inactivos (detenidos) en su sistema, ejecute este comando en la terminal:.

sudo systemctl list-units –tipo servicio –estado inactivo

Esto filtrará los servicios que están activos (en ejecución) o fallidos.

Enumerar servicios fallidos con systemctl

Si desea ver los servicios que no pudieron iniciarse o detenerse en su sistema, abra la terminal y ejecute este comando:

sudo systemctl list-units –tipo servicio –estado fallido

Esto filtrará cualquier servicio actualmente activo (en ejecución) o inactivo (detenido).

Enumerar servicios habilitados con systemctl

Para ver qué servicios están habilitados para iniciarse automáticamente en el momento del inicio de su sistema, ejecute este comando en la terminal:

sudo systemctl list-unit-files –type service –state enable

Esto le mostrará una tabla con dos columnas: ARCHIVO DE UNIDADy ESTADO. La columna ARCHIVO DE UNIDAD muestra el nombre del archivo de la unidad de servicio. La columna ESTADO muestra si el servicio está habilitado o no.

Enumerar servicios deshabilitados con systemctl

Para ver qué servicios están deshabilitados y no se inician automáticamente en el momento del arranque de su sistema, abra su terminal Linux y ejecute este comando:

sudo systemctl list-unit-files –type service –state deshabilitado

Esto filtrará los servicios que están habilitados o enmascarados.

Mostrar detalles de un servicio con systemctl

Para mostrar más detalles sobre un servicio específico en su sistema, ejecute este comando en la terminal:

sudo systemctl status

Reemplace con el nombre del archivo de la unidad de servicio que desea verificar.

Esto le mostrará información como la descripción, el estado de carga, el estado activo, el subestado, el ID del proceso (PID), el uso de la memoria, el uso de la CPU y los registros de servicio recientes.

También puede utilizar el subcomando show en lugar de status para mostrar todas las propiedades del servicio en un formato nombre=valor.

Iniciar un servicio con systemctl

Para iniciar un servicio que está detenido en su sistema, ejecute este comando en su terminal Linux:

sudo systemctl start

Reemplace con el nombre del archivo de la unidad de servicio que desea iniciar.

Esto iniciará el servicio en segundo plano y volverá al mensaje. Puede utilizar el subcomando status para verificar que el servicio se esté ejecutando.

Detener un servicio con systemctl

Para detener un servicio que se está ejecutando en su sistema, ejecute este comando en la terminal:

sudo systemctl stop

Reemplace con el nombre del archivo de la unidad de servicio que desea detener

Esto detendrá el servicio en segundo plano y volverá al mensaje. Puede utilizar el subcomando status para verificar que el servicio esté detenido.

Reiniciar un servicio con systemctl

¿Quiere editar y recargar el archivo de configuración de un servicio y aplicar los cambios? Si lo hace, deberá reiniciar el servicio después.

Para reiniciar un servicio que se está ejecutando en su sistema, abra su terminal y ejecute este comando:

sudo systemctl restart

Reemplacecon el nombre del archivo de la unidad de servicio que desea reiniciar.

Esto detendrá e iniciará el servicio en segundo plano y volverá al mensaje. Puede utilizar el subcomando status para verificar que el servicio se esté ejecutando.

Recargar un servicio con systemctl

Algunos servicios admiten la recarga de su configuración sin detenerse ni iniciarse. Recargar un servicio le permite realizar cambios menores en los archivos de configuración de ese servicio sin reiniciarlos. Esto es más rápido y menos perjudicial que reiniciar.

Para recargar un servicio que admita esta función, utilice el siguiente comandosystemctlen la terminal:

sudo systemctl reload

Reemplace con el nombre del archivo de la unidad de servicio que desea recargar.

Esto recargará el servicio en segundo plano y volverá al mensaje. Puede utilizar el subcomando status para verificar que el servicio se esté ejecutando.

Habilitar un servicio con systemctl

Para permitir que un servicio se inicie automáticamente en el momento del inicio de su sistema, ejecute este comando en la terminal:

sudo systemctl enable .

Reemplace con el nombre del archivo de la unidad de servicio que desea habilitar.

Esto creará un enlace simbólico desde el archivo de la unidad de servicio a una ubicación en /etc/systemd/system, que le indica a systemd que lo inicie en el momento del arranque.

También puede utilizar la opción –nowpara habilitar e iniciar un servicio simultáneamente. Por ejemplo:

sudo systemctl enable –now

Deshabilitar un servicio con systemctl

Para desactivar un servicio para que no se inicie automáticamente en el momento del arranque de su sistema, ejecute este comando en la terminal de Linux:

sudo systemctl deshabilitar

Reemplace con el nombre del archivo de la unidad de servicio que desea deshabilitar.

Esto eliminará el enlace simbólico de /etc/systemd/system, que le indica a systemd que no lo inicie en el momento del arranque.

También puedes usar la opción –nowpara deshabilitar y detener un servicio al mismo tiempo:

sudo systemctl deshabilitar –ahora

Enumerar servicios enmascarados con systemctl

Enmascarar un servicio significa vincular su archivo de unidad a /dev/null, lo que evita que systemd lo cargue o manipule. Esto añade una capa adicional de protección.

Para ver qué servicios están enmascarados y no se pueden iniciar ni detener de forma manual o automática en su sistema, ejecute este comando en la terminal de su PC con Linux:

sudo systemctl list-unit-files –type service –state enmascarado

La lista de servicios enmascarados aparecerá en una lista (con maskeden la columna ESTADO)

Enmascarar un servicio con systemctl

Ejecute este comando en la terminal para enmascarar el inicio, la detención manual o automática de un servicio en su sistema:

sudo systemctl mask

Reemplace con el nombre del archivo de la unidad de servicio que desea enmascarar.

Esto creará el enlace simbólico desde el archivo de la unidad de servicio a /dev/nullpara evitar que systemd lo cargue o lo manipule..

Desenmascarar un servicio con systemctl

Puedes desenmascarar un servicio que haya sido enmascarado previamente. Esto eliminará el enlace simbólico a /dev/null y permitirá que se use y cargue en otro lugar.

Para desenmascarar un servicio que estaba previamente enmascarado en su sistema, ejecute este comando:

sudo systemctl desenmascarar

Reemplace con el nombre del archivo de la unidad de servicio que desea desenmascarar.

Control de su PC con Linux

Si su PC con Linux utiliza systemd para administrar los servicios del sistema, puede usar el comando systemctlpara administrarlos. Puede iniciar, detener, recargar, deshabilitar y controlar sus servicios, lo que le brinda un mayor control sobre su PC con Linux.

Otra forma de administrar su PC es limitar el acceso a ciertos archivos. Puedes usa el comando chmod en tu PC con Linux permitir (o no permitir) el acceso.

¿No estás seguro de si tu distribución de Linux es adecuada? Deberías probar otra distribución superior de Linux en su lugar, o incluso probar un distribución de Linux portátil. Usar una distribución portátil te permitirá cambiar entre ellas con facilidad.

.

Artículos Relacionados:


26.04.2023