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
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
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
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
Reemplace
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
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
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
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
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
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.
.