In questo tutorial ti spiegherò come visualizzare lo stato del sistema utilizzando systemctl e come risolverlo se risulta degradato.
Perché lo stato systemctl mostra lo stato del sistema degradato?
IL systemctl ha il stato opzione per verificare lo stato di runtime di un servizio o dell'intero sistema se non viene menzionato il nome del servizio.
Un metodo alternativo utilizzato per verificare lo stato operativo del sistema è noto come è-il-sistema-in-esecuzione . Questa opzione controlla lo stato del sistema e restituisce una stringa in base al codice di uscita. Ad esempio, se il sistema è pienamente operativo, l'output sarà corsa con codice di uscita 0 . Qualsiasi codice di uscita maggiore di 0 indica che il sistema necessita di risoluzione dei problemi.
Per verificare lo stato attuale del sistema, utilizzare il stato del sistemactl comando.
stato del sistemactl
Oppure usa il è-il-sistema-in-esecuzione opzione con systemctl.
systemctl è-sistema-in esecuzione
I comandi precedenti indicano che lo stato del sistema è peggiorato, il che significa che il sistema è operativo ma non è riuscito a caricare uno o più servizi.
Altri stati comuni che il comando precedente può visualizzare sono elencati nella tabella seguente:
inizializzazione | Stato del sistema prima dell'avvio quando viene raggiunto il livello di esecuzione basic.target o viene attivato lo stato di manutenzione |
di partenza | Stato del sistema dopo l'avvio quando viene raggiunto il livello di esecuzione Rescue.target o la coda dei processi diventa inattiva |
fermandosi | Il sistema si sta spegnendo |
corsa | Stato del sistema in cui è pienamente operativo |
degradato | Stato del sistema in cui è operativo ma non è possibile caricare uno o più servizi |
manutenzione | Il bersaglio di salvataggio o di emergenza è abilitato |
disconnesso | Il gestore del sistema non è in esecuzione perché un gestore del servizio incompatibile è in esecuzione come PID 1 |
sconosciuto | Lo stato non può essere determinato a causa delle limitazioni delle risorse |
Come risolvere lo stato degradato del sistema?
Come accennato in precedenza, lo stato degradato indica che non è stato possibile caricare uno o più servizi. Inizia il processo di risoluzione dei problemi identificando i servizi non riusciti utilizzando systemctl.
unità di elenco systemctl --stato =fallito
Il prossimo passo è usare il file ripristino fallito opzione con il systemctl comando per risolverlo.
systemctl ripristino non riuscitoIL ripristino fallito l'opzione ripristina essenzialmente i servizi la cui esecuzione non è riuscita a causa di un funzionamento anomalo. Tuttavia, questo comando non garantisce che tutti i servizi non riusciti verranno abilitati. Il servizio può fallire a causa di una configurazione errata dei file di servizio, che sono presenti in /lib/system/system o /etc/systemd/system directory.
Per ulteriori informazioni sul servizio non riuscito, leggere i messaggi di registro. Per accedere al messaggio di registro di un servizio, utilizzare il file journalctl comando, -In flag e nome del servizio.
journalctl -In [ Nome di Servizio ]Per ottenere una spiegazione approfondita del log, utilizzare il file -X opzione con -È . IL -X flag visualizza il testo esplicativo della guida, mentre il file -È l'opzione mostra per prima la voce più recente.
journalctl -In [ Nome di Servizio ] -auto
Conclusione
Lo stato degradato è lo stato del sistema che indica che il sistema è in esecuzione ma non è stato possibile caricare uno o più servizi. Questo stato del sistema può essere ottenuto utilizzando il file stato del sistemactl O systemctl è-sistema-in esecuzione comandi. IL systemctl ripristino non riuscito Il comando potrebbe risolvere alcuni problemi, incluso l'errore degradato, ma non garantisce la risoluzione del problema. Se l'approccio menzionato in precedenza non riesce a risolvere il problema, individua il problema esaminando i log utilizzando il file journalctl comando.