GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo verificar el nivel de ejecución en Linux

Esta breve guía explica qué es un nivel de ejecución, cuántos niveles de ejecución hay en Linux y cómo verificar el nivel de ejecución en los sistemas operativos Linux.

¿Qué es el nivel de ejecución?

Un nivel de ejecución es uno de los modos en los que se ejecutará un sistema operativo basado en Unix. En otras palabras, un nivel de ejecución es un estado de init y todo el sistema que define qué servicios del sistema están operando.

En Linux Kernel, existen 7 niveles de ejecución, comenzando de 0 a 6. El sistema puede iniciarse en un solo nivel de ejecución a la vez.

De forma predeterminada, un sistema arranca en el nivel de ejecución 3 o en el nivel de ejecución 5. El nivel de ejecución 3 es CLI y el 5 es GUI. El nivel de ejecución predeterminado se especifica en /etc/inittab archivo en la mayoría de los sistemas operativos Linux.

Al usar el nivel de ejecución, podemos averiguar fácilmente si X se está ejecutando, si la red está operativa, etc.

1. Compruebe el nivel de ejecución en Linux (inicio de SysV)

Aquí está la lista de niveles de ejecución en las distribuciones de Linux, que se distribuyeron con SysV init como administrador de servicios predeterminado.

  • 0 - Alto
  • 1 - Modo de texto de usuario único
  • 2 - No utilizado (definible por el usuario)
  • 3 - Modo de texto multiusuario completo
  • 4 - No utilizado (definible por el usuario)
  • 5 - Modo gráfico multiusuario completo (con una pantalla de inicio de sesión basada en X)
  • 6 - Reiniciar

Ahora, veamos cómo encontrar los niveles de ejecución.

Para averiguar el nivel de ejecución del sistema, abra su Terminal y ejecute el siguiente comando:

$ runlevel

Salida de muestra:

N 3

En el resultado anterior, la letra 'N' indica que el nivel de ejecución no ha cambiado desde que se inició el sistema. Y, 3 es el nivel de ejecución actual, es decir, el sistema está en modo CLI.

En versiones más nuevas de init , puede encontrar los detalles del nivel de ejecución actual y anterior utilizando las variables de entorno denominadas RUNLEVEL y PREVLEVEL .

Digamos, por ejemplo, que para averiguar el nivel de ejecución actual, debe ejecutar:

$ echo $RUNLEVEL

Para encontrar el nivel de ejecución anterior:

$ echo $PREVLEVEL

Si desea cambiar RunLevel a otra cosa, edite /etc/inittab archivo:

$ sudo vi /etc/inittab

Busque y edite la entrada initdefault al nivel de ejecución de su elección. Digamos, por ejemplo, que para establecer el nivel de ejecución en modo gráfico multiusuario (nivel de ejecución 5), modifíquelo como se muestra a continuación.

id:5:initdefault:

Guarde y cierre el archivo. Reinicie su sistema para iniciar sesión en su nuevo nivel de ejecución.

Para obtener más detalles sobre los niveles de ejecución, consulte las páginas man.

$ man runlevel

2. Comprobar el nivel de ejecución en Linux (Systemd)

En versiones recientes de sistemas Linux (a partir de RHEL 7, Ubuntu 16.04 LTS), el concepto de niveles de ejecución ha sido reemplazado por systemd objetivos.

Aquí está la lista de Systemd objetivos en distribuciones de Linux, que se distribuyeron con Systemd como administrador de servicios predeterminado.

  1. runlevel0.target, poweroff.target - Detener
  2. runlevel1.target, rescue.target - modo de texto de usuario único
  3. runlevel2.target, multi-user.target :no se usa (definible por el usuario)
  4. runlevel3.target, multi-user.target :modo de texto multiusuario completo
  5. runlevel4.target, multi-user.target :no se usa (definible por el usuario)
  6. runlevel5.target,graphical.target :modo gráfico multiusuario completo (con una pantalla de inicio de sesión basada en X)
  7. runlevel6.target,reboot.target - Reiniciar

En sistemas Linux que usan Systemd como administrador de servicios predeterminado, puede encontrar el objetivo actual usando el comando:

$ systemctl get-default

Salida de muestra:

graphical.target

Como puede ver en el resultado anterior, mi nivel de ejecución actual (objetivo en otras palabras) es 5 , que es el modo gráfico.

Para ver todos los objetivos cargados actualmente, ejecute:

$ systemctl list-units --type target

Salida de muestra:

   UNIT                   LOAD   ACTIVE SUB    DESCRIPTION                             
   basic.target           loaded active active Basic System
   bluetooth.target       loaded active active Bluetooth
   cryptsetup.target      loaded active active Local Encrypted Volumes
   getty.target           loaded active active Login Prompts
   graphical.target       loaded active active Graphical Interface
   local-fs-pre.target    loaded active active Local File Systems (Pre)
   local-fs.target        loaded active active Local File Systems
   multi-user.target      loaded active active Multi-User System
   network-online.target  loaded active active Network is Online
   network-pre.target     loaded active active Network (Pre)
   network.target         loaded active active Network
   nfs-client.target      loaded active active NFS client services
   nss-lookup.target      loaded active active Host and Network Name Lookups
   nss-user-lookup.target loaded active active User and Group Name Lookups
   paths.target           loaded active active Paths
   remote-fs-pre.target   loaded active active Remote File Systems (Pre)
   remote-fs.target       loaded active active Remote File Systems
   rpc_pipefs.target      loaded active active rpc_pipefs.target
   rpcbind.target         loaded active active RPC Port Mapper
   slices.target          loaded active active Slices
   sockets.target         loaded active active Sockets
   sound.target           loaded active active Sound Card
   swap.target            loaded active active Swap
   sysinit.target         loaded active active System Initialization
   timers.target          loaded active active Timers
   veritysetup.target     loaded active active Local Verity Integrity Protected Volumes
 LOAD   = Reflects whether the unit definition was properly loaded.
 ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
 SUB    = The low-level unit activation state, values depend on unit type.
 26 loaded units listed. Pass --all to see loaded but inactive units, too.
 To show all installed unit files use 'systemctl list-unit-files'.

El comando anterior mostrará solo los objetivos activos.

Para ver todos los objetivos cargados (activos e inactivos), ejecute:

$ systemctl list-units --type target --all

Si desea cambiar RunLevel a otra cosa, por ejemplo runlevel3.target , configúrelo como se muestra a continuación:

$ sudo systemctl set-default runlevel3.target

Para cambiar a una unidad de destino diferente solo en la sesión actual, ejecute el siguiente comando:

$ sudo systemctl isolate runlevel3.target

Para obtener más detalles, consulte Systemd páginas man.

$ man systemd

Verifique el nivel de ejecución de Linux usando el comando 'who'

Como sugirió uno de los lectores en la sección de comentarios a continuación, también podemos encontrar el nivel de ejecución usando who comando como a continuación:

$ who -r

Salida de muestra:

     run-level 5  2021-06-09 10:21

Espero que esto ayude.

Lectura relacionada:

  • Cómo enumerar los servicios de inicio al arrancar en Linux

Linux
  1. Cómo llegó Linux al mainframe

  2. Cómo cambiar un nivel de ejecución en el sistema RHEL 7 Linux

  3. Cómo verificar la versión del sistema operativo y Linux

  4. Cómo verificar el historial de inicio de sesión de Linux

  5. Cómo comprobar la versión de MySQL en Linux

Cómo usar el escáner de seguridad NMAP en Linux

Cómo verificar todos los servicios en ejecución en Linux

Cómo verificar la complejidad de la contraseña en Linux

Comprobar la zona horaria en Linux

Cómo verificar el espacio de intercambio en Linux

Cómo comprobar la versión de PHP en Linux