Linux è completamente in grado di funzionare non per settimane, ma anni, senza un riavvio. In alcuni settori, è esattamente ciò che fa Linux, grazie a progressi come kpatch e kgraph .
Per gli utenti di laptop e desktop, tuttavia, questa 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 essere riavviato spesso, Linux offre molte 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 ciascun sistema operativo. Anche all'interno dei sistemi POSIX, i comandi di spegnimento e riavvio potrebbero comportarsi in modo diverso a causa di diversi sistemi di inizializzazione o design dei comandi.
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 senza un riavvio, se è quello che ti serve. Non è necessario "rinfrescare" il computer con un riavvio a meno che non sia espressamente consigliato da un programma di installazione o aggiornamento del software. Inoltre, riavviare non fa male, quindi dipende da te.
In secondo luogo, il riavvio è pensato per essere un processo semplice, che lascia il tempo necessario per l'uscita dei programmi, il salvataggio dei file, la rimozione dei file temporanei, l'aggiornamento dei diari del filesystem e così via. Quando possibile, riavvia utilizzando le interfacce previste, sia in una GUI che in un terminale. Se si forza lo spegnimento o il riavvio del computer, si rischia di perdere i dati non salvati e anche quelli salvati di recente e persino di danneggiare importanti informazioni di sistema; dovresti forzare lo spegnimento del computer solo quando non ci sono altre opzioni.
Fai 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 GNOME, è nella barra delle applicazioni:
È anche nelle Attività di GNOME menu:
Sul desktop di KDE, i pulsanti di accensione si trovano nelle Applicazioni menu:
Puoi anche accedere ai controlli di alimentazione di KDE facendo clic con il pulsante destro del mouse sul desktop e selezionando Lascia opzione, che apre la finestra che vedi qui:
Altri desktop forniscono variazioni su questi temi, ma l'idea generale è la stessa:utilizzare il mouse per individuare il pulsante di accensione, quindi fare clic su di esso. Potrebbe essere necessario selezionare tra il riavvio e lo spegnimento, ma alla fine il risultato è quasi identico:i processi vengono interrotti, in modo corretto, in modo che i dati vengano salvati e i file temporanei vengano rimossi, quindi i dati vengono sincronizzati sulle unità e quindi il sistema è spento.
Premi il pulsante fisico
La maggior parte dei computer ha un pulsante di accensione fisico. Se si preme quel pulsante, il desktop Linux potrebbe visualizzare un menu di alimentazione con opzioni per lo spegnimento o il riavvio. 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 una portata limitata, quindi non c'è molto da configurare dal punto di vista dell'utente. Di solito, le opzioni ACPI sono chiamate genericamente Potenza e sono impostati su un valore predefinito sano. Se desideri modificare questa configurazione, puoi farlo nelle impostazioni del tuo sistema.
Su GNOME, apri il menu della barra delle applicazioni e seleziona Attività , quindi Impostazioni. Quindi, seleziona il Potere categoria nella colonna di sinistra, che apre il seguente menu:
Nel pulsante di sospensione e accensione sezione, seleziona cosa vuoi che faccia il pulsante di accensione fisico.
Il processo è simile su tutti i desktop. Ad esempio, su KDE, il Risparmio energetico pannello in Impostazioni di sistema contiene un'opzione per Gestione eventi pulsanti.
Dopo aver configurato la modalità di gestione dell'evento del pulsante, la pressione del pulsante di accensione fisico del computer segue l'opzione scelta. A seconda del fornitore del tuo computer (o dei fornitori di componenti, se ne costruisci uno), la pressione di un pulsante potrebbe essere un tocco leggero, oppure potrebbe richiedere una pressione leggermente più lunga, quindi potresti dover fare alcuni test prima di prenderne il controllo .
Fai attenzione a una pressione troppo lunga, tuttavia, poiché potrebbe spegnere il computer senza preavviso.
Esegui il comando systemctl
Se operi più in un terminale che in un desktop GUI, potresti preferire il riavvio con un comando. In generale, il riavvio e lo spegnimento sono processi di init sistema:la sequenza di programmi che portano su o giù un computer dopo la ricezione di un segnale di alimentazione (rispettivamente acceso o spento).
Sulla maggior parte delle moderne distribuzioni Linux, systemd è il sistema init, quindi sia il riavvio che lo spegnimento possono essere eseguiti tramite systemd interfaccia utente, systemctl . Il systemctl comando accetta, tra molte altre opzioni, halt (interrompe l'attività del disco ma non interrompe l'alimentazione) riavvia (interrompe l'attività del disco e invia un segnale di ripristino alla scheda madre) e spegnimento (arresta 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.
Ad esempio, per attivare un riavvio:
$ sudo systemctl start reboot.target
Esegui il comando di spegnimento
UNIX tradizionale, prima dei giorni di systemd (e per alcune distribuzioni Linux, come Slackware, è adesso ), c'erano comandi specifici per arrestare un sistema. Lo arresto command, 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 spegnimento sa quando eseguire. Per riavviare immediatamente, aggiungi -r bandiera:
$ sudo shutdown -r now
Per spegnere immediatamente:
$ sudo shutdown -P now
Oppure puoi utilizzare il spegnimento comando:
$ poweroff
Per riavviare dopo 10 minuti:
$ sudo shutdown -r 10
Lo arresto command è un modo sicuro per spegnere o riavviare il computer, consentendo la sincronizzazione dei dischi e la fine dei processi. Questo comando impedisce nuovi accessi entro gli ultimi 5 minuti dall'inizio dello spegnimento, il che è particolarmente utile su sistemi multiutente.
Su molti sistemi oggi, lo spegnimento command è in realtà solo una chiamata a systemctl con l'opzione di riavvio o spegnimento appropriata.
Esegui il comando di riavvio
Il riavvio comando, di per sé, è fondamentalmente una scorciatoia per spegnimento -r ora . Da un terminale, questo è il comando di riavvio più semplice e veloce:
$ sudo reboot
Se il tuo sistema viene bloccato dall'arresto (forse a causa di un processo incontrollato), puoi utilizzare il --force flag per spegnere comunque il sistema. Tuttavia, questa opzione ignora il processo di arresto effettivo, che può essere brusco per i processi in esecuzione, quindi dovrebbe essere utilizzata solo quando lo arresto comando ti sta impedendo lo spegnimento.
Su molti sistemi, riavvia è in realtà una chiamata a systemctl con l'opzione di riavvio o spegnimento appropriata.
Inizia
Su distribuzioni Linux senza systemd , ci sono fino a 7 runlevel comprensibili dal tuo computer. Diverse distribuzioni possono assegnare ciascuna modalità in modo univoco, ma in genere 0 avvia uno stato di arresto e 6 avvia un riavvio (i numeri intermedi indicano stati come modalità utente singolo, modalità multiutente, un prompt della GUI e un prompt di testo) .
Queste modalità sono definite in /etc/inittab su sistemi senza systemd . Sulle distribuzioni che utilizzano systemd come sistema init, il /etc/inittab il file è mancante o è solo un segnaposto.
Il telinit command è il front-end del tuo sistema init. Se stai utilizzando systemd , allora questo comando è un collegamento a systemctl con le opzioni appropriate.
Per spegnere il computer inviandolo al runlevel 0:
$ sudo telinit 0
Per riavviare utilizzando lo stesso metodo:
$ sudo telinit 6
La pericolosità di questo comando per i tuoi dati dipende interamente dalla tua configurazione init. La maggior parte delle distribuzioni cerca di proteggerti dallo staccare la spina (o l'equivalente digitale di quello) mappando i runlevel su comandi amichevoli.
Puoi vedere di persona cosa succede a ogni runlevel leggendo gli script di inizializzazione che si trovano in /etc/rc.d o /etc/init.d o leggendo il systemd target in /lib/systemd/system/ .
Applica la forza bruta
Finora ho coperto tutti i diritti modi per riavviare o spegnere il tuo computer Linux. Per essere approfondito, includo qui metodi aggiuntivi per arrestare un computer Linux, ma non sono assolutamente raccomandati questi metodi. Non sono progettati come comando di riavvio o spegnimento giornaliero (riavvio e spegnimento esistono per questo), ma sono mezzi validi per portare a termine il compito.
Se provi questi metodi, provali in una macchina virtuale. Altrimenti, usali solo in caso di emergenza.
Proc
Un gradino più basso rispetto al sistema init è il /proc filesystem, che è una rappresentazione virtuale di quasi tutto ciò che accade sul tuo computer. Ad esempio, puoi visualizzare le tue CPU come se fossero file di testo (con cat /proc/cpuinfo ), visualizza quanta energia è rimasta nella batteria del tuo laptop o, in un certo senso, riavvia il sistema.
C'è una disposizione nel kernel Linux per le richieste di sistema (Sysrq sulla maggior parte delle tastiere). Puoi comunicare direttamente con questo sottosistema usando combinazioni di tasti, idealmente indipendentemente dallo stato in cui si trova il tuo computer; diventa complesso su alcune tastiere perché Sysrq chiave può essere un tasto funzione speciale che richiede una chiave diversa per accedere (come Fn su molti laptop).
Un'opzione che ha meno probabilità di fallire è usare 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 utilizzare Alt +Syrq +B oppure digita:
$ sudo echo b > /proc/sysrq-trigger
Questo metodo non è un modo ragionevole per riavviare la macchina regolarmente, ma fa il lavoro in un attimo.
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 . Molto probabilmente non significa molto per te finché non sai cosa cercare e, in questo caso, stai cercando kernel.panic .
Puoi interrogare i parametri del kernel usando il -–value opzione:
$ sudo sysctl --value kernel.panic
Se ottieni uno 0 indietro, il kernel che stai eseguendo non ha impostazioni speciali, almeno per impostazione predefinita, per il riavvio in caso di panico del kernel. Questa situazione è abbastanza tipica poiché il riavvio immediato in caso di arresto anomalo del sistema catastrofico rende difficile diagnosticare la causa dell'arresto anomalo. Inoltre, i sistemi che devono rimanere accesi indipendentemente da ciò che potrebbe trarre vantaggio da un riavvio automatico dopo un errore del kernel, quindi è un'opzione che in alcuni casi viene attivata.
Puoi attivare questa funzione come esperimento (se stai seguendo, provalo in una macchina virtuale anziché sul tuo computer reale):
$ sudo sysctl kernel.reboot=1
Ora, se il tuo computer dovesse subire un panico del kernel, è impostato per riavviarsi invece di aspettare pazientemente che tu diagnostichi il problema. Puoi verificarlo simulando un arresto anomalo catastrofico con sysrq . Innanzitutto, assicurati che Sysrq sia abilitato:
$ sudo echo 1 > /proc/sys/kernel/sysrq
E poi simula un panico del kernel:
$ sudo echo c > /proc/sysrq-trigger
Il computer si riavvia immediatamente.
Riavvia in modo responsabile
Conoscere tutte queste opzioni non significa che dovresti usarle tutte. Pensa attentamente a cosa stai cercando di realizzare e 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.
Ho tralasciato il tuo metodo preferito per riavviare o spegnere un sistema? Elenca cosa mi sono perso nei commenti!