Le "rescue.target" est une cible spéciale dans le système d'initialisation systemd sous Linux qui répond à un objectif spécifique dans le contexte du dépannage et de la récupération du système. Il est conçu pour fournir un environnement mono-utilisateur minimal qui permet aux administrateurs système de diagnostiquer et de résoudre les problèmes sans avoir à redémarrer le système. Cette cible est particulièrement utile lorsqu'il s'agit de pannes système critiques ou de mauvaises configurations qui empêchent un démarrage normal.
L'objectif principal de "rescue.target" est de fournir un shell de secours avec un minimum de services et un ensemble limité de systèmes de fichiers montés. Par défaut, il démarre un shell mono-utilisateur avec un système de fichiers racine monté en mode lecture seule. Cet environnement permet aux administrateurs d'accéder aux fichiers du système et d'exécuter des commandes en tant qu'utilisateur root, ce qui leur permet d'enquêter et de résoudre les problèmes qui auraient pu empêcher le système de répondre ou de le rendre instable.
Pour accéder au "rescue.target" sans redémarrer le système, vous devez interrompre le processus de démarrage et modifier les paramètres de démarrage. Cela peut généralement être effectué via le menu du chargeur de démarrage, où vous pouvez modifier la ligne de commande du noyau. En ajoutant le paramètre « systemd.unit=rescue.target » à la fin de la ligne de commande, vous demandez au système de démarrer directement dans la cible de secours au lieu de la cible par défaut.
Par exemple, si vous utilisez le chargeur de démarrage GRUB, vous pouvez sélectionner l'entrée du noyau souhaitée et appuyer sur "e" pour modifier les paramètres. Localisez la ligne commençant par « linux » ou « linuxefi » et ajoutez « systemd.unit=rescue.target » à la fin de la ligne. Appuyez sur "Ctrl+X" ou "F10" pour démarrer avec les paramètres modifiés et accéder à l'environnement de secours.
Une fois dans le shell de secours, vous pouvez effectuer diverses tâches de dépannage. Vous avez accès aux commandes et utilitaires essentiels, tels que le montage du système de fichiers, la configuration réseau, la gestion des packages et les outils d'analyse des journaux. Cela vous permet d'enquêter et de résoudre les problèmes liés aux erreurs de disque, aux services mal configurés, aux dépendances rompues ou à d'autres problèmes au niveau du système.
Il est important de noter que la cible du sauvetage est un environnement minimal et que certains services ou appareils peuvent ne pas être disponibles. La mise en réseau peut être désactivée par défaut, vous devrez donc peut-être la configurer manuellement si nécessaire pour le dépannage. De plus, le shell de secours fonctionne avec le système de fichiers racine monté en mode lecture seule pour éviter toute modification accidentelle. Si vous devez apporter des modifications au système de fichiers, vous pouvez le remonter en mode lecture-écriture à l'aide de la commande "mount -o remount,rw /".
Le "rescue.target" dans le système d'initialisation systemd fournit un environnement minimal et mono-utilisateur pour le dépannage et la récupération du système sans qu'il soit nécessaire de redémarrer le système. Il permet aux administrateurs système de diagnostiquer et de résoudre les problèmes critiques en fournissant un shell de secours avec les outils essentiels et un accès aux fichiers du système. Cette fonctionnalité est particulièrement utile dans les situations où une panne du système empêche le démarrage normal.
D'autres questions et réponses récentes concernant Administration du système Linux EITC/IS/LSA:
- Comment la directive "conflicts" dans systemd empêche-t-elle deux unités d'être actives simultanément ?
- Quel est le but de la directive « required » dans systemd et en quoi est-elle différente de « required by » ?
- Pourquoi est-il recommandé de gérer les dépendances sur les unités que vous créez ou gérez vous-même, plutôt que de modifier les unités système ?
- Comment la directive "before" dans systemd spécifie-t-elle l'ordre d'exécution des unités ?
- Quelle est la différence entre les dépendances faibles et l'ordre explicite dans systemd ?
- Quelle commande peut être utilisée pour basculer entre les cibles dans systemd et en quoi est-elle similaire à la commutation entre les niveaux d'exécution dans sysvinit ?
- Comment pouvez-vous vous assurer que les configurations réseau nécessaires sont terminées avant le démarrage d'un service réseau spécifique ?
- En quoi les cibles sont-elles similaires aux niveaux d'exécution nommés dans sysvinit et à quoi sert le "multi-user.target" ?
- Que sont les cibles systemd et comment aident-elles à gérer les relations entre les unités dans un système Linux ?
- Sur quoi la commande "status" de systemctl fournit-elle des informations ?
Voir plus de questions et réponses dans EITC/IS/LSA Linux System Administration