Articles

3 comandi per riavviare Linux (più altri 4 modi per farlo in sicurezza)

Linux è pienamente in grado di eseguire non settimane, ma anni, senza un riavvio. In alcuni settori, questo è esattamente ciò che fa Linux, grazie a progressi come kpatch e kgraph.

Per gli utenti di laptop e desktop, tuttavia, quella metrica è un po ‘ estrema. Anche se potrebbe non essere una realtà quotidiana, è almeno una realtà settimanale che a volte hai una buona ragione per riavviare la tua macchina. E per un sistema che non ha bisogno di riavviare spesso, Linux offre un sacco di scelte per quando è il momento di ricominciare.,

Comprendi le tue opzioni

Prima di continuare, però, una nota sul riavvio. Il riavvio è un processo unico su ogni sistema operativo. Anche all’interno dei sistemi POSIX, i comandi per spegnere e riavviare possono comportarsi in modo diverso a causa di diversi sistemi di inizializzazione o disegni di comando.

Nonostante questo fattore, due concetti sono vitali. Innanzitutto, il riavvio è raramente richiesto su un sistema POSIX. La tua macchina Linux può funzionare per settimane o mesi alla volta senza un riavvio se è quello che ti serve., Non è necessario “rinfrescare” il computer con un riavvio a meno che non sia specificamente consigliato da un programma di installazione o aggiornamento del software. Poi di nuovo, non fa male a riavviare, sia, quindi tocca a voi.

In secondo luogo, il riavvio è pensato per essere un processo amichevole, che consente il tempo per i programmi di uscire, i file da salvare, i file temporanei da rimuovere, le riviste del filesystem aggiornate e così via. Quando possibile, riavviare utilizzando le interfacce previste, sia in una GUI o un terminale., Se si forza il computer per spegnere o riavviare, si rischia di perdere i dati non salvati e anche salvati di recente, e anche corrompere importanti informazioni di sistema; si dovrebbe sempre e solo forzare il computer spento quando non c’è altra opzione.

Fare clic sul pulsante

Il primo modo per riavviare o spegnere Linux è il più comune e il più intuitivo per la maggior parte degli utenti desktop indipendentemente dal loro sistema operativo: è il pulsante di accensione nella GUI., Poiché lo spegnimento e il riavvio sono attività comuni su una workstation, di solito è possibile trovare il pulsante di accensione (in genere con le opzioni di riavvio e spegnimento) in alcuni punti diversi., Sul desktop di GNOME, è nel vassoio di sistema:

È anche in GNOME Attività di menu:

Sul desktop di KDE, i pulsanti di accensione può essere trovato nel menu Applicazioni:

È anche possibile accedere a KDE potenza comandi facendo clic destro sul desktop e selezionare l’opzione che consente di aprire la finestra che potete vedere qui:

Altri desktop forniscono variazioni su questi temi, ma l’idea generale è lo stesso: utilizzare il mouse per individuare il pulsante di alimentazione, quindi fare clic su di esso., Potrebbe essere necessario scegliere tra il riavvio e lo spegnimento, ma alla fine il risultato è quasi identico: i processi vengono fermati, bene, in modo che i dati vengano salvati e i file temporanei vengano rimossi, quindi i dati vengono sincronizzati con le unità e quindi il sistema viene spento.

Premere il pulsante fisico

La maggior parte dei computer dispone di un pulsante di accensione fisico. Se si preme quel pulsante, il desktop Linux può visualizzare un menu di alimentazione con le opzioni per spegnere o riavviare., Questa funzione è fornita dal sottosistema Advanced Configuration and Power Interface (ACPI), che comunica con il firmware della scheda madre per controllare lo stato del computer.

ACPI è importante ma ha un ambito limitato, quindi non c’è molto da configurare dal punto di vista dell’utente. Di solito, le opzioni ACPI sono genericamente chiamate Power e sono impostate su un default sano di mente. Se si desidera modificare questa configurazione, è possibile farlo nelle impostazioni di sistema.

Su GNOME, aprire il menu Barra delle applicazioni e selezionare Attività, quindi Impostazioni., Quindi, selezionare la categoria di alimentazione nella colonna di sinistra, che apre il seguente menu:

Nella sezione Sospendi& Pulsante di alimentazione, selezionare ciò che si desidera che il pulsante di alimentazione fisica faccia.

Il processo è simile tra i desktop. Ad esempio, in KDE, il pannello di gestione dell’alimentazione in Impostazioni di sistema contiene un’opzione per la gestione degli eventi dei pulsanti.

kde-power-management.jpg

opensource.,com

Dopo aver configurato come viene gestito l’evento pulsante, premendo il pulsante di accensione fisica del computer segue qualsiasi opzione si è scelto. A seconda del fornitore del computer (o fornitori di parti, se si costruisce il proprio), una pressione del pulsante potrebbe essere un tocco leggero, o potrebbe richiedere una spinta leggermente più lunga, quindi potrebbe essere necessario fare alcuni test prima di ottenere il blocco di esso.

Attenzione a una pressione troppo lunga, però, dal momento che potrebbe spegnere il computer senza preavviso.,

Eseguire il comando systemctl

Se si opera più in un terminale che in un desktop GUI, si potrebbe preferire riavviare con un comando. In linea di massima, il riavvio e lo spegnimento sono processi del sistema init: la sequenza di programmi che portano un computer su o giù dopo aver ricevuto un segnale di alimentazione (acceso o spento, rispettivamente).

Sulla maggior parte delle moderne distribuzioni Linux, systemd è il sistema init, quindi sia il riavvio che lo spegnimento possono essere eseguiti attraverso l’interfaccia utente systemd, systemctl., Il comando systemctl accetta, tra molte altre opzioni, halt (interrompe l’attività del disco ma non interrompe l’alimentazione) reboot (interrompe l’attività del disco e invia un segnale di reset alla scheda madre) e poweroff (interrompe l’attività del disco e quindi interrompe l’alimentazione). Questi comandi sono per lo più equivalenti all’avvio del file di destinazione con lo stesso nome.

Per esempio, per attivare un riavvio:

$ sudo systemctl start reboot.target

Eseguire il comando shutdown

UNIX tradizionale, prima dei giorni di systemd (e per alcune distribuzioni Linux, come Slackware, che è ora), c’erano comandi specifici per fermare un sistema., Il comando shutdown, ad esempio, può spegnere la macchina, ma ha diverse opzioni per controllare esattamente cosa significa.

Questo comando richiede un argomento di tempo, in minuti, in modo che shutdown sappia quando eseguire., Per riavviare immediatamente, aggiungere i -r bandiera:

$ sudo shutdown -r now

spegnere immediatamente:

$ sudo shutdown -P now

Oppure è possibile utilizzare il comando poweroff:

$ poweroff

riavviare il computer dopo 10 minuti:

$ sudo shutdown -r 10

Il comando shutdown è un modo sicuro per spegnere o riavviare il computer, consentendo di dischi per la sincronizzazione dei processi e alla fine. Questo comando impedisce nuovi accessi entro gli ultimi 5 minuti dall’inizio dello spegnimento, che è particolarmente utile sui sistemi multiutente.,

Su molti sistemi oggi, il comando shutdown è in realtà solo una chiamata a systemctl con l’opzione di riavvio o spegnimento appropriata.

Esegui il comando reboot

Il comando reboot, da solo, è fondamentalmente una scorciatoia per shutdown-r now. Da un terminale, questo è il comando di riavvio più semplice e veloce:

$ sudo reboot

Se il sistema viene bloccato dallo spegnimento (forse a causa di un processo in fuga), è possibile utilizzare il flag force force per far spegnere il sistema in ogni caso., Tuttavia, questa opzione salta il processo di spegnimento effettivo, che può essere brusco per i processi in esecuzione, quindi dovrebbe essere utilizzato solo quando il comando shutdown ti impedisce di spegnere.

Su molti sistemi, il riavvio è in realtà una chiamata a systemctl con l’opzione di riavvio o spegnimento appropriata.

Init

Sulle distribuzioni Linux senza systemd, ci sono fino a 7 runlevel che il tuo computer capisce., Diverse distribuzioni possono assegnare ciascuna modalità in modo univoco, ma generalmente, 0 avvia uno stato di arresto e 6 avvia un riavvio (i numeri tra indicano stati come modalità utente singolo, modalità multiutente, un prompt GUI e un prompt di testo).

Queste modalità sono definite in/etc / inittab su sistemi senza systemd. Nelle distribuzioni che utilizzano systemd come sistema init, il file/etc / inittab è mancante o è solo un segnaposto.

Il comando telinit è il front-end del sistema init. Se stai usando systemd, questo comando è un collegamento a systemctl con le opzioni appropriate.,

Per spegnere il computer inviandolo al runlevel 0:

$ sudo telinit 0

Per riavviare usando lo stesso metodo:

$ sudo telinit 6

Quanto questo comando sia pericoloso per i tuoi dati dipende interamente dalla tua configurazione init. La maggior parte delle distribuzioni cerca di proteggerti dal staccare la spina (o l’equivalente digitale di quella) mappando i runlevel ai comandi amichevoli.

Puoi vedere di persona cosa succede ad ogni runlevel leggendo gli script di init trovati in /etc/rc.d o / etc / init.d, oppure leggendo i target systemd in / lib / systemd / system/.,

Applica la forza bruta

Finora ho coperto tutti i modi giusti per riavviare o spegnere il computer Linux. Per essere approfondito, includo qui metodi aggiuntivi per abbattere un computer Linux, ma in nessun modo questi metodi sono raccomandati. Non sono progettati come un comando di riavvio o spegnimento giornaliero (il riavvio e l’arresto esistono per questo), ma sono mezzi validi per eseguire l’attività.

Se provi questi metodi, provali in una macchina virtuale. Altrimenti, usali solo in caso di emergenza.,

Proc

Un gradino più in basso rispetto al sistema init è il filesystem / proc, che è una rappresentazione virtuale di quasi tutto ciò che accade sul tuo computer. Ad esempio, è possibile visualizzare le CPU come se fossero file di testo (con cat /proc/cpuinfo), visualizzare quanta energia è rimasta nella batteria del laptop o, dopo una moda, riavviare il sistema.

C’è una disposizione nel kernel Linux per le richieste di sistema (Sysrq sulla maggior parte delle tastiere)., È possibile comunicare direttamente con questo sottosistema utilizzando combinazioni di tasti, idealmente indipendentemente dallo stato in cui si trova il computer; diventa complesso su alcune tastiere perché il tasto Sysrq può essere un tasto funzione speciale che richiede una chiave diversa per accedere (come Fn su molti laptop).

Un’opzione meno probabilità di fallire sta usando echo per inserire informazioni in /proc, manualmente., Innanzitutto, assicurati che il sistema Sysrq sia abilitato:

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

Per riavviare, puoi usare Alt+Sysrq+B o digitare:

$ sudo echo b > /proc/sysrq-trigger

Questo metodo non è un modo ragionevole per riavviare la macchina su base regolare, ma ottiene il lavoro fatto in un pizzico.

Sysctl

I parametri del kernel possono essere gestiti durante il runtime con sysctl. Ci sono molti parametri del kernel, e puoi vederli tutti con sysctl all all. Molto probabilmente non significa molto per te finché non sai cosa cercare, e in questo caso, stai cercando il kernel.panico.,

Puoi interrogare i parametri del kernel usando l’opzione value value:

$ sudo sysctl --value kernel.panic

Se ottieni uno 0 indietro, il kernel che stai eseguendo non ha alcuna impostazione speciale, almeno per impostazione predefinita, per riavviare su un kernel panic. Questa situazione è abbastanza tipica dal momento che il riavvio immediato su un crash di sistema catastrofico rende difficile diagnosticare la causa del crash. Poi di nuovo, i sistemi che hanno bisogno di rimanere su non importa ciò che potrebbe beneficiare di un riavvio automatico dopo un errore del kernel, quindi è un’opzione che viene attivata in alcuni casi.,

Puoi attivare questa funzione come esperimento (se stai seguendo, prova questo in una macchina virtuale piuttosto che sul tuo computer reale):

$ sudo sysctl kernel.reboot=1

Ora, se il tuo computer dovesse sperimentare un kernel panic, è impostato per riavviare invece di aspettare pazientemente che tu diagnostichi il problema. È possibile testare questo simulando un crash catastrofico con sysrq. Per prima cosa, assicurati che Sysrq sia abilitato:

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

E poi simula un kernel panic:

$ sudo echo c > /proc/sysrq-trigger

Il tuo computer si riavvia immediatamente.,

Riavvia responsabilmente

Conoscere tutte queste opzioni non significa che dovresti usarle tutte. Dai un’attenta riflessione a ciò che stai cercando di realizzare e a cosa farà il comando che hai selezionato. Non vuoi danneggiare il tuo sistema essendo sconsiderato. Ecco a cosa servono le macchine virtuali. Tuttavia, avere così tante opzioni significa che sei pronto per la maggior parte delle situazioni.