Il "rescue.target" è un obiettivo speciale nel sistema di inizializzazione systemd in Linux che ha uno scopo specifico nel contesto della risoluzione dei problemi e del ripristino del sistema. È progettato per fornire un ambiente minimo per utente singolo che consente agli amministratori di sistema di diagnosticare e risolvere i problemi senza dover riavviare il sistema. Questo obiettivo è particolarmente utile quando si ha a che fare con errori di sistema critici o configurazioni errate che impediscono il normale avvio.
Lo scopo principale di "rescue.target" è fornire una shell di ripristino con servizi minimi e un insieme limitato di filesystem montati. Per impostazione predefinita, avvia una shell per utente singolo con un file system root montato in modalità di sola lettura. Questo ambiente consente agli amministratori di accedere ai file di sistema ed eseguire comandi come utente root, consentendo loro di indagare e risolvere i problemi che potrebbero aver causato la mancata risposta o l'instabilità del sistema.
Per accedere a "rescue.target" senza riavviare il sistema, è necessario interrompere il processo di avvio e modificare i parametri di avvio. Questo in genere può essere fatto tramite il menu del bootloader, dove è possibile modificare la riga di comando del kernel. Aggiungendo il parametro "systemd.unit=rescue.target" alla fine della riga di comando, istruisci il sistema ad avviarsi direttamente nella destinazione di ripristino anziché nella destinazione predefinita.
Ad esempio, se stai utilizzando il bootloader GRUB, puoi selezionare la voce del kernel desiderata e premere "e" per modificare i parametri. Individua la riga che inizia con "linux" o "linuxefi" e aggiungi "systemd.unit=rescue.target" alla fine della riga. Premere "Ctrl+X" o "F10" per avviare con i parametri modificati ed entrare nell'ambiente di salvataggio.
Una volta nella shell di salvataggio, puoi eseguire varie attività di risoluzione dei problemi. Hai accesso a comandi e utilità essenziali, come il montaggio del filesystem, la configurazione di rete, la gestione dei pacchetti e gli strumenti di analisi dei log. Ciò consente di esaminare e risolvere problemi relativi a errori del disco, servizi configurati in modo errato, dipendenze interrotte o altri problemi a livello di sistema.
È importante notare che l'obiettivo di salvataggio è un ambiente minimo e alcuni servizi o dispositivi potrebbero non essere disponibili. La rete potrebbe essere disabilitata per impostazione predefinita, quindi potrebbe essere necessario configurarla manualmente se necessario per la risoluzione dei problemi. Inoltre, la shell di ripristino funziona con il file system root montato in modalità di sola lettura per evitare modifiche accidentali. Se è necessario apportare modifiche al file system, è possibile rimontarlo in modalità lettura-scrittura utilizzando il comando "mount -o remount,rw /".
Il "rescue.target" nel sistema di inizializzazione systemd fornisce un ambiente minimo per utente singolo per la risoluzione dei problemi e il ripristino del sistema senza la necessità di riavviare il sistema. Consente agli amministratori di sistema di diagnosticare e risolvere problemi critici fornendo una shell di ripristino con strumenti essenziali e accesso ai file di sistema. Questa funzione è particolarmente utile in situazioni in cui un errore di sistema impedisce il normale avvio.
Altre domande e risposte recenti riguardanti Amministrazione del sistema Linux EITC/IS/LSA:
- In che modo la direttiva "conflitti" in systemd impedisce a due unità di essere attive contemporaneamente?
- Qual è lo scopo della direttiva "requisito" in systemd e in che modo è diversa da "richiesto da"?
- Perché è consigliabile gestire le dipendenze sulle unità che stai creando o gestendo tu stesso, invece di modificare le unità di sistema?
- In che modo la direttiva "before" in systemd specifica l'ordine di esecuzione delle unità?
- Qual è la differenza tra dipendenze deboli e ordinamento esplicito in systemd?
- Quale comando può essere utilizzato per passare da una destinazione all'altra in systemd e in che modo è simile al passaggio da un livello di esecuzione all'altro in sysvinit?
- In che modo è possibile garantire che le configurazioni di rete necessarie vengano completate prima dell'avvio di un servizio di rete specifico?
- In che modo gli obiettivi sono simili ai livelli di esecuzione denominati in sysvinit e qual è lo scopo di "multi-user.target"?
- Cosa sono gli obiettivi systemd e in che modo aiutano a gestire le relazioni tra le unità in un sistema Linux?
- Su cosa fornisce informazioni il comando "status" in systemctl?
Visualizza altre domande e risposte in EITC/IS/LSA Linux System Administration