Comment démarrer Ubuntu 18.04 en mode d'urgence et de sauvetage

Comment démarrer Ubuntu 18.04 en mode d'urgence et de sauvetage

Objectif

Apprendre les cibles d'urgence et de sauvetage Systemd et comment y démarrer le système

Exigences

  • Aucune exigence spéciale

Difficulté

FACILE

Conventions

  • # - nécessite que les commandes Linux soient exécutées avec des privilèges racine
    directement en tant qu'utilisateur racine ou en utilisant Sudo commande
  • $ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Introduction

Systemd est devenu de nos jours la norme de facto système init Pour toutes les principales distributions Linux.

Remplacement SYSV et Upstart, il a également remplacé la manière classique de définir le système couleurs, Utilisation du système cibles, un type spécial de unité.

Dans ce tutoriel, nous verrons comment démarrer un Ubuntu 18.04 système dans le urgence et sauvetage SystemD cible, et quel type d'environnement ils fournissent aux utilisateurs.

Systemd cible vs coulevels classiques

Systemd a introduit le concept de cibles qui a remplacé les niveaux de course classiques.

Par exemple, ce qui était connu comme RunLevel 0 dans sysv, qui représente le arrêt état de la machine, est l'équivalent du systemd éteindre cible.

De la même manière,
Runlevel 1 ou mode utilisateur unique trouve son équivalent systemd dans le sauvetage cible.

Enfin, les niveaux de course 5 et 6, utilisés respectivement pour le mode graphique et pour redémarrer le système, ont maintenant été remplacés par le graphique et redémarrer cibles. Le sauvetage Et le similaire urgence cibles, sont ce dont nous parlerons dans ce tutoriel: ils sont très utiles pour corriger certaines situations critiques.



L'objectif d'urgence

Le urgence La cible est l'environnement le plus minimal dans lequel le système peut être démarré dans.

Une fois cette cible atteinte, une coquille d'urgence est démarrée sur la console principale.

À part ça, seulement systemd lui-même est disponible pour l'utilisateur: seul le système de fichiers racine est monté (en mode en lecture seule) et aucun service n'est démarré (cela signifie également que vous n'aurez pas accès au réseau).

Ceci est la cible dans laquelle nous sommes supprimés lorsque le processus de démarrage ne peut pas être terminé avec succès (lorsqu'une vérification du système de fichiers échoue, par exemple).

Comment la cible d'urgence est définie

Pour vérifier comment la cible d'urgence est définie, nous devons inspecter le système dédié unité.

Nous pouvons utiliser le Systemctl Cat commande pour accomplir cette tâche:

$ Systemctl Cat Urgence.cible # / lib / systemd / système / urgence.cible # Ce fichier fait partie de SystemD. # # SystemD est un logiciel gratuit; Vous pouvez le redistribuer et / ou le modifier # en vertu des termes de la licence publique GNU moins publique, publiée par # The Free Software Foundation; soit la version 2.1 de la licence, ou # (à votre option) toute version ultérieure. [Unité] Description = Documentation en mode d'urgence = Man: Systemd.spécial (7) requiert = urgence.service après = urgence.service perteisolate = oui 
Copie

Comme nous pouvons le voir sur la sortie ci-dessus, l'urgence.L'objectif nécessite l'urgence connexe.Service comme dépendance. Jetons un coup d'œil à cela aussi:

$ Systemctl Cat Urgence.service # / lib / systemd / système / urgence.Service # Ce fichier fait partie de SystemD. # # SystemD est un logiciel gratuit; Vous pouvez le redistribuer et / ou le modifier # en vertu des termes de la licence publique GNU moins publique, publiée par # The Free Software Foundation; soit la version 2.1 de la licence, ou # (à votre option) toute version ultérieure. [Unité] Description = Documentation du coquille d'urgence = Homme: Sullogin (8) Défaunces par défaut = Pas de conflits = arrêt.Conflits cibles = sauvetage.Service avant = arrêt.cible avant = sauvetage.service [service] Environment = home = / root workingDirectory = - / root execstart = - / lib / systemd / systemd-sulogine-sell type de type = idle standardInput = tty-force standardOutput = hériter standardError = hériter killmode = procédé ignoresigpipe = pas de SendSigup = oui 
Copie

La définition du service nous donne des informations très claires.

Tout d'abord, le MAISON La variable d'environnement est définie par le Environnement mot-clé, et correspond au répertoire domestique de l'utilisateur racine.

C'est également le répertoire de travail utilisé par défaut lors de l'urgence.La cible est atteinte.

Lorsque ce service est démarré, le / lib / systemd / systemd-sulogine shell L'exécutable est appelé, qui, à son tour, invoque / usr / sbin / sulogin, Responsable de nous fournir une connexion pour le shell utilisateur unique.



Comment accéder aux urgences.cible au démarrage

Pour forcer le système à démarrer en cas d'urgence.cible, nous devons modifier le menu de grub.

C'est une opération très facile. Lorsque le menu Grub apparaît, sélectionnez simplement la première entrée et appuyez sur e éditer:

Une fois que vous appuyez sur le e Clé, vous pourrez modifier les paramètres de démarrage et la ligne de commande du noyau.

Recherchez la ligne en commençant par linux:

À ce stade, frappez Ctrl-e Pour atteindre la fin de la ligne, supprimez $ vt_handoff et ajouter le systemd.unité = urgence.cible directive (vous pouvez également utiliser urgence Comme alias, pour la compatibilité SYSV), de sorte que votre ligne sera de cette façon:

Si vous appuyez maintenant Ctrl-x ou F10, Le système démarrera en mode d'urgence:

Ubuntu 18.04 Mode d'urgence

La rescousse.cible

Il s'agit de la cible SystemD qui peut être associée à l'ancien mode utilisateur unique.

Contrairement à ce qui se passe avec l'urgence.cible, lorsque cette cible est atteinte, le système de base est tiré: tous les systèmes de fichiers sont montés et les services les plus basiques sont lancés et mis à la disposition de l'utilisateur.

La rescousse.La cible est définie dans le / lib / systemd / système / sauvetage.fichier cible:

# / lib / systemd / système / sauvetage.cible # Ce fichier fait partie de SystemD. # # SystemD est un logiciel gratuit; Vous pouvez le redistribuer et / ou le modifier # en vertu des termes de la licence publique GNU moins publique, publiée par # The Free Software Foundation; soit la version 2.1 de la licence, ou # (à votre option) toute version ultérieure. [Unité] Description = Documentation du mode de sauvetage = Man: Systemd.spécial (7) requiert = sysinit.sauvetage cible.service après = sysinit.sauvetage cible.service perteisolate = oui 
Copie

La rescousse.cible, tout comme ce qui se passe pour l'urgence.cible, nécessite le lié sauvetage.service, plus le sysinit.cible.

Le premier, tout comme l'urgence.Service, fournit essentiellement la connexion unique de l'utilisateur, tandis que ce dernier attire les services requis pour l'initialisation du système (contrairement à l'urgence.cible, le sauvetage.La cible est plus qu'un simple shell).



Démarrer dans la rescousse.cible

La procédure pour démarrer le système dans le sauvetage.L'objectif est le même que nous avons suivi pour le faire démarrer dans l'objectif d'urgence.

La seule chose qui doit être modifiée est l'argument ajouté à la ligne de commande du noyau: au lieu de Systemd.unité = urgence.cible, nous utiliserons systemd.unité = sauvetage.cible; Encore une fois, nous pouvons également utiliser un alias pour la compatibilité SYSV, en remplaçant la directive par juste 1.

Une fois démarré, le système démarre dans le sauvetage.Target, où nous pouvons administrer le système en mode utilisateur unique:

Ubuntu 18.04 Mode de sauvetage

Conclusions

Nous avons rapidement examiné les objectifs d'urgence et de sauvetage Systemd, dans ce qu'ils sont différents, et quel type d'environnement fournit à l'utilisateur.

Nous avons également vu comment modifier le menu Grub pour modifier la ligne de commande du noyau et démarrer le système directement dans ces cibles.

Il est important de dire que les cibles SystemD peuvent également être atteintes, à partir d'un système déjà en cours d'exécution, en «isolant», en utilisant SystemCTL.

Par exemple, en cours d'exécution:

# Systemctl Isolat Rescue.cible

apportera le système à la cible de sauvetage.

Pour une connaissance plus approfondie du système unités spéciales, Nous pouvons consulter la page d'homme connexe et très claire (SystemD.Spécial (7)).

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Fichiers de configuration Linux: 30 premiers
  • Linux peut-il obtenir des virus? Exploration de la vulnérabilité de Linux…
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Journalisation et audit avancés sur Linux
  • Comment doubler Kali Linux et Windows 10
  • Téléchargement Linux
  • Masterring Bash Script Loops