Si es un 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 enumera, inicia, detiene, habilita, deshabilita o reinicia los servicios en Linux? La respuesta es el comando systemctl. Este comando es parte de systemd, un moderno sistema y administrador de servicios para distribuciones de Linux como Ubuntu y Debian.
Tabla de contenido
Si es un principiante de Linux y desea administrar estos servicios usando systemctel, siga los pasos a continuación.
List All Services with systemctl
Para listar todos los servicios en su sistema Linux, ejecute este comando en la terminal:
sudo systemctl list-units –type service
Esto le mostrará una tabla con cinco columnas: UNIDAD, CARGA, ACTIVO, SUB y DESCRIPCIÓN.
La columna UNIT muestra el nombre del archivo de la unidad de servicio, que es el archivo de definición y configuración del servicio. Este archivo contiene información sobre lo que hace el servicio y cómo administrarlo. También puede ver una descripción rápida del servicio en la columna DESCRIPCIÓN.
La columna LOAD muestra si el archivo de la unidad de servicio está cargado en la memoria. La columna ACTIVO muestra si es un servicio en ejecución o no. Finalmente, la columna SUB muestra el subestado del servicio, como en ejecución, cerrado o fallido.
También puede usar la opción-a o –all en lugar de –type service para enumerar todos los tipos de unidades, no solo los servicios.
List Active Services With 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 –type service –state active
Esto filtrará los servicios que están inactivos (detenidos) o fallidos.
List Inactive Services With systemctl
Del mismo modo, si solo desea ver los servicios que actualmente están inactivos (detenidos) en su sistema, ejecute este comando en la terminal:
sudo systemctl list-units –type service –state inactive
Esto filtrará los servicios que están activos (ejecutándose) o fallaron.
Lista de servicios fallidos con systemctl
Si desea ver los servicios que no se iniciaron o detuvieron en su sistema, abra la terminal y ejecute este comando:
sudo systemctl list-units –type service –state fail
Esto filtrará cualquier servicio actualmente activo (en ejecución) o inactivo (detenido).
List Enabled Services With systemctl
Para ver qué servicios están habilitados para iniciarse automáticamente en el momento del arranque en 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: UNIT FILE y STATE. La columna UNIT FILE muestra el nombre del archivo de la unidad de servicio. La columna ESTADO muestra si el servicio está habilitado o no.
Lista de servicios deshabilitados con systemctl
Para ver qué servicios están deshabilitados y no se iniciarán automáticamente en el momento del arranque en su sistema, abra su Linux terminal y ejecute este comando:
sudo systemctl list-unit-files –type service –state disabled
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, estado de carga, estado activo, subestado, ID de proceso (PID), uso de memoria, uso de CPU y servicio reciente registros
También puede usar el subcomando show en lugar del estado 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 el fondo y volver a la indicación. Puede usar el subcomando de estado 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 a la indicación. Puede utilizar el subcomando de estado para verificar que el servicio está detenido.
Reiniciar un servicio con systemctl
¿Quiere editar y volver a cargar 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
Reemplazar
Esto detendrá e iniciará el servicio en segundo plano y regresará al aviso. Puede usar el subcomando de estado para verificar que el servicio se está ejecutando.
Recargar un servicio con systemctl
Algunos servicios admiten recargar su configuración sin detenerse e 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 disruptivo que reiniciar.
Para recargar un servicio que admita esta característica, use el siguiente comando systemctl en la terminal:
sudo systemctl reload
Replace
Esto recargará el servicio en segundo plano y regresará al indicador. Puede usar el subcomando de estado para verificar que el servicio se está ejecutando.
Habilite un servicio con systemctl
Para habilitar un servicio para que se inicie automáticamente en el momento del arranque en 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 dice a systemd que lo inicie en el momento del arranque.
También puede usar la opción –ahora para habilitar e iniciar un servicio simultáneamente. Por ejemplo:
sudo systemctl enable –now
Desactivar un servicio con systemctl
Para desactivar un el servicio se inicie automáticamente en el momento del arranque en su sistema, ejecute este comando en la terminal de Linux:
sudo systemctl disabled
Reemplace
Esto eliminará el enlace simbólico de/etc/systemd/system, que le dice a systemd que no lo inicie en el momento del arranque.
También puede usar la opción –now para deshabilitar y detener un servicio al mismo tiempo:
sudo systemctl disabled –now
Lista de servicios enmascarados con systemctl
Enmascarar un servicio significa vincular su archivo de unidad a/dev/null, lo que evita que systemd lo cargue o lo manipule. Esto agrega una capa adicional de protección.
Para ver qué servicios están enmascarados y no se pueden iniciar o detener manual o automáticamente en su sistema, ejecute este comando en la terminal de su PC con Linux:
sudo systemctl list-unit-archivos –tipo servicio –estado enmascarado
La lista de servicios enmascarados aparecerá en una lista (con enmascarados debajo de la columna ESTADO)
Enmascarar un Servicio con systemctl
Ejecute este comando en la terminal para enmascarar un servicio para que no se inicie, se detenga manual o automáticamente en su sistema:
sudo systemctl mask
Reemplace
Esto creará el enlace simbólico desde la unidad de servicio archivo a/dev/null para evitar que systemd lo cargue o lo manipule.
Desenmascarar un servicio con systemctl
Puede desenmascarar un servicio que haya estado enmascarado previamente. Esto eliminará el enlace simbólico a/dev/null y permitirá que se use y se cargue en otro lugar.
Para desenmascarar un servicio que anteriormente estaba enmascarado en su sistema, ejecute este comando:
sudo systemctl unmask
Replace
Controlar su PC con Linux
Si su PC con Linux usa systemd para administrar los servicios del sistema, puede usar el comando systemctl para 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. Puede usar el comando chmod en su PC con Linux para permitir (o rechazar) el acceso.
¿No está seguro de si su distribución de Linux es adecuada? En su lugar, debería probar otra distribución superior de Linux, o incluso probar una distribución portátil de Linux. El uso de una distribución portátil le permitirá cambiar entre ellos con facilidad.