Jak zkrátit dobu vypínání počítače v linuxu. Měkký restart a okamžité vypnutí počítače v Ubuntu

Vyrovnávací paměti souborů Linuxové systémy uloženy v paměti a jen občas zapsány na disk. To zrychluje operace I/O disku, ale zvyšuje riziko ztráty dat v případě náhlého selhání.

Tradiční unixové a linuxové systémy byly velmi vybíravé, pokud jde o proceduru vypínání. Moderní systémy jsou tolerantnější (zejména pokud jde o vysoce spolehlivý souborový systém, jako je ext3fs), ale stále je nejlepší, pokud je to možné, elegantně vypnout. Nesprávné vypnutí počítače může vést k výskytu obtížně zjistitelných, nezřejmých chyb a někdy k úplnému zhroucení systému.

Restartujte systém do osobní počítač- řešení téměř všech problémů. Při práci v Linuxu vám ale doporučujeme nejprve přemýšlet a teprve potom restartovat. Problémy, které se vyskytují v Linuxu, bývají jemné a složité, takže restartování přináší očekávaný výsledek mnohem méně často než na jiných systémech. Proces restartu Linuxu navíc trvá dlouho, což uživatelům přináší nepříjemnosti.

Při připojení nového zařízení nebo zamrznutí fungujícího zařízení je nutné restartovat, aby jej nebylo možné inicializovat. Pokud se změní konfigurační soubor, který je dotazován pouze při spouštění, změny se projeví až po restartu. A konečně, pokud není možné se do systému zaregistrovat, není prostě jiné východisko než restart.

Pokud dojde k úpravě některého ze spouštěcích skriptů systému, je nutné provést restart alespoň pro kontrolu, zda systém po změnách úspěšně funguje. Pokud se problém během několika příštích týdnů neobjeví, nebudete si poté pamatovat podrobnosti o posledních změnách.

Na rozdíl od bootování, což je jediný způsob, můžete zastavit a restartovat systém různými způsoby:

  • vypněte napájení;
  • zadejte příkaz k vypnutí;
  • používat příkazy zastavení a restartu;
  • změňte úroveň běhu démona init pomocí příkazu telinit;
  • spusťte příkaz poweroff a požádejte systém o vypnutí napájení.

Vypněte v Linuxu

Dokonce i v systémech stolní počítače vypnutí napájení není nejlepší způsob, jak vypnout systém. To může vést ke ztrátě dat a poškození systému souborů.

Některé počítače mají tlačítko měkkého zastavení, které po stisknutí provede řadu příkazů, které elegantně vypne systém. Pokud si nejste jisti, zda váš počítač tuto funkci podporuje, nezkoušejte to zjistit stisknutím vypínače za chodu systému! Pokud systém zastavíte ručně, bude mnohem méně problémů.

Samozřejmě, předvídavost je dobrá v rámci rozumu. V případě povodně nebo požáru je lepší vypnout napájení, pokud prostě není čas na správné vypnutí systému. Kdysi ve strojovnách bylo nouzové tlačítko, které umožňovalo vypnout všechna zařízení současně.

Příkaz vypnout: správný způsob vypnutí systému

Příkaz vypnutí je nejbezpečnější a nejsprávnější způsob, jak vypnout nebo restartovat systém nebo se vrátit do režimu jednoho uživatele.

Můžete dát příkazu, aby se pozastavil před vypnutím systému. Během čekání zasílá tým registrovaným uživatelům zprávy v postupně se zkracujících intervalech, upozorňující na blížící se událost. Ve výchozím nastavení indikují zprávy, že se systém vypíná, a indikují dobu zbývající do vypnutí. Volitelně může administrátor přidat vlastní krátkou zprávu vysvětlující, proč je systém zastaven a jak dlouho bude přibližně trvat, než se bude moci znovu přihlásit. Po vydání příkazu k vypnutí bude uživatelům zabráněno v přihlášení, ale zobrazí se jim zpráva od správce.

Pomocí příkazu vypnutí můžete určit, co má systém po provedení příkazu udělat: stop (-h) nebo restart (-r). Můžete také určit, zda má příkaz fsck (-F) vynutit kontrolu disku po restartu nebo ne (-f). Ve výchozím nastavení Linux tuto kontrolu automaticky přeskočí, pokud byly systémy souborů správně odpojeny.

Následující příkaz uživatelům připomíná plánovanou údržbu a v 9:30 vypne systém:

$ shutdown -h 09:30 "Jdu dolů pro naplánovanéúdržba. Předpokládaná doba odstávky je 1 hodina"

Můžete také nastavit relativní dobu vypnutí. Například následující příkaz spustí proces vypínání po 15 minutách:

$ shutdown -h +15 "Probíhá nouzová oprava disku."

Příkaz Stůj: jednodušší způsob, jak zastavit

Příkaz halt provádí všechny základní operace potřebné k zastavení systému.

Obvykle se vyvolává příkazem shutdown -h, ale lze jej použít i samostatně. Příkaz zaznamená skutečnost zastavení, ukončí nepodstatné procesy, provede systémové volání synchronizace, počká na dokončení zápisu na disk a poté ukončí jádro.

S volbou -n je systémové volání synchronizace potlačeno. Příkaz halt -n se používá po obnovení kořenového oddílu pomocí příkazu fsck, takže jádro nemůže přepsat opravy starými verzemi oddílu uloženými v mezipaměti.

Příkaz restartovat: rychlý restart

Příkaz reboot je téměř totožný s příkazem halt. Jediný rozdíl je v tom, že se systém místo zastavení restartuje. Režim restartu je také vyvolán příkazem shutdown -r. Příkaz reboot také podporuje parametr -n.

Příkaz telinit: změna úrovně běhu démona init

Pomocí příkazu telinit můžete instruovat démona init, aby skočil na určitou úroveň běhu. Například příkaz

Příkaz "vypnout" bezpečně vypne systém. Všichni přihlášení uživatelé jsou upozorněni, že se systém vypíná a operace přihlášení jsou zablokovány. Systém můžete vypnout okamžitě nebo po určité prodlevě.

Vypněte Linux z příkazový řádek je velmi pohodlné a mnoho uživatelů systému v takových věcech ovládá svůj počítač pomocí příkazového řádku. Všechny procesy jsou nejprve prostřednictvím SIGTERM upozorněny, že se systém připravuje na přechod do režimu spánku nebo restartování. To dává programům, jako je vi čas na uložení upravovaného souboru, obslužné programy pošty a zpráv, možnost odhlášení atd.

"Shutdown" dělá svou práci signalizací procesu init a žádá jej o změnu úrovně běhu. Úroveň běhu 0 se používá k zastavení systému, úroveň běhu 6 se používá k restartování systému a úroveň běhu 1 se používá k uvedení systému do stavu, kdy lze provádět administrativní úlohy (režim jednoho uživatele). Úroveň běhu 1 je výchozí, pokud nejsou zadány volby -h nebo -r.

Váš systém může mít jinou sadu možností pro příkaz k vypnutí; Zkontrolujte dokumentaci k zařízení.

Vypněte Linux z příkazového řádku

vypnutí [-akrhPHfFnc] [-t sek] čas [zpráva]

  1. -a Řídit přístup k příkazu shutdown pomocí souboru /etc/shutdown.allow control access. Pro získání dodatečné informace viz část Řízení přístupu níže.
  2. -k Nevypínat, ale odesílat varovné zprávy, jako by vypnutí bylo skutečné.
  3. -h Řekne systému, aby se vypnul a poté jej zastavil.
  4. -P Instruuje systém k vypnutí a následnému vypnutí.
  5. -H Je-li zadána volba -h, tato volba určuje, že systém by se měl zavést do spouštěcího monitoru na systémech, které jej podporují.
  6. -f Přeskočit fsck po restartu.
  7. -F Vynutit fsck po restartu.
  8. -n Nevolat init pro ukončení procesů; Dejte pokyn k vypnutí, abyste to udělali sami.
  • Použití této možnosti se nedoporučuje a její výsledky nejsou vždy předvídatelné.
  1. -c Zrušit čekající vypnutí. (To neplatí pro "shutdown now", který nečeká na vypnutí.) S touto volbou nemůžete zadat časový argument, ale můžete zadat vysvětlující zprávu, která bude zaslána všem uživatelům.
  2. t sek. Řekněte inicialistovi, aby počkal několik sekund mezi odesláním varování a signálem zabití, než přejde na další úroveň běhu.
  3. čas Argument time určuje, kdy má být provedena operace vypnutí.

Čas lze formátovat různými způsoby:

Za prvé to může být absolutní čas ve formátu hh:mm, kde hh je hodina (1 nebo 2 číslice, 0 až 23) a mm je minuta hodiny (dvě číslice).

Za druhé, může být ve formátu +m, kde m je počet minut čekání.

Také slovo je nyní stejné jako označující +0; Okamžitě vypne systém.

  1. zpráva. Zpráva odeslaná všem uživatelům spolu se standardním upozorněním na vypnutí.

Podrobnosti

Pokud je v budoucnu naplánováno vypnutí, vytvoří se informační soubor /etc/nologin, který přinutí programy, jako je přihlášení, aby zabránily povolení novým uživatelům. Tento soubor je vytvořen pět minut před začátkem vypínací sekvence. Vypnutí smaže tento soubor, pokud je zastaven dříve, než může signalizovat inicializaci (tj. je zrušen nebo se něco pokazilo). Také jej odstraní před voláním init, aby se změnila úroveň běhu.

Parametr -f znamená "rychle restartovat". Tím se vytvoří pouze poradní soubor /fastboot, který může systém zkontrolovat, když se znovu objeví. Systémový bootovací rc soubor ("rc" znamená "runcom", což je zkratka pro "run commands") může zkontrolovat přítomnost tohoto souboru a rozhodnout se nespustit fsck, protože systém byl řádně vypnut. Poté by měl spouštěcí proces odstranit /fastboot.

Příznak -F znamená "vynutit fsck". Tím se vytvoří pouze poradní soubor /forcefsck, který může systém zkontrolovat, když se znovu objeví. Zaváděcí rc soubor může zkontrolovat, zda je tento soubor přítomen, a rozhodne se spustit fsck se speciálním příznakem "force", aby zkontroloval, zda jsou odpojené souborové systémy správné. Zaváděcí proces by pak měl odstranit /forcefsck.

Parametr -n způsobí, že vypnutí nevolá init, ale vše zabije běžící procesy. Vypnutí deaktivuje kvóty, účtování a swapy a odpojí všechny souborové systémy.

Řízení přístupu

Vypnutí lze volat z init, když je stisknuta kombinace kláves CTRL-ALT-DEL, pokud je odpovídající záznam v /etc/inittab. To znamená, že každý, kdo má fyzický přístup ke klávesnici konzoly, může vypnout systém.

Abyste tomu zabránili, vypnutí může zkontrolovat, zda je přihlášen oprávněný uživatel. Pokud je shutdown zavolán s argumentem -a (přidejte jej k shutdown volání v /etc/inittab), zkontroluje, zda je přítomen soubor /etc/shutdown.allow. Poté porovná přihlášení v tomto souboru se seznamem lidí, kteří jsou přihlášeni k virtuální konzoli (z /var/run/utmp). Platnost se projeví pouze v případě, že je přihlášen jeden z oprávněných uživatelů nebo root. Jinak napíše zprávu

Vypnutí: nejsou přihlášeni žádní oprávnění uživatelé

Na fyzické konzoli systému. Formát /etc/shutdown.allow je jedno uživatelské jméno na řádek. Prázdné řádky a řádky komentářů (s předponou #) jsou povoleny. Tento soubor má aktuálně limit 32 uživatelů.

Všimněte si, že pokud /etc/shutdown.allow chybí, argument -a je ignorován.

Vypnutí Linuxu a zapnutí počítače

Volba -H jednoduše nastaví inicializační proměnnou prostředí INIT_HALT na HALT a volba -P jednoduše nastaví tuto proměnnou na POWEROFF. Vypínací skript, který volá halt jako poslední věc v sekvenci vypínání, musí zkontrolovat tyto proměnné prostředí a zavolat halt se správnými volbami, aby tyto volby skutečně měly nějaký účinek.

Soubory

  • /fastboot
    /etc/inittab
    /etc/init.d/halt
    /etc/init.d/reboot
    /etc/shutdown.allow

Vypnutí Linuxu z příkazového řádku: příklady

Naplánujte vypnutí systému na 8:00.

Naplánujte vypnutí systému na 20:00.

vypnutí +15 "Upgrade hardwaru, prostoje by měly být minimální"

Naplánujte si vypnutí systému za patnáct minut. Spolu s obvyklým upozorněním pro uživatele, že se systém vypíná, jim bude zaslána popisná zpráva o upgradu hardwaru.

Okamžitě vypněte Linux

Okamžitě spusťte systém a automaticky se restartujte.

Okamžitě vypněte systém a automaticky se vypněte.

Související příkazy

  • Zastavit – Zastavení počítače.
  • Vypnutí - Zastavte počítač.
  • Reboot - Zastavte počítač.
  • Zeď – Odešle zprávu všem přihlášeným uživatelům.

Překlad z úžasného anglického zdroje počítačová naděje.

Pokud máte stále nějaké dotazy na téma „Vypnutí Linuxu z příkazového řádku“, můžete nám je napsat do formuláře komentáře na webu.

Pokud najdete chybu, zvýrazněte část textu a klikněte Ctrl+Enter.

Zvažme, jak restartovat nebo vypnout počítač z příkazového řádku. Používám to při instalaci nějakého ovladače nebo když těžký náklad na procesoru rozhraní přestane reagovat na mé akce (i když se to stává velmi zřídka). "Obžerský" proces je možné zabít přes příkazový řádek, ale ne vždy se pozná, o jaký proces se jedná, takže rychlým řešením je restart počítače.

Restartujeme počítač

dělám tak. Přejděte do konzoly stisknutím klávesové zkratky Ctrl+Alt+F1. V konzoli musíte nejprve zadat své uživatelské jméno a heslo (znaky se při zadávání hesla nezobrazují). A vykonám příkaz:

sudo restart

Znovu budete muset zadat heslo správce a stisknout Enter. Počítač se restartuje.

Příkaz můžete také použít k restartování počítače. vypnout, k tomu musíte použít klíč -r:

Sudo vypnutí -r nyní

Vypnout počítač

Chcete-li vypnout počítač z příkazového řádku, musíte spustit příkaz:

sudo vypnutí -h nyní

Počítač můžete také vypnout spuštěním příkazu:

Sudo zastavit

A také lze použít.

Pak může SysRq pomoci v těch zdánlivě beznadějných situacích, pokud ovšem jádro není v „panice“, což je obvykle indikováno náhodně blikajícími LED diodami klávesnice. Zajímavý? Pak čteme dál.

Klíč SysRq byl na světě dlouho předtím, než Windows pořídil snímky obrazovky. IBM původně zamýšlela klíč SysRq k přepínání mezi aplikacemi bez jejich zastavení. Ale to je historie. Linuxoids upravil SysRq tak, aby uživateli poskytl nouzový přístup k jádru. Ale ani zde není vše jednoduché. Faktem je, že pro kompatibilitu s Windows v grafických prostředích Linuxu funguje jediná klávesa SysRq jako PrintScreen a kombinace Alt + SysRq doporučovaná v konzolových tutoriálech, stejně jako ve Windows, hloupě vkládá obrázek aktivního okna do vyrovnávací paměti. Proto v linuxech s oknem neexistuje klíč SysRq ... ani! Namísto této klávesy se v grafických prostředích Linuxu používá magická kombinace Alt + Ctrl + SysRq + latinské písmeno / číslo, která výrazně zvyšuje vaši moc nad strojem.

M - zobrazuje množství využité paměti. Na Ubuntu to funguje, pokud si předinstalujete vysoká úroveň výstupní detaily.

N - zobrazí seznam úkolů v reálném čase. Funguje také, pokud jste dříve nastavili výstupní úroveň na vysokou.

E - Zruší všechny procesy kromě init.

I - zabije všechny procesy, včetně init.

T - vytiskne seznam úloh do konzole.

S - synchronizuje všechny systémy souborů a zapisuje všechna data ve vyrovnávací paměti na pevný disk.

R - násilně vrátí klávesnici do funkčního stavu. V tomto případě jádro začne pracovat s klávesnicí přímo, obchází X server a pouze v ASCII kódech.

T - zobrazí seznam procesů. Opět funguje pouze při vysoké úrovni upovídanosti výstupu.

P - výpis registru procesoru. Požadavek může být zajímavý pro ty, kteří se podílejí na ladění softwaru.

Q - Zobrazuje těžké události časovače. Funguje, když je výřečnost výstupu nastavena na vysokou.

O - okamžitě vypne počítač.

B - restartuje počítač. Pravda, hlásí, že u jádra 3.8.0-25 nejde o restart, ale o vypnutí. Sám jsem to ale nezkontroloval.

U - Znovu připojí všechny souborové systémy do režimu pouze pro čtení.

V - Obnoví framebuffer konzole. Řekněme, že se díváte na nějaké video ve virtuální konzoli (ano, Linux to na rozdíl od Windows umožňuje také) a nutně si potřebujete vzpomenout, co jste v konzoli dělali před spuštěním videa. Příkaz obnoví framebuffer konzole. Obecně by bylo potřeba říci více o této zajímavé věci - framebufferu, ale ne v tomto článku.

W – Zobrazí všechny pozastavené úkoly, pokud existují.

Z - zobrazuje obsah vyrovnávací paměti trasování jádra.

Takže NÁHLE váš Linux zamrzne tak, že ani restart Xes pomocí kláves Alt + Del + BS nepomůže. Klid, jen klid. V žádném případě nespěchejte se stisknutím tlačítka reset na skříni počítače. S velmi vysokou pravděpodobností neztratíte data při postupném stisknutí klíče R-E-I-S-U-B(podržte Alt+Ctrl+SysRq!). A víš ty co? Normálně fungující počítač můžete vždy okamžitě vypnout pomocí Alt + Ctrl + SysRq + O. Pokud jste samozřejmě neuzavřeli své programy. :)

Myslím si však, že je nebezpečné zpřístupňovat magický SysRq, pokud umožňujete ostatním uživatelům vzdáleně pracovat na vašem počítači nebo s ním sami vzdáleně pracujete. Jde o to, že signál přerušení odeslaný ze vzdálené konzole lze interpretovat jako Alt+SysRq se všemi z toho vyplývajícími důsledky. Pokud se tedy rozhodnete dát svému počítači vzdálený přístup, pak pro každý případ nejprve resetujte proměnnou kernel.sysrq v systémové konfiguraci. Můžete si k tomu také napsat jednoduchý skript na bash a dokonce k němu připojit tlačítko na ploše, takže se pokaždé neobtěžujete upravovat řídicí soubor konfigurace systému. Hodně štěstí!

Tento článek je zaměřen na ty úplně nové v Linuxu a ty, kteří se zajímají o to, jak restartovat Linux z konzole. Pro mě je elementární restart počítače v terminálu nebo pomocí grafického rozhraní, ale to je základ, ne všichni začátečníci to vědí a mám potřebu o tom psát.

Dnes probereme takové problémy, jako je příkaz k restartování Linuxu z konzole, vzdálenému restartu a přímému restartu do GUI. Začněme obvyklým restartem systému.

Tady, jak se říká, co by mohlo být jednodušší. Zvažte nejprve restartování v Ubuntu Unity. Stačí kliknout na tlačítko ozubeného kola vpravo horním rohu obrazovce a vyberte Vypnout:

Poté v okně, které se otevře, klikněte na položku:

V desktopovém prostředí Gnome je vše velmi podobné Unity, ale v KDE je potřeba otevřít hlavní nabídku, přejít na záložku výstup a vyberte položku Znovu načíst:

Poté potvrďte restart.

Restartujte Linux v Terminálu

A zde je rozsah mnohem širší, existuje asi tucet příkazů, které lze použít k restartu Linuxu. Některé potřebují oprávnění root, jiné ne, některé vypadají jednoduše a snadno zapamatovatelné, zatímco jiné jsou dlouhé a složité. Dále se na všechny podíváme.

První příkaz k restartu Linuxu, nejběžnější a nejjednodušší:

Jak vidíte, nástroj potřebuje práva superuživatele. Po stisknutí klávesy Enter se počítač okamžitě restartuje.

Vypínací utilita, která slouží k vypnutí, umožňuje i restart počítače, k tomu je potřeba předat mu parametr -r. Navíc můžete také určit čas restartu. Nyní - 0 nebo nyní, po jedné minutě +1 po dvou - +2 atd.:

sudo shutdown -r +1

V inicializačních systémech kompatibilních s Init Scripty byly úrovně spouštění systému - 0,1,2,3,4,5,6, úroveň 0 - znamenalo vypnutí, 6 restart, ostatní režimy systému nás nyní nezajímají. Mezi úrovněmi můžete přepínat pomocí příkazu init. Ale opět potřebujete práva superuživatele. Takto:

Služba systémových zpráv dbus může také restartovat počítač:

/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart

Již nepotřebujete práva superuživatele. Toto byly obvyklé způsoby restartování Linuxu, ale existuje ještě jeden, nestandardní nebo dokonce dva. Toto jsou kouzelné klávesy SysRq. Linuxové jádro monitoruje stisknutí určitých kombinací kláves a v reakci na ně provádí potřebné akce. Nejprve povolte podporu sysrq:

echo 1 > /proc/sys/kernel/sysrq

Je lepší to udělat předem, protože tato metoda je užitečná, když je systém zamrzlý a na nic nereaguje:

nano /etc/sysctl.conf

kernel.sysrq=1

Aktivovat SysRq kombinace podržte Alt + SysRq a stiskněte kód klávesy. Pro normální restart se doporučuje použít následující sekvenci: R E I S U B, stiskněte tlačítka ve stejném pořadí s intervalem přibližně sekundy.

  • R- vrátí ovládání z klávesnice, pokud byl X server ukončen nesprávně;
  • E- jádro posílá signál SIGTERM všem procesům kromě init;
  • - odešle signál SIGKILL všem procesům kromě init;
  • S- jádro synchronizuje systémy souborů, všechna data z mezipaměti se přenášejí na pevný disk;
  • U- znovu připojí všechny systémy souborů v režimu pouze pro čtení;
  • B- okamžitý restart, bez synchronizace a dalších příprav.

Před restartem systém čeká na ukončení všech procesů, zastaví všechny služby, odpojí a připojí souborové systémy pouze pro čtení. To je to, co děláme stisknutím těchto kombinací kláves v pořadí. Pokud však potřebujete restartovat systém nyní, aniž byste čekali na vypnutí všech procesů, například serveru, můžete okamžitě odeslat signál B. Takto: Alt+SysRq+B.

SysRq lze použít bez klávesových zkratek psaním požadovaný kód operace se souborem /proc/sysrq-trigger:

echo b > /proc/sysrq-trigger

Systém bude restartován tak, jak je, bez zastavení služeb a přípravy souborových systémů, takže může dojít ke ztrátě neuložených dat a souborový systém poškozený.

Vzdálený restart Linuxu

Pokud máte přístup k serveru přes ssh, je velmi snadné vzdáleně restartovat linux pomocí jednoho z výše uvedených příkazů, například:

ssh [e-mail chráněný]/sbin/reboot

Ale znovu, pro tuto operaci musíte mít root oprávnění na vzdáleném serveru.

závěry

Nyní víte, jak restartovat linux, dokonce víte, jak restartovat server přes ssh. Pokud máte nějaké dotazy, zeptejte se v komentářích!

Související příspěvky: