La modalità utente singolo, indicata anche come modalità di manutenzione, consente a un singolo super utente di recuperare/riparare i problemi di sistema.
Generalmente, questi problemi non possono essere risolti in un ambiente multiutente. Il sistema può avviarsi ma non funzionerà correttamente O non sarà possibile accedere.
La modalità di manutenzione utilizza runlevel1.target
o rescue.target
su sistemi basati su Red Hat (RHEL) 7/8.
In questa modalità, il sistema monta tutti i file system locali, ma non attiva le interfacce di rete. Consente solo determinati servizi e funzionalità minime per riparare il sistema.
Questo metodo è utile soprattutto quando si desidera eseguire ‘fsck’ per ‘correggere i file system danneggiati’, o per reimpostare una password di root dimenticata, o per risolvere un problema di mount point sul sistema.
È possibile avviare i sistemi CentOS/RHEL 7/8 in modalità utente singolo utilizzando i seguenti tre metodi:
- Metodo-1: Avviare i sistemi CentOS/RHEL 7/8 in modalità utente singolo aggiungendo “rd.break” al kernel il parametro
- Metodo 2: Avvio CentOS/RHEL 7/8 sistemi in modalità utente singolo, sostituendo “rhgb quiet” parola con la “init=/bin/bash o init=/bin/sh” parametro del kernel
- Metodo-3: Avvio CentOS/RHEL 7/8 sistemi in modalità utente singolo, sostituendo il “ro” parola con la “rw init=/sysroot/bin/sh” parametro del kernel
Metodo-1: Avvio CentOS/RHEL 7/8 in modalità utente singolo
Riavviare il sistema. Nella schermata di avvio di GRUB2, premere il tasto"e"
per modificare il kernel selezionato. È necessario selezionare la prima riga, la prima è il kernel più recente mentre è possibile selezionare l’altra se si desidera avviare il sistema con il kernel precedente.
a Seconda della RHEL/CentOS versione, troviamo la parola “linux16” o “linux”, e premere il pulsante “Fine” sulla tastiera per passare alla fine della linea, e aggiungere la parola chiave “rd.break” come mostrato nello screenshot qui sotto, quindi premere “Ctrl + x” o ” F10 ” per avviare in modalità utente singolo.
Nota: È necessario trovare la parola linux16
per i sistemi RHEL/CentOS 7, mentrelinux
per i sistemi RHEL / CentOS 8.
Questa modifica, monta il file system root in modalità “sola lettura (RO)”. È possibile verificare questo eseguendo il comando qui sotto. Inoltre, l’output qui sotto mostra chiaramente che sei in “Modalità di emergenza”.
# mount | grep root
Per apportare modifiche al sysroot” file di sistema è necessario rimontare con la LETTURA e SCRITTURA (RW) modalità:
# mount -o remount,rw /sysroot
Eseguire il seguente comando per modificare l’ambiente, comunemente noto come “imprigionati directory” o “chroot jail” :
# chroot /sysroot
Ora, la modalità utente singolo è pronto per l’uso. Una volta risolto il problema, e per uscire dalla modalità utente singolo, eseguire le seguenti operazioni.
CentOS/RHEL 7/8 utilizza SELinux per impostazione predefinita, in modo da creare il seguente file nascosto, che eseguirà automaticamente una rietichettatura di tutti i file sul prossimo avvio:
# touch /.autorelabel
Infine, eseguire il seguente comando per riavviare il sistema. In alternativa, digitare due volte il comando” exit ” per riavviare il sistema:
# reboot -f
Metodo-2: Come avviare in modalità utente singolo in CentOS / RHEL 7/8
Riavviare il sistema. Nella schermata di avvio di GRUB2, premere il tasto"e"
per modificare i parametri del kernel selezionati.
Trova la parola “rhgb quiet” e sostituirlo con “init=/bin/bash” o “init=/bin/sh”, quindi premere “Ctrl+x” o “F10” per l’avvio in modalità utente singolo.
Schermata per init=/bin/bash
:
Screenshot init=/bin/sh
:
per impostazione predefinita, questo monterà il “/” partizione in sola lettura (RO), in modo da avrete bisogno di rimontare il file system “/” con la LETTURA e SCRITTURA (RW) modalità per apportare le modifiche:
# mount -o remount,rw /
ora È possibile eseguire qualsiasi attività che si desidera. Quando hai finito, eseguire il seguente comando per abilitare SELinux rietichettatura al riavvio:
# touch /.autorelabel
Infine, riavviare il sistema:
# exec /sbin/init 6
Metodo-3: Avvio in modalità di emergenza in RHEL/CentOS 7/8
Per interrompere l’avvio automatico, riavviare il sistema e premere un tasto qualsiasi sulla GRUB2 schermata iniziale.
Questo mostrerà l’elenco dei kernel disponibili sul tuo sistema. Selezionare il kernel più recente e premere il tasto "e"
per modificare i parametri del kernel selezionati.
Trova la riga che inizia con la parola “linux” o ” linux16 “e sostituisci” ro “con”rw init=/sysroot/bin/sh”. Al termine, premere “Ctrl + x” o ” F10 ” per avviare in modalità utente singolo.
Cambia l’ambiente in “chroot jail” eseguendo il seguente comando:
# chroot /sysroot
Apporta le modifiche necessarie al sistema. Una volta fatto, eseguire il comando seguente per abilitare SELinux rietichettatura al riavvio:
# touch /.autorelabel
Infine riavviare il sistema:
# reboot -f
Note di chiusura
In questo tutorial vi abbiamo mostrato tre metodi per avviare il sistema RHEL / CentOS 7/8 in modalità di emergenza. Speriamo che tu possa avviare il tuo sistema Linux in modalità utente singolo per recuperare / riparare i problemi del sistema.