Jak zrestartować i zamknąć serwery Linux?

Photo of author

By maciekx

W pracy administratora systemów częstą praktyką jest restartowanie lub wyłączanie serwerów.

Powodem takich działań mogą być planowane czynności serwisowe, takie jak aktualizacje systemu operacyjnego, lub też nieprzewidziane awarie sprzętowe, które wymagają wyłączenia maszyny w celu przeprowadzenia napraw.

System Linux oferuje wiele sposobów na ponowne uruchomienie lub wyłączenie serwera. Zazwyczaj system reaguje na standardowe polecenia, jednak w przypadku awarii może być konieczne wymuszone wyłączenie. Należy pamiętać, że większość z tych poleceń wymaga uprawnień superużytkownika lub użycia `sudo`, aby zostały wykonane poprawnie. Jest to uzasadnione, gdyż ponowne uruchomienie serwera jest operacją administracyjną, która w przypadku systemów z wieloma użytkownikami lub krytycznymi procesami może prowadzić do zakłóceń.

Ten artykuł omawia różne metody, które mogą okazać się pomocne przy restartowaniu lub wyłączaniu systemu Linux.

Metoda Graficznego Interfejsu Użytkownika (GUI)

W środowiskach graficznych systemów Linux, takich jak Gnome, KDE, Mate czy XFCE, w menu systemowym lub menu aplikacji znajduje się przycisk zasilania. Umożliwia on wylogowanie, ponowne uruchomienie, hibernację lub wyłączenie. Dostępne opcje mogą różnić się w zależności od dystrybucji, środowiska graficznego i wersji systemu. Mimo to, ustawienia związane z zarządzaniem energią pozwalające na zmianę stanu zasilania systemu powinny być łatwo dostępne w menu.

Na przykład, w moim środowisku Ubuntu Mate opcję wyłączenia systemu znajdę w menu zasilania, w prawym górnym rogu ekranu.

Po wybraniu opcji „Zamknij…” pojawia się okno dialogowe z wieloma opcjami, takimi jak zawieszenie, ponowne uruchomienie, anulowanie i zamknięcie. Możesz wybrać ponowne uruchomienie lub wyłączenie, klikając odpowiedni przycisk lub anulować operację i wrócić do pulpitu.

Wygląd interfejsu i dostępne opcje mogą różnić się w zależności od dystrybucji i używanego środowiska graficznego. Można jednak z pewnością założyć, że istnieje możliwość zmiany stanu zasilania systemu za pomocą kilku kliknięć w menu zasilania.

Polecenie `systemctl`

W systemie Linux, gdzie systemd jest używany jako system init, można wykorzystać polecenie `systemctl` do ponownego uruchomienia komputera.

$ sudo systemctl start reboot.target

Można również skorzystać z prostszej formy polecenia `systemctl` z odpowiednią opcją, na przykład:

$ sudo systemctl reboot

Aby zainicjować wyłączenie, polecenie `systemctl` przyjmuje następującą postać:

$ sudo systemctl shutdown

Zatrzymanie systemu osiągniemy za pomocą polecenia:

$ sudo systemctl halt

Polecenie `shutdown`

Polecenie `shutdown` pozwala na wyłączanie oraz ponowne uruchamianie systemu Linux. Aby natychmiast zrestartować system, należy użyć:

$ sudo shutdown -r now

Wyłączenie systemu bez zwłoki osiągniemy dzięki fladze `-h` lub `-P`:

$ sudo shutdown -P now

Możliwe jest również dodanie opóźnienia do polecenia zamknięcia, co pozwala na restart lub wyłączenie systemu po upływie określonego czasu. Można to zrobić w następujący sposób:

$ sudo shutdown -r 10

Aby zatrzymać system bez informowania o tym sprzętu, można użyć flagi `-H`:

$ sudo shutdown -H now

Jeżeli wywołamy polecenie `shutdown` bez dodatkowych parametrów, wyłączenie zostanie zaplanowane za minutę. Aby ustawić konkretną godzinę wyłączenia, należy użyć:

$ sudo shutdown 22:30

Często, gdy system przestaje reagować, wysyłana jest wiadomość do konsoli zalogowanych użytkowników. Jeśli chcesz dodać własną wiadomość w tym komunikacie, wystarczy, że umieścisz ją w poleceniu shutdown, na przykład:

$ sudo shutdown 23:00 "Wyłączanie systemu w celu przeprowadzenia konserwacji... zapisz swoją pracę"

Aby anulować zaplanowane zamknięcie, można skorzystać z flagi `-c`:

$ sudo shutdown -c

W wielu systemach polecenie `shutdown` w tle uruchamia `systemctl`, aby osiągnąć żądaną operację ponownego uruchomienia lub zamknięcia systemu.

Polecenie `reboot`

Aby płynnie zrestartować system, można użyć polecenia `reboot` (może wymagać uprawnień `sudo`):

$ sudo reboot

Aby wyłączyć system za pomocą polecenia `reboot`, należy użyć flagi `-p`:

$ sudo reboot -p

Wymuszone ponowne uruchomienie (w przypadku systemów, które nie reagują na standardowe polecenie restartu) możemy osiągnąć za pomocą flagi `-f`:

$ sudo reboot -f

Polecenie `halt`

Aby zatrzymać system, można po prostu użyć polecenia `halt`:

$ sudo halt

Polecenie `poweroff`

Aby wyłączyć system, należy użyć polecenia `poweroff`:

$ sudo poweroff

Polecenie `init`

W systemach, które nie korzystają z systemd, polecenie `init` (działa również `telinit`) pozwala na zmianę poziomu uruchamiania systemu. Aby zrestartować system za pomocą `init`, użyj:

$ sudo init 6

Podobnie, aby zatrzymać system, należy użyć polecenia:

$ sudo init 0

Wywołanie określonego poziomu uruchamiania za pomocą `init` powoduje, że proces init systemu wykonuje serię skryptów init w konkretnej kolejności, aby system osiągnął żądany stan działania. Poziom uruchamiania 6 jest zdefiniowany dla ponownego uruchomienia, a poziom uruchamiania 0 dla zatrzymania systemu.

Przycisk Zasilania

W przypadku komputerów stacjonarnych i laptopów z systemem Linux naciśnięcie przycisku zasilania domyślnie powoduje uśpienie lub wyłączenie systemu, wysyłając sygnał zamknięcia. Tę funkcjonalność można dostosować w ustawieniach zasilania systemu. Zaleca się, aby używać tego przycisku jako ostatniej opcji, jeśli normalne polecenia nie działają.

W przypadku zdalnego serwera z systemem Linux, przycisk zasilania zazwyczaj wyłącza system. Jednak serwery w centrach danych posiadają dodatkową opcję ponownego uruchomienia lub wyłączenia za pomocą narzędzi zdalnego zarządzania, oferowanych przez dostawców serwerów.

Kombinacja Klawiszy Alt + SysRq

W przypadku zawieszonego systemu, który nie reaguje na polecenia, ponowne uruchomienie lub wyłączenie może okazać się problematyczne. Gdy inne opcje zawiodą, można spróbować użyć kombinacji klawiszy Alt + PrintScreen + sekwencji klawiszy, aby natychmiast zrestartować system. Nie jest to preferowana metoda, jednak może być użyteczna w ostateczności.

Należy mieć świadomość, że użycie tej metody wiąże się z ryzykiem utraty i uszkodzenia danych, tak jak w przypadku każdej innej metody wymuszonego restartu lub wyłączenia. Zawsze należy stosować najlepsze praktyki dotyczące tworzenia kopii zapasowych i redundancji, a także zachować ostrożność przy korzystaniu z tej opcji.

Aby ta opcja działała, musi być ona włączona w jądrze systemu Linux. Można to sprawdzić, wprowadzając następujące polecenie:

$ cat /proc/sys/kernel/sysrq

Wynik `1` oznacza, że opcja jest w pełni włączona, a liczba większa od `1` świadczy o tym, że funkcja jest częściowo aktywna, z ograniczonymi funkcjami. Aby włączyć tę opcję jawnie, można użyć:

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

Aby zrestartować system za pomocą tej metody, przytrzymaj Alt + SysRq (PrintScreen), a następnie wciskaj kolejno klawisze z niewielkimi odstępami pomiędzy nimi:

R E I S U B

Aby wyłączyć system, naciśnij `O` zamiast `B` na końcu:

R E I S U O

Znaczenie poszczególnych klawiszy:

  • R: Przełączenie klawiatury z trybu RAW na tryb XLATE.
  • E: Wysyłanie sygnału SIGTERM do wszystkich procesów z wyjątkiem init.
  • I: Wysyłanie sygnału SIGKILL do wszystkich procesów z wyjątkiem init.
  • S: Synchronizacja wszystkich zamontowanych systemów plików.
  • U: Ponowne zamontowanie wszystkich systemów plików w trybie tylko do odczytu.

Na koniec, mamy `B` lub `O`, co oznacza:

  • B: Natychmiastowy restart systemu, bez odmontowywania partycji i synchronizacji.

LUB

  • O: Natychmiastowe wyłączenie systemu, bez odmontowywania partycji i synchronizacji.

Podsumowanie

Przedstawiliśmy różne metody pozwalające na ponowne uruchomienie lub wyłączenie systemu Linux. Obejmują one zarówno proste interfejsy GUI, jak i bardziej zaawansowane polecenia terminala, które ułatwiają pracę administratorom oraz umożliwiają automatyzację zadań. W przypadku systemów, które uległy zawieszeniu, omówiliśmy metody wymuszonego restartu lub wyłączenia. Nie są to idealne rozwiązania, ale mogą okazać się konieczne w kryzysowych sytuacjach.

Należy zachować ostrożność podczas korzystania z omówionych poleceń, ponieważ mają one bezpośredni wpływ na działanie systemu i mogą wpłynąć na pracę wielu użytkowników i usług w przypadku serwerów korporacyjnych. Zaleca się zapoznanie z dokumentacją poleceń, aby lepiej zrozumieć ich działanie i dostępne opcje.

Sprawdź, jak skonfigurować WAS, aby nie pytał o hasło podczas wyłączania, tutaj.


newsblog.pl