Articles

3 polecenia do restartu Linuksa (plus 4 inne sposoby, aby zrobić to bezpiecznie)

Linux jest w pełni zdolny do działania nie tygodni, ale lat, bez restartu. W niektórych branżach właśnie to robi Linux, dzięki postępom takim jak kpatch i kgraph.

dla użytkowników laptopów i komputerów stacjonarnych jest to jednak trochę ekstremalne. Chociaż może to nie być codzienna rzeczywistość, jest to przynajmniej cotygodniowa rzeczywistość, że czasami masz dobry powód, aby ponownie uruchomić komputer. A w przypadku systemu, który nie wymaga częstego restartowania, Linux oferuje wiele opcji, kiedy nadszedł czas, aby zacząć od nowa.,

Zrozum swoje opcje

Zanim jednak przejdziesz dalej, notatka o ponownym uruchomieniu. Ponowne uruchomienie jest unikalnym procesem w każdym systemie operacyjnym. Nawet w systemach POSIX polecenia do wyłączania i ponownego uruchamiania mogą zachowywać się inaczej ze względu na różne systemy inicjalizacji lub projekty poleceń.

pomimo tego czynnika ważne są dwie koncepcje. Po pierwsze, ponowne uruchomienie rzadko jest wymagane w systemie POSIX. Twój komputer z Linuksem może działać tygodniami lub miesiącami na raz bez ponownego uruchamiania, jeśli tego potrzebujesz., Nie ma potrzeby „odświeżania” komputera za pomocą restartu, chyba że zaleca to instalator oprogramowania lub aktualizator. Z drugiej strony, ponowne uruchomienie też nie zaszkodzi, więc to zależy od Ciebie.

Po Drugie, ponowne uruchamianie ma być przyjaznym procesem, pozwalającym na wyjście programów, zapisywanie plików, usuwanie plików tymczasowych, aktualizowanie dzienników systemu plików i tak dalej. Jeśli to możliwe, uruchom ponownie za pomocą zamierzonych interfejsów, zarówno w interfejsie GUI, jak i terminalu., Jeśli wymusisz wyłączenie lub ponowne uruchomienie komputera, ryzykujesz utratę niezapisanych, a nawet niedawno zapisanych danych, a nawet uszkodzenie ważnych informacji systemowych; wyłącz komputer tylko wtedy, gdy nie ma innej opcji.

kliknij przycisk

pierwszy sposób na ponowne uruchomienie lub wyłączenie Linuksa jest najbardziej popularny i najbardziej intuicyjny dla większości użytkowników komputerów stacjonarnych, niezależnie od ich systemu operacyjnego: jest to przycisk zasilania w GUI., Ponieważ wyłączanie i ponowne uruchamianie są typowymi zadaniami na stacji roboczej, przycisk zasilania (zwykle z opcjami restartu i wyłączenia) można znaleźć w kilku różnych miejscach., Na pulpicie GNOME znajduje się on w zasobniku systemowym:

znajduje się on również w menu aktywności GNOME:

na pulpicie KDE przyciski zasilania można znaleźć w menu Aplikacje:

Możesz również uzyskać dostęp do kontrolek zasilania KDE, klikając prawym przyciskiem myszy na pulpicie i wybierając opcję opuść, która otwiera okno, które widzisz tutaj:

Inne pulpity zawierają zmiany w tych tematach, ale ogólna idea jest taka sama: Użyj myszki, aby zlokalizować przycisk zasilania, a następnie kliknij go., Być może trzeba będzie wybrać między ponownym uruchomieniem i wyłączeniem, ale w końcu wynik jest prawie identyczny: procesy są zatrzymywane, ładnie, tak, że dane są zapisywane i pliki tymczasowe są usuwane, następnie dane są synchronizowane z dyskami, a następnie system jest wyłączony.

naciśnij fizyczny przycisk

większość komputerów ma fizyczny przycisk zasilania. Jeśli naciśniesz ten przycisk, pulpit Linuksa może wyświetlić menu zasilania z opcjami wyłączenia lub ponownego uruchomienia., Ta funkcja jest dostarczana przez podsystem Advanced Configuration and Power Interface (ACPI), który komunikuje się z oprogramowaniem układowym płyty głównej, aby kontrolować stan komputera.

ACPI jest ważne, ale jego zakres jest ograniczony, więc nie ma wiele do skonfigurowania z perspektywy użytkownika. Zazwyczaj opcje ACPI są ogólnie nazywane mocą i są ustawione na rozsądną wartość domyślną. Jeśli chcesz zmienić tę konfigurację, możesz to zrobić w ustawieniach systemu.

w GNOME otwórz menu w zasobniku systemowym i wybierz aktywności, a następnie Ustawienia., Następnie wybierz kategorię zasilania w lewej kolumnie, która otworzy następujące menu:

w sekcji Suspend & przycisk zasilania wybierz, co ma zrobić fizyczny przycisk zasilania.

Proces jest podobny na komputerach stacjonarnych. Na przykład w KDE panel Zarządzania Energią w ustawieniach systemowych zawiera opcję obsługi zdarzeń przycisków.

kde-power-management.jpg

opensource.,com

Po skonfigurowaniu obsługi zdarzenia przycisku, naciśnięcie fizycznego przycisku zasilania komputera następuje po wybranej opcji. W zależności od producenta komputera (lub dostawców części, jeśli budujesz własny), naciśnięcie przycisku może być lekkim dotknięciem lub może wymagać nieco dłuższego naciśnięcia, więc może być konieczne wykonanie pewnych testów, zanim się zorientujesz.

uważaj jednak na zbyt długie naciśnięcie, ponieważ może to wyłączyć komputer bez ostrzeżenia.,

Uruchom polecenie systemctl

Jeśli używasz więcej terminala niż pulpitu GUI, możesz wybrać restart za pomocą polecenia. Ogólnie rzecz biorąc, restartowanie i wyłączanie to procesy systemu init—Sekwencja programów, które uruchamiają komputer w górę lub w dół po odebraniu sygnału zasilania (odpowiednio włączonego lub wyłączonego).

w większości nowoczesnych dystrybucji Linuksa systemd jest systemem init, więc zarówno ponowne uruchomienie, jak i wyłączenie może być wykonywane przez interfejs użytkownika systemd, systemctl., Polecenie systemctl akceptuje, wśród wielu innych opcji, halt (zatrzymuje aktywność dysku, ale nie odcina zasilania) restart (zatrzymuje aktywność dysku i wysyła sygnał reset do płyty głównej) i poweroff (zatrzymuje aktywność dysku, a następnie odcina zasilanie). Polecenia te są w większości równoważne uruchomieniu pliku docelowego o tej samej nazwie.

na przykład, aby uruchomić restart:

$ sudo systemctl start reboot.target

Uruchom polecenie shutdown

tradycyjny UNIX, przed dniami systemd (i dla niektórych dystrybucji Linuksa, jak Slackware, to jest teraz), były polecenia specyficzne dla zatrzymania systemu., Na przykład polecenie shutdown może wyłączyć komputer, ale ma kilka opcji, aby dokładnie kontrolować, co to oznacza.

To polecenie wymaga argumentu czasu, w minutach, aby shutdown wiedział, kiedy wykonać., Aby natychmiast uruchomić ponownie, dodaj flagę-r:

$ sudo shutdown -r now

aby natychmiast wyłączyć zasilanie:

lub możesz użyć polecenia poweroff:

$ poweroff

aby ponownie uruchomić po 10 minutach:

iv polecenie shutdown jest bezpiecznym sposobem na wyłączenie lub ponowne uruchomienie komputera, umożliwiając synchronizację dysków i zakończenie procesów. To polecenie zapobiega nowym loginom w ciągu ostatnich 5 minut od rozpoczęcia wyłączenia, co jest szczególnie przydatne w systemach wielu użytkowników.,

w wielu systemach polecenie shutdown jest w rzeczywistości tylko wywołaniem systemctl z odpowiednią opcją restartu lub wyłączenia zasilania.

Uruchom polecenie reboot

polecenie reboot, samo w sobie, jest w zasadzie skrótem do shutdown-r now. Z terminala jest to najprostsze i najszybsze polecenie restartu:

$ sudo reboot

Jeśli Twój system jest blokowany przed wyłączaniem (być może z powodu uciekającego procesu), możesz użyć flagi –force, aby wyłączyć system., Jednak ta opcja pomija rzeczywisty proces zamykania, co może być nagłe dla uruchomionych procesów, więc powinna być używana tylko wtedy, gdy polecenie zamykania blokuje wyłączanie.

w wielu systemach reboot jest w rzeczywistości wywołaniem systemctl z odpowiednią opcją reboot lub power off.

Init

w dystrybucjach Linuksa bez systemd istnieje do 7 poziomów działania, które twój komputer rozumie., Różne dystrybucje mogą przypisać każdy tryb w sposób unikalny, ale ogólnie, 0 inicjuje stan halt, a 6 inicjuje restart (liczby pomiędzy oznaczają stany, takie jak tryb pojedynczego użytkownika, tryb wielu użytkowników, monit GUI i monit tekstowy).

te tryby są zdefiniowane w/etc / inittab w systemach bez systemd. W dystrybucjach używających systemd jako systemu init, brakuje pliku/etc / inittab lub jest to tylko Element Zastępczy.

polecenie telinit jest front-endem Twojego systemu init. Jeśli używasz systemd, to polecenie to jest łączem do systemctl z odpowiednimi opcjami.,

aby wyłączyć komputer, wysyłając go do poziomu 0:

$ sudo telinit 0

aby ponownie uruchomić komputer za pomocą tej samej metody:

$ sudo telinit 6

to, jak niebezpieczne jest to polecenie dla danych, zależy całkowicie od konfiguracji init. Większość dystrybucji stara się chronić Cię przed wyciągnięciem wtyczki (lub jej cyfrowym odpowiednikiem), mapując poziomy pracy na przyjazne polecenia.

możesz zobaczyć na własne oczy, co dzieje się na każdym poziomie pracy, czytając skrypty init Znalezione w /etc/rc.d lub / etc / init.d, lub przez odczytanie celów systemd w /lib/systemd/system/.,

Zastosuj brute force

do tej pory omówiłem wszystkie właściwe sposoby na ponowne uruchomienie lub wyłączenie komputera z Linuksem. Aby być dokładnym, zamieszczam tutaj dodatkowe metody zniszczenia komputera z Linuksem, ale w żadnym wypadku nie są one zalecane. Nie są one zaprojektowane jako codzienne restart lub shut down polecenia( reboot i shutdown istnieją dla tego), ale są one ważne środki do wykonania zadania.

jeśli wypróbujesz te metody, wypróbuj je na maszynie wirtualnej. W przeciwnym razie używaj ich tylko w nagłych wypadkach.,

Proc

o krok niższy od systemu init jest system plików / proc, który jest wirtualną reprezentacją prawie wszystkiego, co dzieje się na twoim komputerze. Na przykład możesz wyświetlić Procesory tak, jakby były plikami tekstowymi (za pomocą cat / proc / cpuinfo), zobaczyć, ile energii pozostało w baterii laptopa lub, po pewnym czasie, zrestartować system.

w jądrze Linuksa jest przepis na żądania systemowe (Sysrq na większości klawiatur)., Możesz komunikować się bezpośrednio z tym podsystemem za pomocą kombinacji klawiszy, najlepiej niezależnie od tego, w jakim stanie znajduje się Twój komputer; na niektórych klawiaturach robi się to skomplikowane, ponieważ klawisz Sysrq może być specjalnym klawiszem funkcyjnym, który wymaga innego klawisza dostępu (np.

opcją mniej prawdopodobną jest użycie echo do ręcznego wstawiania informacji do / proc., Najpierw upewnij się, że system Sysrq jest włączony:

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

aby ponownie uruchomić komputer, Możesz użyć Alt+SysRq+B lub wpisz:

$ sudo echo b > /proc/sysrq-trigger

ta metoda nie jest rozsądnym sposobem na regularne uruchamianie komputera, ale wykonuje zadanie w mgnieniu oka.

sysctl

parametry jądra mogą być zarządzane podczas wykonywania za pomocą sysctl. Istnieje wiele parametrów jądra i możesz je wszystkie zobaczyć za pomocą sysctl –all. Prawdopodobnie niewiele dla ciebie znaczy, dopóki nie wiesz, czego szukać, a w tym przypadku szukasz kernela.panika.,

możesz odpytywać parametry jądra za pomocą opcji –value:

$ sudo sysctl --value kernel.panic

Jeśli otrzymasz 0 z powrotem, to jądro, które używasz, nie ma specjalnych ustawień, przynajmniej domyślnie, aby zrestartować się po panice jądra. Sytuacja ta jest dość typowa, ponieważ natychmiastowe ponowne uruchomienie w przypadku katastrofalnej awarii systemu utrudnia diagnozowanie przyczyny awarii. Z drugiej strony, systemy, które muszą pozostać włączone bez względu na to, co może przynieść korzyści z automatycznego restartu po awarii jądra, więc jest to opcja, która w niektórych przypadkach jest włączana.,

możesz aktywować tę funkcję jako eksperyment (jeśli podążasz za nią, spróbuj tego na maszynie wirtualnej, a nie na twoim komputerze):

$ sudo sysctl kernel.reboot=1

teraz, jeśli twój komputer doświadczy paniki jądra, jest ustawiony na restart zamiast cierpliwie czekać, aż zdiagnozujesz problem. Możesz to przetestować, symulując katastrofalną awarię za pomocą sysrq. Najpierw upewnij się, że Sysrq jest włączone:

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

, a następnie symuluj panikę jądra:

$ sudo echo c > /proc/sysrq-trigger

Twój komputer natychmiast uruchamia się ponownie.,

Reboot odpowiedzialnie

znajomość wszystkich tych opcji nie oznacza, że powinieneś używać ich wszystkich. Zastanów się dokładnie, co próbujesz osiągnąć i co zrobi wybrana Komenda. Nie chcesz uszkodzić swojego systemu przez bycie lekkomyślnym. Po to są maszyny wirtualne. Jednak posiadanie tak wielu opcji oznacza, że jesteś gotowy na większość sytuacji.