GNU/Linux >> Znalost Linux >  >> Linux

3 příkazy pro restartování Linuxu (plus 4 další způsoby, jak to provést bezpečně)

Linux je plně schopen běžet ne týdny, ale roky bez restartu. V některých odvětvích je to přesně to, co Linux dělá, díky pokrokům, jako je kpatch a kgraph .

Pro uživatele notebooků a stolních počítačů je však tato metrika trochu extrémní. I když to nemusí být každodenní realita, je to alespoň týdenní realita, že někdy máte dobrý důvod restartovat počítač. A pro systém, který nepotřebuje často restartovat, Linux nabízí spoustu možností, kdy je čas začít znovu.

Pochopte své možnosti

Než budete pokračovat, poznámka o restartu. Restartování je jedinečný proces na každém operačním systému. Dokonce i v systémech POSIX se příkazy pro vypnutí a restart mohou chovat odlišně kvůli různým inicializačním systémům nebo návrhům příkazů.

Navzdory tomuto faktoru jsou důležité dva koncepty. Za prvé, restartování je na systému POSIX zřídka vyžadováno. Váš počítač se systémem Linux může fungovat týdny nebo měsíce v kuse bez restartu, pokud je to to, co potřebujete. Není třeba „obnovovat“ počítač restartem, pokud to není výslovně doporučeno instalačním programem nebo aktualizátorem softwaru. Pak znovu, neuškodí ani restart, takže je to na vás.

Za druhé, restartování je myšleno jako přátelský proces, který poskytuje čas na ukončení programů, uložení souborů, odstranění dočasných souborů, aktualizaci žurnálů souborového systému atd. Kdykoli je to možné, restartujte pomocí zamýšlených rozhraní, ať už v GUI nebo terminálu. Pokud donutíte počítač vypnout nebo restartovat, riskujete ztrátu neuložených a dokonce i nedávno uložených dat a dokonce poškození důležitých systémových informací; počítač byste měli vynutit pouze tehdy, když neexistuje žádná jiná možnost.

Klikněte na tlačítko

První způsob, jak restartovat nebo vypnout Linux, je nejběžnější a nejintuitivnější pro většinu uživatelů stolních počítačů bez ohledu na jejich operační systém:Je to tlačítko napájení v GUI. Protože vypnutí a restartování jsou běžné úkoly na pracovní stanici, můžete obvykle najít tlačítko napájení (obvykle s možnostmi restartování a vypnutí) na několika různých místech. Na ploše GNOME je na systémové liště: 

Je to také v Aktivity GNOME menu:

Na ploše KDE najdete tlačítka napájení v části Aplikace menu:

K ovládacím prvkům napájení KDE se také dostanete kliknutím pravým tlačítkem na plochu a výběrem možnosti Odejít možnost, která otevře okno, které vidíte zde:

Jiné pracovní plochy nabízejí varianty těchto témat, ale obecná myšlenka je stejná:pomocí myši vyhledejte vypínač a poté na něj klikněte. Možná si budete muset vybrat mezi restartováním a vypnutím, ale nakonec je výsledek téměř totožný:Procesy jsou zastaveny, pěkně, takže se data uloží a dočasné soubory se odstraní, pak se data synchronizují na disky a poté se systém je vypnutý.

Stiskněte fyzické tlačítko

Většina počítačů má fyzické tlačítko napájení. Pokud toto tlačítko stisknete, na ploše Linuxu se může zobrazit nabídka napájení s možnostmi vypnutí nebo restartu. Tuto funkci poskytuje subsystém ACPI (Advanced Configuration and Power Interface), který komunikuje s firmwarem vaší základní desky a řídí stav vašeho počítače.

ACPI je důležité, ale jeho rozsah je omezený, takže z pohledu uživatele není moc co konfigurovat. Obvykle se možnosti ACPI obecně nazývají Napájení a jsou nastaveny na rozumnou výchozí hodnotu. Chcete-li toto nastavení změnit, můžete tak učinit v nastavení systému.

V GNOME otevřete nabídku na systémové liště a vyberte Aktivity a poté Nastavení. Dále vyberte Napájení kategorie v levém sloupci, čímž se otevře následující nabídka:

V Tlačítko pozastavení a zapnutí vyberte, co má fyzické tlačítko napájení dělat.

Postup je podobný napříč desktopy. Například v KDE, Správa napájení panelu v Nastavení systému obsahuje možnost Zpracování událostí tlačítka.

Poté, co nakonfigurujete způsob zpracování události tlačítka, bude stisknutí fyzického tlačítka napájení počítače následovat po libovolné možnosti, kterou zvolíte. V závislosti na prodejci vašeho počítače (nebo na dodavatelích dílů, pokud si sestavujete svůj vlastní), může být stisknutí tlačítka lehké klepnutí nebo může vyžadovat trochu delší stisk, takže možná budete muset udělat nějaké testy, než se do toho pustíte. .

Dejte si však pozor na příliš dlouhé stisknutí, protože může bez varování vypnout váš počítač.

Spusťte příkaz systemctl

Pokud pracujete více v terminálu než v grafickém uživatelském rozhraní, možná budete chtít restartovat pomocí příkazu. Obecně řečeno, restartování a vypnutí jsou procesy init system – sekvence programů, které po přijetí signálu napájení (buď zapnuto, nebo vypnuto) přivedou počítač nahoru nebo dolů.

Na většině moderních distribucí Linuxu systemd je systém init, takže restartování i vypnutí lze provést prostřednictvím systemd uživatelské rozhraní, systemctl . systemctl příkaz akceptuje, kromě mnoha dalších možností, zastavit (zastaví činnost disku, ale nepřeruší napájení) restartujte (zastaví činnost disku a odešle signál resetování na základní desku) a vypnutí (zastaví aktivitu disku a poté vypne napájení). Tyto příkazy jsou většinou ekvivalentní spuštění cílového souboru se stejným názvem.

Chcete-li například spustit restart:

$ sudo systemctl start reboot.target

Spustit příkaz k vypnutí

Tradiční UNIX, před dny systemd (a pro některé distribuce Linuxu, jako je Slackware, je to nyní ), existovaly příkazy specifické pro zastavení systému. Vypnutí příkaz například může vypnout váš počítač, ale má několik možností, jak přesně ovládat, co to znamená.

Tento příkaz vyžaduje časový argument v minutách, aby se vypnul ví, kdy provést. Pro okamžité restartování připojte -r příznak:

$ sudo shutdown -r now

Okamžité vypnutí:

$ sudo shutdown -P now

Nebo můžete použít vypnutí příkaz:

$ poweroff

Restartování po 10 minutách:

$ sudo shutdown -r 10

Vypnutí Command je bezpečný způsob, jak vypnout nebo restartovat počítač, což umožňuje synchronizaci disků a ukončení procesů. Tento příkaz zabrání novým přihlášením během posledních 5 minut po zahájení vypnutí, což je zvláště užitečné na systémech s více uživateli.

Na mnoha dnešních systémech vypnutí příkaz je vlastně jen volání systemctl s příslušnou možností restartu nebo vypnutí.

Spusťte příkaz reboot

Restartování příkaz je sám o sobě v podstatě zkratkou pro shutdown -r now . Z terminálu je to nejjednodušší a nejrychlejší příkaz pro restart:

$ sudo reboot

Pokud je vypnutí vašeho systému blokováno (pravděpodobně kvůli nekontrolovanému procesu), můžete použít --force příznak, aby se systém stejně vypnul. Tato možnost však přeskočí skutečný proces vypínání, který může být u běžících procesů náhlý, takže by se měla používat pouze při vypnutí příkaz vám brání ve vypnutí.

Na mnoha systémech restartujte je ve skutečnosti volání systemctl s příslušnou možností restartu nebo vypnutí.

Init

V distribucích Linuxu bez systemd , existuje až 7 úrovní běhu, kterým váš počítač rozumí. Různé distribuce mohou každému režimu přiřadit jedinečně, ale obecně 0 iniciuje stav zastavení a 6 iniciuje restart (čísla mezi nimi označují stavy, jako je režim pro jednoho uživatele, režim pro více uživatelů, výzva GUI a textová výzva) .

Tyto režimy jsou definovány v /etc/inittab na systémech bez systemd . V distribucích používajících systemd jako init systém, /etc/inittab soubor buď chybí, nebo je to jen zástupný symbol.

telinit příkaz je front-end vašeho init systému. Pokud používáte systemd , pak je tento příkaz odkazem na systemctl s příslušnými možnostmi.

Chcete-li vypnout počítač odesláním do úrovně běhu 0:

$ sudo telinit 0

Restartování pomocí stejné metody:

$ sudo telinit 6

Jak nebezpečný je tento příkaz pro vaše data, zcela závisí na vaší konfiguraci init. Většina distribucí se vás snaží chránit před vytažením zástrčky (nebo jejího digitálního ekvivalentu) mapováním úrovní běhu na přátelské příkazy.

Sami můžete vidět, co se děje na každé úrovni běhu, přečtením init skriptů v /etc/rc.d nebo /etc/init.d nebo přečtením systemd cíle v /lib/systemd/system/ .

Použijte hrubou sílu

Zatím jsem pokryl všechny správné způsoby, jak restartovat nebo vypnout počítač se systémem Linux. Abych byl důkladný, uvádím zde další metody, jak svrhnout počítač se systémem Linux, ale v žádném případě se tyto metody nedoporučují. Nejsou navrženy jako příkaz denního restartu nebo vypnutí (reboot a vypnutí existují), ale jsou platnými prostředky ke splnění úkolu.

Pokud tyto metody vyzkoušíte, vyzkoušejte je ve virtuálním počítači. Jinak je používejte pouze v případě nouze.

Proc

O stupeň níže než systém init je /proc souborový systém, což je virtuální reprezentace téměř všeho, co se děje na vašem počítači. Můžete například zobrazit své procesory, jako by to byly textové soubory (pomocí cat /proc/cpuinfo ), podívejte se, kolik energie zbývá v baterii vašeho notebooku, nebo po určité době restartujte systém.

V jádře Linuxu je ustanovení pro systémové požadavky (Sysrq na většině klávesnic). S tímto subsystémem můžete komunikovat přímo pomocí kombinací kláves, ideálně bez ohledu na to, v jakém stavu je váš počítač; na některých klávesnicích je to složité, protože Sysrq může být speciální funkční klávesa, která vyžaduje pro přístup jinou klávesu (například Fn na mnoha noteboocích).

Možností s menší pravděpodobností selhání je použití echo pro vložení informací do /proc , ručně. Nejprve se ujistěte, že je povolen systém Sysrq:

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

Chcete-li restartovat, můžete použít buď Alt +Sysrq +B nebo zadejte:

$ sudo echo b > /proc/sysrq-trigger

Tato metoda není rozumný způsob, jak pravidelně restartovat počítač, ale práci s ní zvládnete během chvilky.

Sysctl

Parametry jádra lze za běhu spravovat pomocí sysctl . Existuje mnoho parametrů jádra a všechny je můžete zobrazit pomocí sysctl --all . Většina pro vás pravděpodobně mnoho neznamená, dokud nevíte, co hledat, a v tomto případě hledáte kernel.panic .

Parametry jádra můžete dotazovat pomocí -–value možnost:

$ sudo sysctl --value kernel.panic

Pokud dostanete 0 zpět, pak jádro, které používáte, nemá žádné speciální nastavení, alespoň ve výchozím nastavení, pro restartování při panice jádra. Tato situace je poměrně typická, protože okamžitý restart při katastrofické havárii systému ztěžuje diagnostiku příčiny havárie. Na druhou stranu systémy, které musí zůstat zapnuté bez ohledu na to, co by mohlo mít prospěch z automatického restartu po selhání jádra, takže je to možnost, která se v některých případech zapíná.

Tuto funkci můžete aktivovat jako experiment (pokud to sledujete, zkuste to na virtuálním počítači, nikoli na vašem skutečném počítači):

$ sudo sysctl kernel.reboot=1

Nyní, pokud váš počítač zaznamená paniku jádra, je nastaven na restart, místo aby trpělivě čekal, až diagnostikujete problém. Můžete to vyzkoušet simulací katastrofické havárie pomocí sysrq . Nejprve se ujistěte, že je povolen Sysrq:

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

A pak simulujte paniku jádra:

$ sudo echo c > /proc/sysrq-trigger

Váš počítač se okamžitě restartuje.

Restartujte zodpovědně

Znát všechny tyto možnosti neznamená, že byste je měli všechny využívat. Pečlivě přemýšlejte o tom, čeho se snažíte dosáhnout a co provede příkaz, který jste vybrali. Nechcete svůj systém poškodit lehkomyslností. K tomu slouží virtuální stroje. Tolik možností však znamená, že jste připraveni na většinu situací.

Vynechal jsem vaši oblíbenou metodu restartování nebo vypnutí systému? Do komentářů uveďte, co mi uniklo!


Linux
  1. Příkazy hledání pro Linux

  2. Příkaz pro restart systému Linux

  3. Linuxový příkaz echo

  1. Jak zakázat příkazy vypnutí a restartu v Linuxu

  2. Pochopení příkazů vypnutí, vypnutí, zastavení a restartu v Linuxu

  3. Jak používat Cat, Tac, More, Less – Linux Commands

  1. Linux pro začátečníky:10 dalších příkazů pro manipulaci se soubory

  2. Příkazy pro restart a vypnutí Linuxu

  3. 5 způsobů, jak spouštět příkazy UNIX / Linux (a skripty Shell) na pozadí