Hvordan genstarter og lukker jeg Linux-servere?

Som Sysadmin er en af ​​de hyppige aktiviteter at genstarte eller slukke for servere.

Dette kan skyldes regelmæssig vedligeholdelsesaktivitet som OS-patching eller på grund af en hardwarefejl, der kræver, at et system slukkes for vedligeholdelse.

Et Linux-system tilbyder flere forskellige måder at genstarte eller lukke serveren på. Et normalt system bør reagere på enhver kommando, mens en degraderet server muligvis skal genstartes kraftigt. Bemærk, at de fleste af disse kommandoer vil kræve et vist niveau af privilegier enten som superbruger eller med sudo for at blive udført med succes, da genstart af et system er en administrativ opgave, og for et flerbrugersystem eller en server, der kører kritiske processer, er genstart eller lukning en forstyrrende aktivitet.

Denne artikel dækker få sådanne metoder, som kan hjælpe dig med Linux-genstart/nedlukningsaktivitet.

GUI metode

Hvis du bruger et GUI-skrivebordsmiljø til Linux som Gnome, KDE, Mate, XFCE osv., finder du en tænd/sluk-knap i system-/applikationsmenuen, som tilbyder handlinger såsom logout, genstart, dvale eller sluk. Tilgængelige indstillinger kan variere en smule afhængigt af hvilken distribution, skrivebordsmiljø og version af OS, der er i brug. Men du vil helt sikkert finde strømrelaterede indstillinger i tilgængelige menuer for at ændre dit systems strømtilstand.

For eksempel kan jeg på mit Ubuntu Mate-skrivebord finde indstillingen Luk ned i strømmenuen øverst til højre på min skærm.

Når du har valgt “Luk ned …”, vil du blive præsenteret for en dialog med flere muligheder som Suspend, Genstart, Annuller og Luk ned. Du kan enten fortsætte med Genstart eller Luk ned ved at klikke på den højre knap eller annullere og vende tilbage til dit skrivebordsmiljø.

Udbudt GUI og muligheder kan afvige lidt afhængigt af distributionen og skrivebordsmiljøet, du bruger, men du kan være sikker på, at der er en mulighed for at ændre systemets strømtilstand. Og med GUI er det ikke mere end få klik i strømmenuen.

  Sådan reviderer du dit Linux-systems sikkerhed med Lynis

systemctl kommando

På en Linux-boks, der kører systemd som init-systemet, kan du bruge systemctl-kommandoen til at genstarte din maskine.

$ sudo systemctl start reboot.target

Eller du kan simpelthen bruge systemctl med den nødvendige mulighed, som for genstart som:

$ sudo systemctl reboot

For at starte en nedlukning går systemctl-kommandoen sådan:

$ sudo systemctl shutdown

For at standse systemet skal du bruge:

$ sudo systemctl halt

shutdown kommando

shutdown-kommandoen kan bruges til at slukke såvel som genstarte et Linux-system. For at genstarte et system med det samme, brug:

$ sudo shutdown -r now

Eller for at slukke for et system uden at vente, brug -h eller -P flag:

$ sudo shutdown -P now 

Vi kan tilføje en forsinkelse til nedlukningskommando for at genstarte/slukke systemet efter et angivet interval. Dette kan opnås som:

$ sudo shutdown -r 10

For at standse et system uden at bede hardwaren om at slukke, kan du bruge -H flag:

$ sudo shutdown -H now

Hvis du blot angiver nedlukningskommando, bliver nedlukningen planlagt efter et minut. Sådan lukker du ned på et bestemt tidspunkt:

$ sudo shutdown 22:30

I mange tilfælde, mens et system går ned, vil det udsende en besked til konsollen for loggede brugere. Hvis du vil tilføje din brugerdefinerede besked i denne udsendelse, kan du angive en besked sammen med shutdown-kommandoen som:

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

For at annullere en planlagt nedlukning kan du bruge -c flag:

$ sudo shutdown -c

På nogle systemer skal du kalde shutdown-kommando systemctl i backend for at opnå den ønskede genstart/nedlukning.

Genstart kommando

For at genstarte et system på en yndefuld måde, kan du også bruge genstartskommandoen (skal muligvis bruges med sudo).

$ sudo reboot

For at slukke systemet med genstartskommandoen, brug -p flag:

$ sudo reboot -p

For at tvinge en genstart (for systemer, der ikke reagerer på normal genstartskommando), kan du prøve -f flag som:

$ sudo reboot -f

Stop kommando

For at standse et system kan du blot bruge halt kommando:

$ sudo halt

Sluk kommando

For at slukke et system, har du mulighed for at bruge poweroff kommando:

$ sudo poweroff

init kommando

For systemer, der ikke kører på systemd, tilbyder kommandoen init (telinit vil også fungere) muligheder for at ændre systemets kørselsniveau. For at genstarte et system ved hjælp af init, kan du bruge:

$ sudo init 6

På samme måde for at stoppe et system er init-kommandoen, der skal bruges:

$ sudo init 0

Kaldning af et specifikt run-level ved hjælp af init får systemets init-proces til at udføre en række init-scripts i en bestemt rækkefølge for at sikre, at systemet når det ønskede run-level. Kørselsniveau 6 er defineret til genstart, mens kørselsniveau 0 er defineret for at standse systemet.

  Sådan konfigureres virtuelle maskiner på Linux med Gnome-bokse

Power knap

For Linux, der kører på en stationær eller bærbar computer, har et tryk på tænd/sluk-knappen som standard den handling at sætte systemet i dvale eller slukke det ved at sende nedlukningssignalet. Denne mulighed kan justeres fra systemets strømindstillinger. Selvom det ideelt set bør bruges som den sidste mulighed, hvis normale kommandoer ikke virker.

For en ekstern server, der kører Linux, slukker tænd/sluk-knappen normalt systemet. Men dem, der er placeret i fjerntliggende datacentre, har den ekstra mulighed for at blive genstartet eller slukket fra deres CLI/GUI-værktøjer til fjernstyring af lys, der tilbydes af de respektive serverleverandører.

Alt + SysRq kombination

For et ikke-reagerende, frosset system er det svært at bringe det til en genstarts- eller slukketilstand. Når du ikke har andre muligheder og som en sidste udvej, kan du prøve at trykke på Alt + PrintScreen + en sekvens af taster for øjeblikkeligt at genstarte systemet. Det er måske ikke en foretrukken eller anbefalet mulighed, men kan ikke desto mindre bruges som en sidste udvej.

Husk altid, at der er mulighed for datatab og korruption ved hjælp af denne metode, som med enhver anden ikke-yndefuld, tvungen genstart eller nedlukning. Sørg for, at systemets bedste praksis for sikkerhedskopiering og redundans, og vær forsigtig, når du bruger denne mulighed.

  Sådan udvindes Bitcoin Gold (BTG) Cryptocurrency på Linux ved hjælp af Minergate

For at denne mulighed skulle virke, skulle den have været aktiveret i Linux-kernen. Du kan kontrollere dette ved at bruge nedenstående kommando:

$ cat /proc/sys/kernel/sysrq

Et output på 1 angiver, at det er aktiveret fuldstændigt, mens et tal større end angiver, at det er delvist aktiveret med nogle funktioner. For at aktivere det eksplicit kan du bruge:

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

For at genstarte et system ved hjælp af denne metode skal du holde Alt + SysRq (PrintScreen) nede og derefter trykke på følgende taster i rækkefølge efter et interval på få sekunder mellem hver tast:

R E I S U B

eller for at lukke ned tryk O i stedet for B til sidst:

R E I S U O

Her er hvad nøglerne betyder:

  • R: Skift tastatur fra rå til XLATE-tilstand
  • E: Send SIGTERM-signal til alle processer undtagen init
  • I: Send SIGKILL-signal til alle processer undtagen init
  • S: Synkroniser alle monterede filsystemer
  • U: Genmonter alle monterede filsystemer som skrivebeskyttet

Til sidst har vi enten B eller O, som står for:

  • B: Genstart systemet med det samme uden at afmontere partitioner eller synkronisere

ELLER

  • O: Luk systemet ned med det samme uden at afmontere partitioner eller synkronisere

Resumé

Så her går forskellige måder, der giver dig mulighed for at genstarte eller lukke et Linux-system. Det giver dig muligheder lige fra simple GUI-grænseflader til relativt komplekse terminalkommandoer, der kan gøre dit liv nemt eller endda giver dig mulighed for at automatisere ting. For systemer, der frøs af den ene eller anden grund, diskuterede vi tvungne måder at opnå en genstart- eller nedlukningstilstand, som måske ikke er den ideelle måde, men som skal bruges i sjældne tilfælde.

Tag forholdsregler, mens du bruger kommandoerne diskuteret i denne artikel, da de påvirker systemtilstanden og muligvis kan påvirke flere brugere og tjenester i tilfælde af en virksomhedsserver. Tjek man-siderne med kommandoer, der er foreslået i denne artikel, for at lære mere om dem og hvilke muligheder de tilbyder.

Lær, hvordan du konfigurerer WAS til at stoppe med at bede om adgangskode under nedlukning her.