Tutoriales

Ejemplo de comando Systemctl en Linux

Si utiliza alguna distribución de Linux popular, incluidas Debian, Ubuntu, Arch, openSUSE o Fedora, su sistema utilizará systemd como sistema de inicio.

Por supuesto, existe controversia en torno a systemd. Sin embargo, es el sistema de inicio más utilizado.

En las distribuciones con systemd, hay un comando que te hace la vida más fácil.es Control de sistema Directiva para interactuar con el servicio systemd init. Este comando siempre lo utilizan los administradores del sistema, pero también es útil para los usuarios finales que quieren tomar el control desde el terminal.

Por ejemplo, puede utilizar el comando systemctl para enumerar servicios en Linux.

Entonces, en este tutorial, lo guiaré a través de todos los puntos que necesita para aprender a usar el comando systemctl:

  • Sintaxis básica y banderas comunes.
  • Ejemplos prácticos de comandos.
  • Practique preguntas para mejorar el uso del comando systemctl.

A continuación se explica cómo utilizar el comando Systemctl

Para utilizar el comando systemctl, es importante comprender la sintaxis y las opciones disponibles.

La gramática es la siguiente:

systemctl  

aquí,

  • : Aquí puede especificar las acciones que desea realizar con el servicio, por ejemplo stop, startETC.
  • : Aquí puede especificar el nombre del servicio que desea utilizar.

Para administrar servicios, puede usar varios comandos usando el comando systemctl, uno de los comandos más útiles se enumera a continuación:

Ordendescribir
systemctl start [service]Inicie un servicio y ejecútelo en segundo plano.
systemctl stop [service]Detener los servicios actualmente en ejecución.
systemctl enable [service]Configure el servicio para que se inicie automáticamente cuando se inicie el sistema.
systemctl disable [service]Configure el servicio para que no se inicie automáticamente al iniciar el sistema.
systemctl status [service]Muestra el estado actual del servicio (en ejecución, detenido, etc.).
systemctl restart [service]Detenga el servicio en ejecución y reinícielo.
systemctl reload [service]Vuelva a cargar la configuración del servicio sin detenerlo.
systemctl mask [service]Impide que se inicien los servicios, incluso si se inician manualmente.
systemctl unmask [service]Permitir que se inicien servicios previamente bloqueados.
systemctl set-default [target]Cambie el objetivo predeterminado del sistema (nivel de operación) para el próximo inicio.
systemctl list-unit-filesEnumera todos los archivos de la unidad instalada y su estado actual (activado/desactivado).
systemctl list-dependencies [unit]Muestra las dependencias requeridas por una unidad específica (otras unidades).
systemctl list-socketsEnumere todos los sockets activos (utilizados para la comunicación entre procesos).
systemctl list-jobsMuestra todos los trabajos systemd actualmente activos (operaciones en curso).
systemctl list-unitsEnumere todas las unidades systemd cargadas y activas (servicios, sockets, etc.).

Ahora, veamos algunos ejemplos prácticos del comando systemctl.

Ejemplo práctico del comando systemctl

En esta sección, compartiré algunos ejemplos prácticos de comandos systemctl, desde básicos hasta avanzados.

Comencemos con cómo iniciar el servicio.

1. Iniciar el servicio

En la mayoría de los casos, el ajuste preestablecido iniciará el servicio instalado, pero a veces será necesario que lo haga manualmente.

Para iniciar el servicio es necesario utilizar start Utilice la directiva systemctl para etiquetar y agregar el nombre del servicio de la siguiente manera:

sudo systemctl start 

Supongamos que quiero iniciar el servidor Apache, usaré el siguiente comando:

sudo systemctl start apache2
Inicie el servicio usando el comando systemctl

2. Habilite el servicio

Cuando inicias un servicio, solo es válido hasta la próxima vez que lo inicies. Esto significa que el servicio se cerrará cuando reinicie el sistema.

Para solucionar esta situación, desea iniciar un servicio automáticamente al iniciar el sistema, para ello puede utilizar enable El logotipo se muestra a continuación:

sudo systemctl enable 

Por ejemplo, si quiero habilitar el servicio Apache, usaría el siguiente comando:

sudo systemctl enable apache2
Utilice el comando systemctl para habilitar el servicio

3. Detener el servicio

Cuando planeas modificar un servicio activo, el primer paso que tienes que hacer es detener el servicio, para esto puedes usar stop El logotipo se muestra a continuación:

sudo systemctl stop 

Por ejemplo, cómo detener el servicio Apache es el siguiente:

sudo systemctl stop apache2
Utilice el comando systemctl para detener el servicio

Lectura recomendada📖

Iniciar, detener y reiniciar servicios en Ubuntu y otros Linux

Puede administrar fácilmente servicios usando systemd e init. Aprenda cómo iniciar, detener y reiniciar servicios en Ubuntu y otras distribuciones de Linux.

4. Desactivar servicios

Si ha habilitado un servicio en el pasado pero ahora ya no desea que esté activo cada vez que se inicia el sistema, puede desactivarlo.

Para desactivar el servicio, puede utilizar disable El logotipo se muestra a continuación:

sudo systemctl disable 

Para desactivar el servicio Apache, utilizo el siguiente comando:

sudo systemctl disable apache2
Deshabilite los servicios usando el comando systemctl

5. Verificar el estado del servicio

Se recomienda encarecidamente verificar el estado antes de realizar cualquier operación en el servicio, esto puede ahorrarle mucho tiempo.

Para verificar el estado de un servicio, simplemente agregue el nombre del servicio a status El logotipo se muestra a continuación:

systemctl status 

Aquí compruebo el estado del servicio Apache:

systemctl status apache2
Utilice el comando systemctl para comprobar el estado del servicio

Como desactivé el servicio Apache anteriormente, el resultado anterior indica que el servicio está deshabilitado.

Pero dependiendo de su servicio, puede recibir diferentes estados de servicio, lo que significa lo siguiente:

estadodescribir
active (running)Actualmente, el servicio se ejecuta en segundo plano.
active (exited)El servicio es una tarea única o periódica que ha completado su ejecución.
active (waiting)El servicio se está ejecutando pero está esperando que ocurra un evento o condición específica antes de poder continuar.
inactiveEste servicio actualmente no está funcionando.
enabledEste servicio está configurado para iniciarse automáticamente cuando se inicia el sistema.
disabledEste servicio está configurado para no iniciarse automáticamente al iniciar el sistema.
staticEste servicio no se puede administrar mediante comandos systemd o systemctl; requiere administración manual.
maskedEl servicio está bloqueado, lo que significa que no puede iniciarse (es necesario desbloquearlo antes de ejecutarlo).
aliasEl nombre del servicio es un alias y el servicio es un enlace simbólico al archivo de otra unidad.
linkedUn archivo de servicio o unidad está vinculado simbólicamente a otro archivo de unidad.

6. Reinicie el servicio

Después de modificar la configuración del servicio, o si no responde, reiniciar el servicio puede ser útil.

Para reiniciar el servicio puedes usar restart El logotipo se muestra a continuación:

sudo systemctl restart 

Por ejemplo, mi servidor Apache no responde, así que si quiero reiniciar el servicio, uso el siguiente comando:

sudo systemctl restart apache2

Lectura relacionada📖

14 distribuciones de Linux sin Systemd

systemd ha sido adoptado por la mayoría de las principales distribuciones de Linux. Si no le gusta nada systemd, existen distribuciones de Linux alternativas para usted.

7. Recarga el servicio

sudo systemctl unmask 

Cuando realiza cambios en la configuración de un servicio, recarga el servicio y desea que los cambios se apliquen sin reiniciar todo el servicio.

sudo systemctl unmask 

Para recargar el servicio puedes utilizar reload El logotipo se muestra a continuación:

sudo systemctl reload 

Por ejemplo, hice algunos cambios en el servicio Apache y ahora, si quiero recargar el servicio Apache, escribo lo siguiente en la terminal:

sudo systemctl reload apache2

8. Servicios de bloqueo

Bloquear un servicio es la forma más eficaz de evitar que el servicio se inicie manual o automáticamente durante el inicio del sistema.

Piense en ello como una versión más sólida de fuera de servicio.

Para bloquear un servicio puedes usar mask El logotipo se muestra a continuación:

sudo systemctl mask 

Así es como la directiva busca el servicio Apache:

sudo systemctl mask apache2
Utilice el comando systemctl para bloquear servicios

Siempre que bloquee un servicio, verá creado un enlace simbólico que redirige el archivo de configuración del servicio a un dispositivo vacío (/dev/null). Esto significa que no puede iniciar el servicio de ninguna manera hasta que se descubra.

9. Revela el servicio

Si desea iniciar el servicio de bloqueo, ¡primero debe cancelar el bloqueo!

Para desenmascarar un servicio que puede utilizar unmask El logotipo se muestra a continuación:

sudo systemctl unmask 

Simplemente ingrese un comando como este:

sudo systemctl unmask apache2
Utilice el comando systemctl para desbloquear el servicio

Como puede ver, elimina el enlace simbólico apuntado. /dev/null.

10. Establece objetivos predeterminados

Establecer el objetivo predeterminado se refiere a cambiar el modo operativo predeterminado o el nivel operativo al que ingresa el sistema después del inicio.

Un buen ejemplo de configuración de un objetivo predeterminado es seleccionar la interfaz de usuario para iniciar; por ejemplo, puede iniciar en modo CLI o GUI.

Para establecer un objetivo predeterminado, puede utilizar set-default El logotipo se muestra a continuación:

sudo systemctl set-default 

Por ejemplo, si desea iniciar la GUI, configuro el objetivo predeterminado en graphical.target como muestra la imagen:

sudo systemctl set-default graphical.target

Además de los destinos GUI, tienes otras opciones:

Objetivodescribir
multi-user.targetEste objetivo inicia el sistema con la red habilitada y es adecuado para servidores o estaciones de trabajo no gráficas.
rescue.targetEste objetivo es útil para la recuperación del sistema o la resolución de problemas cuando el sistema no arranca en el modo multiusuario normal.
emergency.targetEste objetivo proporciona un entorno de emergencia para el mantenimiento o reparación del sistema cuando el sistema se encuentra en un estado gravemente dañado.
reboot.targetPor lo general, esto se usa para reinicios únicos o secuencias de comandos automatizadas.
poweroff.targetPor lo general, esto se usa para apagados únicos o secuencias de comandos automatizadas.
hibernate.targetConfigura el sistema para que hiberne (guarde el estado del sistema en el disco y apáguelo) como destino predeterminado, solo disponible si el sistema admite la hibernación.
hybrid-sleep.targetConfigura el sistema para que entre en el modo de suspensión híbrido (una combinación de hibernación y suspensión) como objetivo predeterminado. Disponible solo si el sistema admite la suspensión híbrida.

Lectura recomendada📖

Cómo enumerar servicios en Linux

Verificar el estado del servicio es uno de los primeros pasos para solucionar problemas de un sistema Linux. Aprenda a enumerar servicios en su sistema en este tutorial.

11. Listar archivos unitarios

Los archivos de unidades son archivos de configuración de texto sin formato que se utilizan para definir y administrar unidades y servicios del sistema.

Puede enumerar todos los archivos de unidades ejecutando el siguiente comando:

systemctl list-unit-files
Listar archivos unitarios en Linux

12. Lista de todos los sockets activos

Cuando enumera todos los sockets activos, puede obtener información sobre los canales de comunicación entre procesos establecidos en los sistemas basados ​​en systemd.

Para enumerar todos los sockets activos, utilice la directiva proporcionada:

systemctl list-sockets
Utilice el comando systemctl para enumerar todos los sockets activos

Hay una lista de todos los sockets que están escuchando solicitudes entrantes.

Preguntas de práctica 📓

Después de comprender los conceptos básicos del comando systemctl, es importante practicar su uso mejor.

Aquí hay algunas preguntas de práctica para el comando systemctl:

  1. ¿Cómo comprobarías el estado? httpd Uso del servicio systemctl?
  2. Escribir comando para comenzar sshd servicio si aún no se está ejecutando.
  3. quieres habilitar mysqld El servicio se inicia automáticamente cuando se inicia el sistema. ¿Qué comando usarías para hacer esto?
  4. Supongamos que necesita recargar la configuración. nginx servicio sin interrumpir sus operaciones.Qué systemctl ¿Sabes usar comandos?
  5. Su sistema está actualmente configurado para iniciar multi-user.target Por defecto.Quiere cambiar el objetivo predeterminado a graphical.target para el próximo inicio. ¿Cómo utilizarías para lograr esto?

Si tiene alguna dificultad para resolver el problema anterior, puede publicar su pregunta en nuestro foro comunitario o dejar un comentario a continuación.

envolver

Ahora que comprende la esencia del comando systemctl, ¿qué sigue?

Bueno, si estás interesado en explorar y experimentar, puedes crear tu propio servicio systemd. Aquí se explica cómo escribir su propio servicio systemd en Linux:

Cómo configurar el servicio systemd en Linux

Conozca los pasos para crear un servicio systemd en Linux a través de los ejemplos prácticos que se muestran en este tutorial.

¿Es usted un estudiante nuevo que quiere explorar los comandos de Linux? Quizás quieras comenzar con lo básico:

Tutorial de instrucciones de Linux para principiantes absolutos

¿Nunca antes usaste comandos de Linux? No te preocupes. Esta serie de tutoriales es adecuada para principiantes absolutos en terminales Linux.

💬 ¿Me perdí una variante del comando systemctl que es importante para ti? ¿Cómo lo usa para su caso de uso? Por favor dímelo en los comentarios.

LEER  ¿Cómo descomprimir múltiples archivos en Linux?

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba