Jak restartovat a vypnout servery Linux?

Jako správce systému je jednou z častých činností restartování nebo vypínání serverů.

Může to být způsobeno pravidelnou údržbou, jako je záplatování OS, nebo kvůli nějakému selhání hardwaru, které vyžaduje vypnutí systému kvůli údržbě.

Systém Linux nabízí několik různých způsobů, jak restartovat nebo vypnout server. Normální systém by měl reagovat na jakýkoli příkaz, zatímco degradovaný server může vyžadovat násilný restart. Pamatujte, že většina z těchto příkazů bude vyžadovat určitou úroveň oprávnění buď jako superuživatel nebo pomocí sudo, aby byly úspěšně provedeny, protože restartování systému je administrativní úkol a pro víceuživatelský systém nebo server s kritickými procesy je restartování nebo vypnutí rušivá činnost.

Tento článek popisuje několik takových metod, které vám mohou pomoci s aktivitou restartování/vypínání Linuxu.

Metoda GUI

Pokud používáte GUI Desktop Environment pro Linux, jako je Gnome, KDE, Mate, XFCE atd., najdete v nabídce systému/aplikace tlačítko napájení, které nabízí akce, jako je odhlášení, restartování, hibernace nebo vypnutí. Dostupné možnosti se mohou mírně lišit v závislosti na používané distribuci, desktopovém prostředí a verzi operačního systému. Ale v dostupných nabídkách určitě najdete nastavení související s napájením, abyste mohli změnit stav napájení vašeho systému.

Například na své ploše Ubuntu Mate najdu možnost Vypnout v nabídce napájení v pravé horní části obrazovky.

Jakmile vyberete možnost „Vypnout…“, zobrazí se vám dialog s několika možnostmi, jako je Pozastavit, Restartovat, Zrušit a Vypnout. Můžete buď pokračovat s Restartovat nebo Vypnout kliknutím na pravé tlačítko, nebo zrušit a vrátit se zpět do prostředí plochy.

Nabízené GUI a možnosti se mohou mírně lišit v závislosti na distribuci a desktopovém prostředí, které používáte, ale buďte si jisti, že existuje možnost změnit stav napájení systému. A s GUI to není víc než pár kliknutí v nabídce napájení.

  Jak uložit videa z YouTube v systému Linux pomocí YouTube-DL

Příkaz systemctl

Na linuxovém boxu se systémem systemd jako init systém můžete k restartování počítače použít příkaz systemctl.

$ sudo systemctl start reboot.target

Nebo můžete jednoduše použít systemctl s požadovanou možností, například pro restart jako:

$ sudo systemctl reboot

Pro zahájení vypnutí příkaz systemctl vypadá takto:

$ sudo systemctl shutdown

K zastavení systému použijte:

$ sudo systemctl halt

Příkaz k vypnutí

příkaz shutdown lze použít k vypnutí i restartu systému Linux. Chcete-li okamžitě restartovat systém, použijte:

$ sudo shutdown -r now

Nebo pro vypnutí systému bez čekání použijte příznak -h nebo -P:

$ sudo shutdown -P now 

K příkazu k vypnutí můžeme přidat prodlevu pro restartování/vypnutí systému po zadaném intervalu. Toho lze dosáhnout takto:

$ sudo shutdown -r 10

Chcete-li zastavit systém, aniž byste požádali hardware o vypnutí, můžete použít příznak -H:

$ sudo shutdown -H now

Pokud jednoduše zadáte příkaz vypnutí, vypnutí bude naplánováno po minutě. Chcete-li vypnout v určitou dobu, použijte:

$ sudo shutdown 22:30

V mnoha případech, když systém vypadne, odešle zprávu do konzole přihlášených uživatelů. Pokud chcete do tohoto vysílání přidat vlastní zprávu, můžete zadat zprávu spolu s příkazem k vypnutí jako:

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

Chcete-li zrušit plánované vypnutí, můžete použít parametr -c:

$ sudo shutdown -c

Na některých systémech zavolejte příkaz shutdown systemctl v backendu, abyste dosáhli požadované operace restartování/vypnutí.

Příkaz restartovat

Chcete-li elegantně restartovat systém, můžete také použít příkaz reboot (možná bude nutné použít sudo).

$ sudo reboot

Chcete-li vypnout systém pomocí příkazu reboot, použijte parametr -p:

$ sudo reboot -p

Chcete-li vynutit restart (u systémů, které nereagují na normální příkaz restartu), můžete zkusit příznak -f jako:

$ sudo reboot -f

Příkaz zastavení

Chcete-li zastavit systém, můžete jednoduše použít příkaz halt:

$ sudo halt

Příkaz k vypnutí

Chcete-li vypnout systém, máte možnost použít příkaz poweroff:

$ sudo poweroff

Příkaz init

Pro systémy, které neběží na systemd, příkaz init (bude také fungovat telinit) nabízí možnosti pro změnu úrovně běhu systému. Chcete-li restartovat systém pomocí init, můžete použít:

$ sudo init 6

Podobně jako u zastavení systému je třeba použít příkaz init:

$ sudo init 0

Volání konkrétní úrovně běhu pomocí init způsobí, že proces init systému spustí řadu init skriptů v určitém pořadí, aby se zajistilo, že systém dosáhne požadované úrovně běhu. Úroveň běhu 6 je definována pro restartování při úrovni běhu 0, pokud pro zastavení systému.

  Jak nainstalovat WPS Office na Linux

Tlačítko napájení

V případě Linuxu běžícího na stolním počítači nebo notebooku má stisknutí tlačítka napájení ve výchozím nastavení buď uspání systému, nebo jeho vypnutí odesláním signálu vypnutí. Tuto možnost lze vyladit z nastavení napájení systému. I když by se ideálně měla používat jako poslední možnost, pokud normální příkazy nefungují.

U vzdáleného serveru se systémem Linux tlačítko napájení obvykle vypne systém. Ale ti, kteří se nacházejí ve vzdálených datových centrech, mají další možnost restartování nebo vypnutí pomocí nástrojů CLI/GUI pro vzdálenou správu bez osvětlení nabízených příslušnými prodejci serverů.

Kombinace Alt + SysRq

U nereagujícího zamrzlého systému je těžké jej uvést do stavu restartu nebo vypnutí. Pokud nemáte jinou možnost a jako poslední možnost, můžete zkusit stisknout Alt + PrintScreen + posloupnost kláves, abyste okamžitě restartovali systém. Nemusí to být preferovaná nebo doporučená možnost, ale přesto může být použita jako poslední možnost.

Vždy mějte na paměti, že při použití této metody existuje možnost ztráty a poškození dat, stejně jako u jakékoli jiné možnosti vynuceného restartu nebo vypnutí. Zajistěte osvědčené systémové postupy pro zálohování a redundanci a buďte opatrní při používání této možnosti.

  Jak nastavit synchronizaci Cozy cloud v systému Linux

Aby tato možnost fungovala, měla by být povolena v jádře Linuxu. Můžete to zkontrolovat pomocí níže uvedeného příkazu:

$ cat /proc/sys/kernel/sysrq

Výstup 1 znamená, že je povoleno úplně, zatímco číslo větší než znamená, že je s některými funkcemi částečně povoleno. Chcete-li to explicitně povolit, můžete použít:

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

Chcete-li restartovat systém pomocí této metody, podržte Alt + SysRq (PrintScreen) a po několika sekundách mezi jednotlivými klávesami postupně stiskněte následující klávesy:

R E I S U B

nebo pro vypnutí stiskněte O místo B na konci:

R E I S U O

Co znamenají klíče:

  • R: Přepnutí klávesnice z režimu raw do režimu XLATE
  • E: Odešle signál SIGTERM všem procesům kromě init
  • I: Odešle signál SIGKILL všem procesům kromě init
  • S: Synchronizujte všechny připojené souborové systémy
  • U: Znovu připojte všechny připojené souborové systémy jako pouze pro čtení

Nakonec máme buď B nebo O, což znamená:

  • B: Okamžitě restartujte systém bez odpojování oddílů nebo synchronizace

NEBO

  • O: Okamžitě vypněte systém bez odpojování oddílů nebo synchronizace

souhrn

Zde jsou uvedeny různé způsoby, které vám umožní restartovat nebo vypnout systém Linux. Nabízí vám možnosti od jednoduchých rozhraní GUI až po relativně složité příkazy terminálu, které vám mohou usnadnit život nebo vám dokonce umožní věci automatizovat. U systémů, které z toho či onoho důvodu zamrzly, jsme diskutovali o vynucených způsobech, jak dosáhnout stavu restartu nebo vypnutí, což nemusí být ideální způsob, ale musí se používat ve vzácných případech.

Při používání příkazů popsaných v tomto článku proveďte preventivní opatření, protože ovlivňují stav systému a v případě podnikového serveru by mohly ovlivnit více uživatelů a služeb. Podívejte se na manuálové stránky příkazů navržených v tomto článku, kde se o nich dozvíte více a jaké všechny možnosti nabízejí.

Zde se dozvíte, jak nakonfigurovat WAS tak, aby při vypínání přestal vyžadovat heslo.