Come riavviare e spegnere i server Linux?

In qualità di amministratore di sistema, una delle attività frequenti è riavviare o spegnere i server.

Ciò potrebbe essere dovuto a una regolare attività di manutenzione come l’applicazione di patch al sistema operativo oa qualche guasto hardware che richiede lo spegnimento del sistema per la manutenzione.

Un sistema Linux offre diversi modi per riavviare o spegnere il server. Un sistema normale dovrebbe rispondere a qualsiasi comando mentre un server degradato potrebbe dover essere riavviato forzatamente. Tieni presente che la maggior parte di questi comandi richiederà un certo livello di privilegio come superutente o con sudo per essere eseguita correttamente poiché il riavvio di un sistema è un’attività amministrativa e per un sistema multiutente o un server che esegue processi critici, il riavvio o l’arresto è un attività dirompente.

Questo articolo copre alcuni di questi metodi che possono aiutarti con l’attività di riavvio/arresto di Linux.

Metodo GUI

Se stai utilizzando un ambiente desktop GUI per Linux come Gnome, KDE, Mate, XFCE, ecc., Troverai un pulsante di accensione nel menu di sistema/applicazione che offre azioni come disconnessione, riavvio, ibernazione o spegnimento. Le opzioni disponibili possono variare leggermente a seconda della distribuzione, dell’ambiente desktop e della versione del sistema operativo in uso. Ma troverai sicuramente le impostazioni relative all’alimentazione nei menu disponibili per modificare lo stato di alimentazione del tuo sistema.

Ad esempio, sul mio desktop Ubuntu Mate, posso trovare l’opzione Spegni nel menu di accensione in alto a destra dello schermo.

Dopo aver selezionato l’opzione “Spegni…”, ti verrà presentata una finestra di dialogo con più opzioni come Sospendi, Riavvia, Annulla e Spegni. Puoi procedere con il riavvio o l’arresto facendo clic sul pulsante destro o annullare e tornare al tuo ambiente desktop.

La GUI e le opzioni offerte possono differire leggermente in base alla distribuzione e all’ambiente desktop in uso, ma ti assicuriamo che esiste un’opzione per modificare lo stato di alimentazione del sistema. E con la GUI, bastano pochi clic nel menu di alimentazione.

  Come giocare a Splitgate (Beta) su Linux

comando systemctl

Su una macchina Linux che esegue systemd come sistema init, puoi usare il comando systemctl per riavviare la macchina.

$ sudo systemctl start reboot.target

Oppure puoi semplicemente usare systemctl con l’opzione richiesta, come per il riavvio come:

$ sudo systemctl reboot

Per avviare uno spegnimento, il comando systemctl va come:

$ sudo systemctl shutdown

Per arrestare il sistema, utilizzare:

$ sudo systemctl halt

Comando di spegnimento

Il comando shutdown può essere utilizzato per spegnere e riavviare un sistema Linux. Per riavviare immediatamente un sistema utilizzare:

$ sudo shutdown -r now

Oppure per spegnere un sistema senza attendere, utilizzare il flag -ho -P:

$ sudo shutdown -P now 

Possiamo aggiungere un ritardo al comando di spegnimento per riavviare/spegnere il sistema dopo un intervallo specificato. Questo può essere ottenuto come:

$ sudo shutdown -r 10

Per arrestare un sistema senza chiedere all’hardware di spegnersi, puoi usare il flag -H:

$ sudo shutdown -H now

Se specifichi semplicemente il comando di spegnimento, lo spegnimento verrà programmato dopo un minuto. Per spegnere a un’ora specifica utilizzare:

$ sudo shutdown 22:30

In molti casi, mentre un sistema è inattivo, trasmette un messaggio alla console degli utenti che hanno effettuato l’accesso. Se desideri aggiungere il tuo messaggio personalizzato in questa trasmissione, puoi specificare un messaggio insieme al comando di spegnimento come:

$ sudo shutdown 23:00 "Powering off system for maintenance...save your work"

Per annullare un arresto programmato, puoi usare -c flag:

$ sudo shutdown -c

Su alcuni sistemi, il comando di spegnimento chiama systemctl nel backend per ottenere l’operazione di riavvio/arresto desiderata.

Comando di riavvio

Per riavviare con grazia un sistema, puoi anche utilizzare il comando di riavvio (potrebbe essere necessario utilizzarlo con sudo).

$ sudo reboot

Per spegnere il sistema con il comando di riavvio, utilizzare -p flag:

$ sudo reboot -p

Per forzare un riavvio (per i sistemi che non rispondono al normale comando di riavvio), puoi provare -f flag come:

$ sudo reboot -f

Comando di arresto

Per fermare un sistema, puoi semplicemente usare il comando halt:

$ sudo halt

Comando di spegnimento

Per spegnere un sistema, hai la possibilità di utilizzare il comando poweroff:

$ sudo poweroff

comando init

Per i sistemi non in esecuzione su systemd, il comando init (anche telinit funzionerà) offre opzioni per modificare il livello di esecuzione del sistema. Per riavviare un sistema usando init, puoi usare:

$ sudo init 6

Analogamente per arrestare un sistema, il comando init da utilizzare è:

$ sudo init 0

La chiamata a un livello di esecuzione specifico utilizzando init fa sì che il processo di inizializzazione del sistema esegua una serie di script di inizializzazione in un ordine particolare per garantire che il sistema raggiunga il livello di esecuzione desiderato. Il livello di esecuzione 6 è definito per il riavvio mentre il livello di esecuzione 0 se per arrestare il sistema.

  Come utilizzare il browser Web basato su testo W3M su Linux

Tasto di accensione

Per Linux in esecuzione su un desktop o laptop, premendo il pulsante di accensione per impostazione predefinita si ha l’azione di mettere il sistema in modalità di sospensione o di spegnerlo inviando il segnale di spegnimento. Questa opzione può essere modificata dalle impostazioni di alimentazione del sistema. Anche se idealmente dovrebbe essere usata come ultima opzione se i normali comandi non funzionano.

Per un server remoto che esegue Linux, il pulsante di accensione di solito spegne il sistema. Ma quelli che si trovano nei data center remoti hanno la possibilità aggiuntiva di essere riavviati o spenti dai loro strumenti CLI/GUI di gestione remota delle luci spente offerti dai rispettivi fornitori di server.

Combinazione Alt + SysRq

Per un sistema bloccato che non risponde, è difficile portarlo a un riavvio o allo stato di spegnimento. Quando non hai altre opzioni e come ultima risorsa, puoi provare a premere Alt + PrintScreen + una sequenza di tasti per riavviare immediatamente il sistema. Potrebbe non essere un’opzione preferita o consigliata, ma può comunque essere utilizzata come ultima risorsa.

  Come giocare a Crab Game su Linux

Ricorda sempre che esiste la possibilità di perdita e danneggiamento dei dati utilizzando questo metodo come con qualsiasi altra opzione di riavvio o spegnimento non aggraziato. Garantire le migliori pratiche di sistema per i backup e la ridondanza e prestare attenzione quando si utilizza questa opzione.

Affinché questa opzione funzioni, dovrebbe essere stata abilitata nel kernel Linux. Puoi verificarlo usando il comando seguente:

$ cat /proc/sys/kernel/sysrq

Un output di 1 indica che è completamente abilitato, mentre un numero maggiore di indica che è parzialmente abilitato con alcune funzionalità. Per abilitarlo esplicitamente, puoi usare:

$ sudo echo “1” > /proc/sys/kernel/sysrq

Per riavviare un sistema utilizzando questo metodo, tenere premuto Alt + SysRq (PrintScreen) e quindi premere in sequenza i seguenti tasti dopo un intervallo di pochi secondi tra ogni tasto:

R E I S U B

oppure per spegnere premere O invece di B alla fine:

R E I S U O

Ecco cosa significano le chiavi:

  • R: Passa dalla modalità raw alla modalità XLATE
  • E: Invia il segnale SIGTERM a tutti i processi tranne init
  • I: invia il segnale SIGKILL a tutti i processi tranne init
  • S: Sincronizza tutti i filesystem montati
  • U: Rimontare tutti i filesystem montati in sola lettura

Infine, abbiamo B o O che sta per:

  • B: riavviare immediatamente il sistema, senza smontare le partizioni o sincronizzare

O

  • O: Spegnere immediatamente il sistema, senza smontare le partizioni o sincronizzare

Riepilogo

Quindi ecco diversi modi che ti consentono di riavviare o spegnere un sistema Linux. Ti offre opzioni che vanno da semplici interfacce GUI a comandi terminali relativamente complessi che possono semplificarti la vita o persino automatizzare le cose. Per i sistemi che si sono bloccati per un motivo o per l’altro, abbiamo discusso di metodi forzati per ottenere uno stato di riavvio o arresto che potrebbe non essere il modo ideale, ma deve essere utilizzato in rare occasioni.

Adottare precauzioni durante l’utilizzo dei comandi discussi in questo articolo poiché influiscono sullo stato del sistema e potrebbero influire su più utenti e servizi nel caso di un server aziendale. Consulta le pagine man dei comandi suggeriti in questo articolo per saperne di più su di essi e su quali opzioni offrono.

Scopri come configurare WAS per interrompere la richiesta di password durante l’arresto qui.