Articles

3 kommandon för att starta om Linux (plus 4 fler sätt att göra det på ett säkert sätt)

Linux är fullt kapabel att köra inte veckor, men år, utan omstart. I vissa branscher är det precis vad Linux gör, tack vare framsteg som kpatch och kgraph.

för bärbara och stationära användare är dock det mätvärdet lite extremt. Även om det kanske inte är en daglig verklighet, är det åtminstone en veckovis verklighet som ibland har du en bra anledning att starta om datorn. Och för ett system som inte behöver startas om ofta, Linux erbjuder massor av val för när det är dags att börja om.,

förstå dina alternativ

innan du fortsätter, en anteckning om omstart. Omstart är en unik process på varje operativsystem. Även inom POSIX-system kan kommandona för att stänga av och starta om bete sig annorlunda på grund av olika initieringssystem eller kommandodesigner.

trots denna faktor är två begrepp avgörande. För det första är omstart sällan nödvändig på ett POSIX-system. Din Linux-maskin kan fungera i veckor eller månader i taget utan omstart om det är vad du behöver., Det finns ingen anledning att ”fräscha upp” din dator med en omstart om inte specifikt rekommenderas att göra det av en installationsprogram eller updater. Då gör det inte heller ont att starta om, så det är upp till dig.

För det andra är omstart tänkt att vara en vänlig process, vilket ger tid för program att avsluta, filer som ska sparas, temporära filer som ska tas bort, filsystemjournaler uppdateras och så vidare. Om möjligt, starta om med de avsedda gränssnitten, oavsett om det är i ett GUI eller en terminal., Om du tvingar din dator att stänga av eller starta om riskerar du att förlora osparade och till och med nyligen sparade data, och till och med korrumpera viktig systeminformation.du borde bara någonsin tvinga din dator när det inte finns något annat alternativ.

klicka på knappen

det första sättet att starta om eller stänga av Linux är det vanligaste, och det mest intuitiva för de flesta skrivbordsanvändare oavsett operativsystem: det är strömbrytaren i GUI., Eftersom avstängning och omstart är vanliga uppgifter på en arbetsstation, kan du vanligtvis hitta strömbrytaren (vanligtvis med omstart och stänga av alternativ) på några olika ställen., På GNOME-skrivbordet finns det i systemfältet:

det finns också i GNOME-aktivitetsmenyn:

på KDE-skrivbordet finns strömknapparna i programmenyn:

Du kan också komma åt KDE: s strömkontroller genom att högerklicka på skrivbordet och välja alternativet Lämna, vilket öppnar fönstret du ser här:

andra skrivbord ger variationer på dessa teman, men den allmänna idén är densamma: Använd musen för att hitta strömbrytaren och klicka sedan på den., Du kan behöva välja mellan omstart och avstängning, men i slutändan är resultatet nästan identiskt: processer stoppas, snyggt, så att data sparas och temporära filer tas bort, då data synkroniseras till enheter, och sedan är systemet avstängt.

tryck på den fysiska knappen

de flesta datorer har en fysisk strömknapp. Om du trycker på den knappen kan ditt Linux-skrivbord visa en strömmeny med alternativ för att stänga av eller starta om., Denna funktion tillhandahålls av Advanced Configuration and Power Interface (ACPI) delsystemet, som kommunicerar med moderkortets firmware för att styra datorns tillstånd.

ACPI är viktigt men det är begränsat i omfattning, så det finns inte mycket att konfigurera ur användarens perspektiv. Vanligtvis kallas ACPI-alternativ generiskt ström och är inställda på en förnuftig standard. Om du vill ändra den här inställningen kan du göra det i dina systeminställningar.

på GNOME öppnar du menyn i systemfältet och väljer aktiviteter och sedan Inställningar., Välj sedan Strömkategorin i den vänstra kolumnen, som öppnar följande meny:

i avsnittet suspendera & Strömknapp, välj vad du vill att den fysiska strömbrytaren ska göra.

processen är liknande över stationära datorer. Till exempel på KDE innehåller Energihanteringspanelen i Systeminställningar ett alternativ för hantering av Knapphändelser.

kde-makt-management.jpg

opensource.,com

När du har konfigurerat hur knappen händelsen hanteras, trycker du på datorns fysiska strömknapp följer vilket alternativ du väljer. Beroende på din dator leverantör (eller delar leverantörer, om du bygger din egen), en knapptryckning kan vara en lätt kran, eller det kan kräva en något längre tryck, så du kan behöva göra några tester innan du får kläm på det.

akta dig för en över lång press, men eftersom det kan stänga av datorn utan förvarning.,

Kör kommandot systemctl

om du arbetar mer i en terminal än i ett GUI-skrivbord, kanske du föredrar att starta om med ett kommando. I stort sett är omstart och avstängning processer i init—systemet-sekvensen av program som tar en dator upp eller ner efter en kraftsignal (antingen på eller av) tas emot.

på de flesta moderna Linux-distributioner är systemd init-systemet, så både omstart och avstängning kan utföras via systemd-användargränssnittet, systemctl., Systemctl-kommandot accepterar bland många andra alternativ, stopp (stoppar diskaktivitet men skär inte ström) omstart (stoppar diskaktivitet och skickar en återställningssignal till moderkortet) och strömavbrott (stoppar diskacitivitet och skär sedan ström). Dessa kommandon är mestadels likvärdiga med att starta målfilen med samma namn.

till exempel för att utlösa en omstart:

$ sudo systemctl start reboot.target

kör avstängningskommandot

traditionell UNIX, före systemd-dagarna (och för vissa Linux-distributioner, som Slackware, det är nu), fanns kommandon som var specifika för att stoppa ett system., Avstängningskommandot kan till exempel stänga av din maskin, men det har flera alternativ för att styra exakt vad det betyder.

det här kommandot kräver ett tidsargument, i minuter, så att avstängning vet när du ska köra., För att starta om omedelbart, lägg till flaggan-r:

$ sudo shutdown -r now

för att stänga av omedelbart:

$ sudo shutdown -P now

eller så kan du använda kommandot poweroff:

$ poweroff

för att starta om efter 10 minuter:

$ sudo shutdown -r 10

för att starta om shutdown kommando är ett säkert sätt att stänga av eller starta om datorn, så att diskar att synkronisera och processer för att avsluta. Detta kommando förhindrar nya inloggningar inom de sista 5 minuterna av avstängning börjar, vilket är särskilt användbart på flera användarsystem.,

på många system idag är avstängningskommandot faktiskt bara ett samtal till systemctl med lämpligt omstart eller avstängning.

kör omstartkommandot

omstartkommandot är i grunden en genväg till shutdown-r nu. Från en terminal är detta det enklaste och snabbaste omstartkommandot:

$ sudo reboot

om ditt system blockeras från att stängas av (kanske på grund av en skenande process) kan du använda –force-flaggan för att få systemet att stängas av ändå., Men det här alternativet hoppar över den faktiska avstängningsprocessen, som kan vara abrupt för att köra processer, så det ska bara användas när avstängningskommandot blockerar dig från att stänga av.

på många system är omstart faktiskt ett samtal till systemctl med lämpligt omstart eller avstängning.

init

På Linux-distributioner utan systemd finns det upp till 7 runlevels som datorn förstår., Olika distributioner kan tilldela varje läge unikt, men i allmänhet initierar 0 ett stoppläge, och 6 initierar en omstart (siffrorna mellan betecknar tillstånd som enanvändarläge, fleranvändarläge, en GUI-prompt och en textprompt).

dessa lägen definieras i/etc / inittab på system utan systemd. På distributioner med systemd som init-systemet saknas filen/etc / inittab, eller det är bara en platshållare.

telinit-kommandot är fronten till ditt init-system. Om du använder systemd är det här kommandot en länk till systemctl med lämpliga alternativ.,

för att stänga av datorn genom att skicka den till runlevel 0:

$ sudo telinit 0

för att starta om med samma metod:

$ sudo telinit 6

hur osäkert detta kommando är för dina data beror helt på din init-konfiguration. De flesta distributioner försöker skydda dig från att dra i kontakten (eller den digitala motsvarigheten till det) genom att mappa runlevels till vänliga kommandon.

Du kan själv se vad som händer vid varje runlevel genom att läsa init-skript som finns i / etc / rc.d eller /etc/init.D, eller genom att läsa systemd mål i / lib/systemd/system/.,

applicera brute force

hittills har jag täckt alla rätt sätt att starta om eller stänga av din Linux-dator. För att vara noggrann, jag inkluderar här ytterligare metoder för att få ner en Linux-dator, men inte på något sätt rekommenderas dessa metoder. De är inte utformade som en daglig omstart eller stäng av kommandot (omstart och avstängning finns för det), men de är giltiga medel för att utföra uppgiften.

om du försöker med dessa metoder, prova dem i en virtuell maskin. Annars använd dem endast i nödsituationer.,

Proc

ett steg lägre än init-systemet är / proc-filsystemet, vilket är en virtuell representation av nästan allt som händer på din dator. Till exempel kan du visa dina processorer som om de var textfiler (med cat /proc/cpuinfo), visa hur mycket ström som finns kvar i din bärbara dator batteri, eller, efter ett sätt, starta om systemet.

det finns en bestämmelse i Linux-kärnan för systemförfrågningar (Sysrq på de flesta tangentbord)., Du kan kommunicera direkt med det här delsystemet med hjälp av tangentkombinationer, helst oavsett vilket tillstånd din dator är i; det blir komplicerat på vissa tangentbord eftersom Sysrq-tangenten kan vara en speciell funktionsknapp som kräver en annan nyckel för åtkomst (till exempel Fn på många bärbara datorer).

ett alternativ som är mindre sannolikt att misslyckas använder echo för att infoga information i / proc manuellt., Kontrollera först att Sysrq-systemet är aktiverat:

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

för att starta om kan du använda antingen Alt+Sysrq+B eller typ:

$ sudo echo b > /proc/sysrq-trigger

den här metoden är inte ett rimligt sätt att starta om datorn regelbundet, men det får jobbet gjort i en nypa.

Sysctl

kärnparametrar kan hanteras under körning med sysctl. Det finns massor av kärnparametrar, och du kan se dem alla med sysctl –all. Förmodligen betyder inte mycket för dig tills du vet vad du ska leta efter, och i det här fallet letar du efter kärnan.panik.,

Du kan fråga kärnparametrar med alternativet –value:

$ sudo sysctl --value kernel.panic

om du får en 0 tillbaka, har kärnan du kör ingen speciell inställning, åtminstone som standard, för att starta om vid en kärnpanik. Den situationen är ganska typisk eftersom omstart omedelbart på en katastrofal systemkrasch gör det svårt att diagnostisera orsaken till kraschen. Då igen, system som behöver stanna kvar oavsett vad som kan dra nytta av en automatisk omstart efter ett kärnfel, så det är ett alternativ som slås på i vissa fall.,

Du kan aktivera den här funktionen som ett experiment (om du följer med, prova det här i en virtuell maskin snarare än på din faktiska dator):

$ sudo sysctl kernel.reboot=1

om datorn skulle få en kärnpanik, är den inställd på att starta om istället för att vänta tålmodigt på att du ska diagnostisera problemet. Du kan testa detta genom att simulera en katastrofal krasch med sysrq. Kontrollera först att Sysrq är aktiverat:

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

och simulera sedan en kärnpanik:

$ sudo echo c > /proc/sysrq-trigger

datorn startas om omedelbart.,

starta ansvarsfullt

att veta alla dessa alternativ betyder inte att du ska använda dem alla. Tänk noga på vad du försöker åstadkomma, och vad kommandot du har valt kommer att göra. Du vill inte skada ditt system genom att vara vårdslös. Det är vad virtuella maskiner är för. Men att ha så många alternativ innebär att du är redo för de flesta situationer.