Cómo arrancar Ubuntu 18.04 en modo de emergencia y rescate

Cómo arrancar Ubuntu 18.04 en modo de emergencia y rescate

Objetivo

Aprender sobre los objetivos de emergencia y rescate de Systemd y cómo iniciar el sistema en ellos

Requisitos

  • ningún requerimiento especial

Dificultad

FÁCIL

Convenciones

  • # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz
    directamente como usuario raíz o mediante el uso de sudo dominio
  • ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Introducción

Systemd hoy en día se ha convertido en el estándar de facto sistema inicial Para todas las principales distribuciones de Linux.

Reemplazo de SYSV y advenedizo, también reemplazó la forma clásica de definir el sistema niveles, Uso del sistema objetivos, un tipo especial de unidad.

En este tutorial veremos cómo arrancar un Ubuntu 18.04 Sistema en el emergencia y rescate objetivos de Systemd y qué tipo de entorno proporcionan a los usuarios.

Systemd Targets vs clásicos RunLevels

Systemd ha introducido el concepto de objetivos que reemplazó el clásico sistema RunLevels.

Como ejemplo, lo que se conocía como RunLevel 0 en sysv, que representa el detener estado de la máquina, es el equivalente del sistema apagado objetivo.

Similarmente,
RunLevel 1 o modo de usuario único Encuentra su SystemD equivalente en el rescate objetivo.

Finalmente, RunLevels 5 y 6, utilizados respectivamente para el modo gráfico y para reiniciar el sistema, ahora han sido reemplazados por el gráfico y reiniciar objetivos. El rescate y lo similar emergencia Los objetivos son de lo que hablaremos en este tutorial: son muy útiles para arreglar algunas situaciones críticas.



El objetivo de emergencia

El emergencia El objetivo es el entorno más mínimo en el que se puede iniciar el sistema.

Una vez que se alcanza este objetivo, se inicia un shell de emergencia en la consola principal.

Aparte de eso, solo system en sí está disponible para el usuario: solo se monta el sistema de archivos raíz (en modo de solo lectura) y no se inician servicios (esto también significaría que no tendrá acceso a la red).

Este es el objetivo en el que se nos cae cuando el proceso de arranque no se puede completar con éxito (cuando una verificación del sistema de archivos falla, por ejemplo).

Cómo se define el objetivo de emergencia

Para verificar cómo se define el objetivo de emergencia, debemos inspeccionar el sistema dedicado unidad.

Podemos usar el gato systemctl comandar para lograr esta tarea:

$ SystemCtl Cat Emergency.Target #/lib/systemd/system/emerger.Target # Este archivo es parte de Systemd. # # Systemd es software gratuito; Puede redistribuirlo y/o modificarlo # bajo los términos de la Licencia Pública General Menor GNU Publicada por # The Free Software Foundation; ya sea la versión 2.1 de la licencia, o # (a su opción) cualquier versión posterior. [Unidad] Descripción = Documentación en modo de emergencia = hombre: Systemd.especial (7) requiere = emergencia.Servicio después = Emergencia.Servicio alendario = sí 
Copiar

Como podemos ver en la salida anterior, la emergencia.El objetivo requiere la emergencia relacionada.servicio como dependencia. Echemos un vistazo también:

$ SystemCtl Cat Emergency.Servicio #/lib/systemd/system/emergencia.Servicio # Este archivo es parte de Systemd. # # Systemd es software gratuito; Puede redistribuirlo y/o modificarlo # bajo los términos de la Licencia Pública General Menor GNU Publicada por # The Free Software Foundation; ya sea la versión 2.1 de la licencia, o # (a su opción) cualquier versión posterior. [Unidad] Descripción = Documentación de shell de emergencia = hombre: sulogina (8) Defaultdependencias = sin conflictos = apagado.conflictos objetivo = rescate.servicio antes = apagado.objetivo antes = rescate.servicio [servicio] ambiente = home =/root workingDirectory =-/root execstart =-/lib/systemd/systemd-sulogin-shell type de emergencia = inactivo StandardInput = tty-force standardOutput = inherit StandardError = Inherit KillMode = Process Ignoresigpipe = NO SendSighUp. = SÍ 
Copiar

La definición del servicio nos brinda información muy clara.

En primer lugar, el HOGAR La variable de entorno se define a través del Ambiente palabra clave, y corresponde al directorio de inicio del usuario root.

Este es también el directorio de trabajo utilizado por defecto cuando la emergencia.Se alcanza el objetivo.

Cuando se inicia este servicio, el /lib/systemd/systemd-sulogin-shell Se llama al ejecutable, que, a su vez, invoca /usr/sbin/sulogin, responsable de proporcionarnos un inicio de sesión para el shell de usuario único.



Cómo acceder a la emergencia.objetivo en el arranque

Para obligar al sistema a iniciar la emergencia.objetivo, debemos modificar el menú de grub.

Esta es una operación muy fácil. Cuando aparezca el menú de grub, simplemente seleccione la primera entrada y presione mi Para editar:

Una vez que presione el mi clave, podrá modificar los parámetros de arranque y la línea de comandos del kernel.

Buscar la línea que comienza con Linux:

En este punto, golpea CTRL-E Para llegar al final de la línea, elimine $ VT_HANDOFF y agregar el system.Unidad = Emergencia.objetivo directiva (también puede usar solo emergencia Como alias, para la compatibilidad de SYSV), para que su línea se vea así:

Si ahora presionas CTRL-X o F10, El sistema iniciará al modo de emergencia:

Ubuntu 18.04 Modo de emergencia

El rescate.objetivo

Este es el objetivo de Systemd que puede estar asociado al modo de usuario único antiguo.

A diferencia de lo que sucede con la emergencia.objetivo, cuando se alcanza este objetivo, se extrae el sistema base: todos los sistemas de archivos están montados y los servicios más básicos se inician y se ponen a disposición del usuario.

El rescate.El objetivo se define en/lib/systemd/system/rescue.archivo de destino:

#/lib/systemd/system/rescue.Target # Este archivo es parte de Systemd. # # Systemd es software gratuito; Puede redistribuirlo y/o modificarlo # bajo los términos de la Licencia Pública General Menor GNU Publicada por # The Free Software Foundation; ya sea la versión 2.1 de la licencia, o # (a su opción) cualquier versión posterior. [Unidad] Descripción = Documentación del modo de rescate = hombre: Systemd.Especial (7) requiere = Sysinit.rescate objetivo.Servicio después = Sysinit.rescate objetivo.Servicio alendario = sí 
Copiar

El rescate.objetivo, al igual que lo que sucede para la emergencia.objetivo requiere el relacionado rescate.servicio, más el sistema de sysinit.objetivo.

El primero, al igual que la emergencia.El servicio básicamente proporciona el inicio de sesión único del usuario, mientras que este último atrae los servicios requeridos para la inicialización del sistema (a diferencia de la emergencia.objetivo, el rescate.El objetivo es más que un shell simple).



Arrancar al rescate.objetivo

El procedimiento para iniciar el sistema en rescate.El objetivo es el mismo que seguimos para que arranque en el objetivo de emergencia.

Lo único que debe cambiarse es el argumento agregado a la línea de comandos del núcleo: en lugar de Systemd.Unidad = Emergencia.objetivo, usaremos system.Unidad = rescate.objetivo; Una vez más, también podemos usar un alias para la compatibilidad de SYSV, reemplazando la directiva con solo 1.

Una vez iniciado, el sistema iniciará el rescate.objetivo, donde podemos administrar el sistema en modo de usuario único:

Ubuntu 18.04 Modo de rescate

Conclusiones

Examinamos rápidamente cuáles son los objetivos de emergencia y rescate de Systemd, en lo que son diferentes, y qué tipo de entorno proporciona al usuario.

También vimos cómo editar el menú Grub para cambiar la línea de comando del núcleo y iniciar el sistema directamente en estos objetivos.

Es importante decir que también se pueden alcanzar los objetivos de Systemd, desde un sistema que ya está en ejecución, "aislando", utilizando SystemCTL.

Por ejemplo, en ejecución:

# systemctl aislado rescate.objetivo

traerá el sistema al objetivo de rescate.

Para un conocimiento más profundo del sistema unidades especiales, Podemos consultar la manzana de manejo muy clara y relacionada (Systemd.Especial (7)).

Tutoriales de Linux relacionados:

  • Cosas para instalar en Ubuntu 20.04
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Archivos de configuración de Linux: los 30 principales más importantes
  • ¿Puede Linux obtener virus?? Explorando la vulnerabilidad de Linux ..
  • Mint 20: Mejor que Ubuntu y Microsoft Windows?
  • Registro avanzado y auditoría en Linux
  • Cómo arrancar dual Kali Linux y Windows 10
  • Descarga de Linux
  • Mastering Bash Script Loops